[Bug rtl-optimization/47866] New: gcc.dg/torture/vector-2.c fails on IA64
sje at cup dot hp.com
gcc-bugzilla@gcc.gnu.org
Wed Feb 23 23:29:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47866
Summary: gcc.dg/torture/vector-2.c fails on IA64
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: sje@cup.hp.com
gcc.dg/torture/vector-2.c is failing on Linux and HP-UX IA64 platforms since
r165240 which is Richard Henderson's fix for PR rtl-opt/33721. This may be a
target specific bug but the change that caused the failure to show up is not
target specific.
gcc.dg/torture/vector-2.c fails at -O2, but passes at -O0 or -O1. With the
latest sources I can use this cutdown test case to see the difference:
#define vector __attribute__((vector_size(16) ))
vector int f0(vector int t, int a)
{
((int*)&t)[0] = a;
return t;
}
vector int f1(vector int t, int a)
{
((int*)&t)[1] = a;
return t;
}
int main(void)
{
vector int a = {0, 0, 0, 0};
vector int a0;
a0 = f0(a, 1);
printf("%d %d %d %d\n", a0[0], a0[1], a0[2], a0[3]);
a0 = f1(a, 1);
printf("%d %d %d %d\n", a0[0], a0[1], a0[2], a0[3]);
return 0;
}
At -O0 or -O1 it prints:
1 0 0 0
0 1 0 0
At -O2 it prints:
1 0 0 0
0 0 0 0
More information about the Gcc-bugs
mailing list