This is the mail archive of the
mailing list for the GCC project.
Re: PATCH: PR target/39590: inline asm %z on amd64 says "ll" instead of "q"
H.J. Lu wrote:
FWIW, this change will break existing asm statement with "fild%z".
Only on Solaris -- but you cannot eat both pieces of the cake, all we
can do is document this on the release notes. I don't think the
likelihood of people using fild%z in asm statements is very high, while
the PR reporter's case is at least plausible.
If it is the case, we can just output 'q' for %z. People can use
GNU assembler on Solaris. I also have contacted appropriate
Solaris people about this issue.
I was told that the current Solaris assembler supports "fildq".
Maybe we can use my original patch.
The problem with the original patch was the dependence of movq on fildq
support. I think that the best solution is to split these two, so fildq
detection affects only generation of fildq (see similar filds handling).
My original patch was without fildq/fistpq detection, but it was IMO a
good idea to generate "q" instead of "ll" for DImode access, as "q"
suffix is generated for all other (sane ) mnemonics.
 not with messy movd/movq with MMX operands.