Hello,
I am using the Free Entry Toolchain and want to use some inline assembly.
The compiler tells me. "Opcode/operand mismatch: madd.q %d15,%d15,%d2,%d3"
instead of %d15,%d15 i guess there should be an extended register %e2 for example.
if i try to compile it (whith madd.u because with madd.q this also does not compile) like:
it compiles, but this does not work, as I want the result of the mac assigned to out and also I want to use madd.q...
how can I accomplish this?
I am using the Free Entry Toolchain and want to use some inline assembly.
Code:
static void maddq(int64_t *out, uint32_t a, uint32_t b){
__asm__ ("madd.q %0,%0,%1,%2" : "+d" (*out) : "d" (a), "d" (b) );
}
instead of %d15,%d15 i guess there should be an extended register %e2 for example.
if i try to compile it (whith madd.u because with madd.q this also does not compile) like:
Code:
static void maddq(int64_t *out, uint32_t a, uint32_t b){
__asm__ ("madd.u %%e2,%%e2,%1,%2" : "+d" (*out) : "d" (a), "d" (b) );
}
how can I accomplish this?