[Bug target/44900] [4.5 Regression] The variable of SSE will be broken
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Jul 11 11:59:00 GMT 2010
------- Comment #5 from ubizjak at gmail dot com 2010-07-11 11:59 -------
Expand expands with uninitialized register r68:
41 [r54:SI-0x20]=r73:V4SF
42 [r54:SI-0x10]=r72:V4SF
> 43 [r56:SI+0x3c]=float_extend(r68:SF)
44 [r56:SI+0x34]=float_extend([r54:SI-0x8])
45 [r56:SI+0x2c]=float_extend([r54:SI-0xc])
46 [r56:SI+0x24]=float_extend([r54:SI-0x10])
47 [r56:SI+0x1c]=float_extend([r54:SI-0x14])
48 [r56:SI+0x14]=float_extend([r54:SI-0x18])
49 [r56:SI+0xc]=float_extend([r54:SI-0x1c])
50 [r56:SI+0x4]=float_extend([r54:SI-0x20])
51 [r56:SI]=`*.LC12'
52 call <...>
.optimized tree dump looks suspicious, load from uninitialized var:
SR.14_103 = __builtin_ia32_loadups (&data[6]);
SR.13_104 = __builtin_ia32_loadups (&data[2]);
a._v1.D.1895.v = SR.13_104;
a._v2.D.1895.v = SR.14_103;
a$_v2$D1895$e$0_98 = a._v2.D.1895.e[0];
a$_v2$D1895$e$1_110 = a._v2.D.1895.e[1];
a$_v2$D1895$e$2_105 = a._v2.D.1895.e[2];
v1$D1895$e$0_99 = a._v1.D.1895.e[0];
v1$D1895$e$1_40 = a._v1.D.1895.e[1];
v1$D1895$e$2_95 = a._v1.D.1895.e[2];
v1$D1895$e$3_79 = a._v1.D.1895.e[3];
D.2043_5 = (double) a$_v2$D1895$e$3_82(D); <--- here
D.2045_7 = (double) a$_v2$D1895$e$2_105;
D.2047_9 = (double) a$_v2$D1895$e$1_110;
D.2049_11 = (double) a$_v2$D1895$e$0_98;
D.2051_13 = (double) v1$D1895$e$3_79;
D.2053_15 = (double) v1$D1895$e$2_95;
D.2055_17 = (double) v1$D1895$e$1_40;
D.2057_19 = (double) v1$D1895$e$0_99;
Needs tree expert. CC'd.
--
ubizjak at gmail dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44900
More information about the Gcc-bugs
mailing list