This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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 [1]) mnemonics.


[1] not with messy movd/movq with MMX operands.

Uros.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]