[Bug target/49798] .quad instead of .long is used for address for x32
hjl.tools at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Jul 21 17:16:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49798
--- Comment #13 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-21 17:16:35 UTC ---
With -mx32 -O, I got
foo (union U u)
{
union U v;
_Bool D.2704;
double D.2703;
double D.2702;
int D.2701;
# BLOCK 2 freq:10000
# PRED: ENTRY [100.0%] (fallthru,exec)
v = {};
v.m = &xxxx;
D.2702_1 = u.d;
D.2703_2 = v.d;
D.2704_3 = D.2702_1 == D.2703_2;
D.2701_4 = (int) D.2704_3;
return D.2701_4;
# SUCC: EXIT [100.0%]
}
In x.i.153r.dfinit,
(insn 8 6 9 2 (set (reg:SI 68)
(symbol_ref:SI ("xxxx") [flags 0x40] <var_decl 0x7fd45d36e140 xxxx>))
x.i:12 64 {*movsi_internal}
(nil))
(insn 9 8 10 2 (set (reg:DI 67)
(zero_extend:DI (reg:SI 68))) x.i:12 112 {*zero_extendsidi2_rex64}
(nil))
x.i.154r.cse1 has
(insn 8 6 9 2 (set (reg/f:SI 68)
(symbol_ref:SI ("xxxx") [flags 0x40] <var_decl 0x7fd45d36e140 xxxx>))
x.i:12 64 {*movsi_internal}
(nil))
(insn 9 8 10 2 (set (reg/f:DI 67)
(symbol_ref:DI ("xxxx") [flags 0x40] <var_decl 0x7fd45d36e140 xxxx>))
x.i:12 62 {*movdi_internal_rex64}
(nil))
More information about the Gcc-bugs
mailing list