This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/49798] .quad instead of .long is used for address for x32
- From: "hjl.tools at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 21 Jul 2011 17:16:41 +0000
- Subject: [Bug target/49798] .quad instead of .long is used for address for x32
- Auto-submitted: auto-generated
- References: <bug-49798-4@http.gcc.gnu.org/bugzilla/>
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))