With assembly .S files or inline, the following syntax quietly produces the
wrong instruction

VLD1.16       {d2[]-d3[]}, [r3]!

assembles to:

vld1.16 {d2-d3}, [r3]!

The work around is to use , not -

VLD1.16       {d2[],d3[]}, [r3]!

The error is subtle, since the code will build and run and the first value
is correct.

clang accepts - and the objdump shows -
It would be better to generate a compile time error, or accept the - syntax.

Godbolt reproducible
https://godbolt.org/z/cbn6jTWT3

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to