PATCH: PR target/39590: inline asm %z on amd64 says "ll" instead of "q"

Uros Bizjak ubizjak@gmail.com
Wed Apr 22 18:48:00 GMT 2009


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.



More information about the Gcc-patches mailing list