Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Mar 2024 13:52:42 +0100
From:      Paul Floyd <pjfloyd@wanadoo.fr>
To:        freebsd-arm@FreeBSD.org
Subject:   clang inline asm
Message-ID:  <c46f534a-7fc6-4660-8711-1cf683e9dd14@wanadoo.fr>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c46f534a-7fc6-4660-8711-1cf683e9dd14>