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/39911: The 'z' suffix doesn't work with 16bit integer insn


> 1. It is still the part of gcc source. It isn't the user documentation.
> Given some out-of-date comments and actual usages in gcc source,
> I will take actual usages over some out-of-date comments.
> 2. %z is fully implemented and used for x87 insns.

I don't think most users would look at the actual %z implementation.
Those that look at the usages, likely did not know the story about
fildll and guessed that using %z for x87 insns only is a quirk of GCC's
machine description.

> 3. "movq" isn't mentioned.
> 4. "movw/movq" never worked on memory operand.
> 
> What do breaking %z on x87 insns and fixing %z on integer
> insns in gcc 4.5 give to gcc users?

Since no one is apparently using it %z on x87 insns, the advantage is
that some users will have a fixed bug rather than one closed as invalid.
Their 32-bit code which worked under GCC < 4.4, in addition, will work
without any modification under GCC 4.5 too (and for both 32-bit and 64-bit).

>>> I don't think you are telling me that it is OK to change those modifiers
>>> used by asm statement, except for ia64 `%Pn'.
>> I do think that operand modifiers are a feature that, right now, can be
>> considered "almost" internal to gcc.
> 
> What do you tell to those gcc users who have been using %z
> on x87 insns since as back as gcc 2.95.2.1?

Are there any?

I'm not going to argue anymore.  I think we all expressed our point and
the maintainers will make up their mind.

Paolo


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