We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
where can I get documentation for the AARCH64 and NEON64 assembly syntax for armclang (internal assembler)
I have some issues when compiling my GNU assembly code with armclang.
For example, the instruction:
MOV v0.2d[0], x4
reports "error: invalid operand for instruction"
Thank you,
Cesare Ferri (cferri@marvell.com)
The syntax of the instruction should be: "MOV v0.d[0], x4"
You normally write "2d" (or similar) to specify the total length of the vector. As you are moving into a specific entry into the vector, it's total length isn't important.
Interestingly, testing with armasm - it did accept "MOV v0.2d[0], x4" but disassembled it back to "MOV v0.d[0], x4". Looking at the ARM ARM description (C7.3.175), it's syntax matches "MOV v0.d[0], x4" - so I don't think armclang is technically wrong to reject it. Although perhaps overally strict.