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.