[Bug inline-asm/99259] aarch64 inline asm: miscompilation depending on function parameters order
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
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
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).