I am trying to use ARM inline assembly in a C code. I am compiling using aarch64-linux-android-clang version 3.8.243773, the 64 bit llvm toolchain from Android NDK R11.
The inline assembly code is as follows:
__asm__("ssat %w0, #24, %w1\n\t" : "=r" (val) : "r" (val) : );
The syntax of inline assembly code is correct and it compiles the syntax code as such but the assembler spits out a error saying
error: unrecognized instruction mnemonic ssat
What is the problem here? Doesn't llvm from the ndk toolchain support this assembly instruction?
How can I fix or workaround this issue?
thanks.
Hello Ash,
When i see the ARM DUI 0802A, which is armasm reference guide for all general instructions available for A64, and there is strangely no Saturation instruction, there is a saturation instruction for Advanced SIMD Vector (Neon) but thats not what i am looking to do?
Any pointers, workarounds?