[Bug target/49798] .quad instead of .long is used for address for x32

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jul 21 16:37:00 GMT 2011


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49798

--- Comment #11 from Uros Bizjak <ubizjak at gmail dot com> 2011-07-21 16:36:56 UTC ---
(In reply to comment #10)

> > Does this looks OK?
> 
> We can't compare x32 directly with ia32 since ia32 doesn't support
> movdi_internal_rex64.  We want to use 64bit instructions for x32.

The problem is not in compare, but in

(insn 6 5 11 (set (reg/f:DI 66)
        (symbol_ref:DI ("xxxx") [flags 0x40]  <var_decl 0x7f71c5925140 xxxx>))
pr49798.c:12 -1
     (nil))

Expander should choose SImode register here and SImode symbol reference.



More information about the Gcc-bugs mailing list