Testcase:
#undef __vector
#define __vector __attribute__((vector_size(16) ))
typedef __vector signed char qword;
typedef __vector unsigned int VU32;
extern short g[192 +16];
void f(qword);
void f1 (unsigned ctr)
{
VU32 pin;
pin = (VU32){(unsigned int)&g[16]};
do {
f((qword)pin);
ctr--;
}
while(ctr);
}
---- CUT ----
The ICE at -O1 and above:
t.c: In function ‘calc_tentexps_opm’:
t.c:13: error: invalid reference prefix
{(unsigned int) &tentwork[16]}
--
Summary: ICE with some constant vectors
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pinskia at gcc dot gnu dot org
GCC target triplet: spu-elf, powerpc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34856