clang inline asm

Paul Floyd <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
Hi

I'm trying to port some tests from gcc to clang arm64.

I've found fixes for most of the things (though I haven't checked that 
they still build with gcc).

I'm a bit stuck on one:

TESTINST3("add x21,x22,x23,uxtb #0", NN0, NN1, x21,x22,x23,0);

clang says

armv8-a clang 17.0.1 - cached

     Output of armv8-a clang 17.0.1 (Compiler #1)

<source>:3:8: error: expected 'sxtx' 'uxtx' or 'lsl' with optional 
integer in range [0, 4]
     3 |    asm("add x21,x22,x23,uxtb #0");
       |        ^
<inline asm>:1:18: note: instantiated into assembly here
     1 |         add x21,x22,x23,uxtb #0

https://godbolt.org/z/4j7q7r8M4

Is this a limitation of clang arm64?

The full source is here

https://github.com/paulfloyd/freebsdarm64_valgrind/blob/freebsdarm64_valgrind/none/tests/arm64/integer.c

A+
Paul
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.