assemblyclanginline-assemblyneonllvm-4.0

Inline assembly issue with LLVM 4.0


On Xcode 4.4, I have some problems compilling inline assembly on the last LLVM compiler (4.0).

In my inline assembly code, each call to "fldmias" like :

asm volatile(    
"fldmias  %2, {s4-s19}    \n\t"
...
)

give me this error :

Inline assembly issue : Instruction 'fldmia' can not set flags, but 's' suffix specified

The same code works well with LLVM GCC 4.2. Maybe there is some difference between configuration for each compiler but I don't find anything.

Thanks.


Solution

  • As discovered in the comments above, the answer here is to use the UAL equivalent instruction, which in this case is:

    VLDMIA.32 %2, {s4-s19}