[Bug target/89482] arm aarch32 inline assembly w constraints generate s registers instead of d
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Feb 26 15:21:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89482
ktkachov at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|WAITING |RESOLVED
Resolution|--- |INVALID
--- Comment #4 from ktkachov at gcc dot gnu.org ---
Right. So when dealing with double-precision values you should use the %P
output modifier like so:
double my_double = 1.5;
__asm__ (
"vmov.f64 d0, 1.0;"
"vadd.f64 %P[my_double], %P[my_double], d0;"
: [my_double] "+w" (my_double)
:
: "d0"
);
This will print the right D-form of the VFP register allocated.
The documentation for this could, admittedly be improved
(https://gcc.gnu.org/onlinedocs/gcc/Extended-Asm.html). I believe someone is
working on that currently.
More information about the Gcc-bugs
mailing list