PATCH [9/n] X32: PR target/49798: Zero-extend symbol address to 64bit if needed

H.J. Lu hjl.tools@gmail.com
Thu Jul 21 22:02:00 GMT 2011


On Thu, Jul 21, 2011 at 2:00 PM, Uros Bizjak <ubizjak@gmail.com> wrote:
> On Thu, Jul 21, 2011 at 10:22 PM, H.J. Lu <hjl.tools@gmail.com> wrote:
>
>>> Expand generates:
>>>
>>> (insn 8 6 9 (set (reg:SI 68)
>>>        (symbol_ref:SI ("xxxx") [flags 0x40]  <var_decl 0x7fccc360b140 xxxx>)) p
>>> r49798.c:12 -1
>>>     (nil))
>>>
>>> (insn 9 8 10 (set (reg:DI 67)
>>>        (zero_extend:DI (reg:SI 68))) pr49798.c:12 -1
>>>     (nil))
>>>
>>> I don't know if this is OK to be transformed to DImode load.
>>>
>>
>> I believe it is valid.
>
> How is this situation handled in other targets? I don't see that any
> of other ptr_mode != Pmode targets define TARGET_ASM_INTEGER in the
> way you propose.
>

Other ptr_mode != Pmode targets don't run into this issue since they
have different instruction sets.  X32 may be the first (only) target for
this problem.


-- 
H.J.



More information about the Gcc-patches mailing list