Kevin Diggs wrote:
Hi,
When doing inline assembly, is there a way to get the compiler to
assign "extra" (one not specified for inputs and outputs) registers? In
the following:
__asm__ __volatile__ (
"addi 5,%1,-1\n"
"andc 5,%1,5\n"
"cntlzw 5,5\n"
"subfic %0,5,31":
"=r"(j):
"r"(i)
);
Can I get the compiler to choose a register for r5?
Yes, like this:
int tmp;
asm volatile("addi %1, %2, -1;"
"andc %1, %2, %1;"
"cntlzw %1, %1;"
"subfic %0, %1, 31" : "=r" (j), "=&r" (tmp) : "r" (i));
However, it'd be better to let the compiler do more, by just using the
existing cntlzw() function.
-Scott
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-dev