Clang OTOH produces an error: invalid operand for instruction
I'm familiar with other Neon register operations requiring prefixes, such as mul %0.8b, %0.8b, %0.8b, however there doesn't seem to a prefix to satisfy LDR / workaround the issue.
asm("ldr q0, [%1, %2]" : "=&w"(q0) : "r"(src), "r"(stride_xm)); would compile, but it would not generally work as the target register would not be allocated by the compiler.
The following code seems to compile with GCC
Clang OTOH produces an
error: invalid operand for instruction
I'm familiar with other Neon register operations requiring prefixes, such as
mul %0.8b, %0.8b, %0.8b
, however there doesn't seem to a prefix to satisfy LDR / workaround the issue.asm("ldr q0, [%1, %2]" : "=&w"(q0) : "r"(src), "r"(stride_xm));
would compile, but it would not generally work as the target register would not be allocated by the compiler.