[Bug inline-asm/99259] aarch64 inline asm: miscompilation depending on function parameters order

2021-02-25 Thread jacob.benoit.1 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99259

--- Comment #3 from Benoit Jacob  ---
Thanks for bringing up the topic of early-clobber. I had to look up some
explanation of that concept, but I found that and now I get what you're saying
- thanks!
https://stackoverflow.com/questions/15819794/when-to-use-earlyclobber-constraint-in-extended-gcc-inline-assembly

[Bug inline-asm/99259] aarch64 inline asm: miscompilation depending on function parameters order

2021-02-24 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99259

Jakub Jelinek  changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek  ---
v0 wasn't used for x and y, but for acc and x.  As you said, when acc is both
input and output, you need +w or "=w" (acc) . "0" (acc), but even if it was
output only and couldn't clash with x or y, you'd need early-clobber - "="
which would make sure that the input operands get different registers from that
output one.

[Bug inline-asm/99259] aarch64 inline asm: miscompilation depending on function parameters order

2021-02-24 Thread jacob.benoit.1 at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99259

Benoit Jacob  changed:

   What|Removed |Added

 Resolution|--- |INVALID
 Status|UNCONFIRMED |RESOLVED

--- Comment #1 from Benoit Jacob  ---
Sorry, as Craig mentioned on the LLVM bug, I had the wrong constraint (=w
instead of +w).