[Bug target/28604] New: gcc.c-torture/execute/20050604-1.c fails on IA64 at -O3
sje at cup dot hp dot com
gcc-bugzilla@gcc.gnu.org
Fri Aug 4 16:16:00 GMT 2006
I couldn't find a report about this test failing but it works at -O2 and lower
and fails at -O3 on IA64 targets. By inlining foo into main I can make the
test fail at -O2. Here is a smaller test case, it prints "36, 40, 44, 0" at
-O1 and lower and prints "18, 20, 44, 0" at -O2 and higher. The -O2 results
are wrong.
typedef float v4sf __attribute__ ((vector_size (16)));
union { v4sf v; float f[4]; } v;
int main (void)
{
unsigned int i;
for (i = 0; i < 2; i++)
v.v += (v4sf) { 18.0, 20.0, 22 };
printf("%g, %g, %g, %d\n", (double) v.f[0], (double) v.f[1], (double) v.f[2],
(double) v.f[3]);
}
--
Summary: gcc.c-torture/execute/20050604-1.c fails on IA64 at -O3
Product: gcc
Version: 4.2.0
Status: UNCONFIRMED
Keywords: wrong-code
Severity: normal
Priority: P3
Component: target
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sje at cup dot hp dot com
GCC target triplet: ia64-*-*
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28604
More information about the Gcc-bugs
mailing list