PATCH: PR target/39911: The 'z' suffix doesn't work with 16bit integer insn

Uros Bizjak ubizjak@gmail.com
Mon Apr 27 21:12:00 GMT 2009


H.J. Lu wrote:
> On Mon, Apr 27, 2009 at 1:26 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
>   
>> H.J. Lu wrote:
>>
>>     
>>> I checked the history on i386.c. %z works on x87 insns as far as back
>>> to the initial version on gcc.gnu.org in 1992 and %z never worked on
>>> memory operand with integer insns. I don't believe we should break
>>> %z now. We should use %Z to support integer insns.
>>>
>>>       
>> The problem is, that users want "%z" due to the comment in i386.md. Whether
>> gcc uses "%Z" or "%z" internally does not matter at all. I propose that we
>> go ahead with my patch to see if/what breaks. It is just a matter of
>> changing the letter throughout a couple of source files to switch the
>> modifiers.
>>
>>     
>
> Since we won't change 4.3/4.4 branches, we should update comments
> on 4.3/4.4 branches to reflect how 'z' is actually used in gcc. It should have
> zero impact.. OK for 4.3/4.4?
>   

I suggest that we leave this mess on 4.3 and 4.4 branches as is. x87 
insns with register operands don't get suffixes, and suffixes for FP and 
integer memory operands of the same size are different (i.e. "s" and "l" 
for 32bit and 64bit FP ops vs. "s", "l" and "ll" for 16bit, 32bit and 
64bit integer ops). Having "b", "w", "l" and "q" suffixes for integer 
insns doesn't fit into this at all.

Uros.
> Thanks.
>
>   



More information about the Gcc-patches mailing list