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"


On Wed, Apr 22, 2009 at 11:46 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
> 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.
>

We can add "fildq" to 64bit assembler requirement and always generate
`q' for "%z".



-- 
H.J.


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