https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109903

--- Comment #4 from Dimitri Gorokhovik <dimitri.gorokhovik at free dot fr> ---
Hi Andrew,

I'd agree more with "WONTFIX" here ;-) We are not looking for solution. We want
to spare the same hassle to others.

This asm doesn't write to memory, it doesn't even read any -- 'a' is passed
over in the registers with aarch64 and x64_86.

It is also very hard to see the need for early clobber here ... how comes the
version with return value doesn't need it while the other does? The asm
performs regular register loads. Certainly we are not marking all register
loads with early clobbers are we?

WE ended up moving 'a' to output clause, it feels barely more contorted than
the early-clobber method.

> GCC does not look at the inline-asm template except while outputting the 
> assembly.
Yep, reason why I let it emit ARMv8 insns for the x64_86 target ;-)

Reply via email to