[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 20:00:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49798
--- Comment #16 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-21 19:59:31 UTC ---
(In reply to comment #9)
> Please compare optimized tree dumps from i686 (a) compilation vs x32 (b):
>
> (b)
>
> foo (union U u)
> {
> double D.2709;
> _Bool D.2704;
> double D.2702;
> int D.2701;
>
> <bb 2>:
> D.2709_8 = VIEW_CONVERT_EXPR<double>(&xxxx);
> D.2702_1 = u.d;
> D.2704_3 = D.2702_1 == D.2709_8;
> D.2701_4 = (int) D.2704_3;
> return D.2701_4;
>
> }
>
>
I didn't see it with -mx32. I got
1. -m64 -O
foo (union U u)
{
double D.2709;
_Bool D.2704;
double D.2702;
int D.2701;
# BLOCK 2 freq:10000
# PRED: ENTRY [100.0%] (fallthru,exec)
D.2709_8 = VIEW_CONVERT_EXPR<double>(&xxxx);
D.2702_1 = u.d;
D.2704_3 = D.2702_1 == D.2709_8;
D.2701_4 = (int) D.2704_3;
return D.2701_4;
# SUCC: EXIT [100.0%]
}
2. -mx32 -O:
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%]
}
Did I miss anything?
More information about the Gcc-bugs
mailing list