[Bug target/31552] -fcall-used-vXX turns into ICE
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sat Apr 14 23:56:00 GMT 2007
------- Comment #3 from pinskia at gcc dot gnu dot org 2007-04-15 00:56 -------
Confirmed, reduced testcase:
static const __attribute__((altivec(vector__))) unsigned char array[16];
static __attribute__((altivec(vector__))) unsigned char
f1(__attribute__((altivec(vector__))) unsigned char in)
{
__attribute__((altivec(vector__))) unsigned char v1, v2, v3, v4, v5, v6, v7,
v8;
__attribute__((altivec(vector__))) unsigned char v0, v9, v10, v12, v13, v14,
v15;
__attribute__((altivec(vector__))) unsigned char v16, v17, v20, v18, v19;
v3 = __builtin_vec_perm(array[4], array[5], in);
v4 = __builtin_vec_perm(array[6], array[7], in);
v5 = __builtin_vec_perm(array[8], array[9], in);
v6 = __builtin_vec_perm(array[10], array[11], in);
v7 = __builtin_vec_perm(array[12], array[13], in);
v8 = __builtin_vec_perm(array[14], array[15], in);
v13 = __builtin_vec_sel(v3, v4, v0);
v14 = __builtin_vec_sel(v5, v6, v0);
v15 = __builtin_vec_sel(v7, v8, v0);
v19 = __builtin_vec_vslb(in, ((__attribute__((altivec(vector__))) unsigned
char) __builtin_altivec_vspltisb (((1)))));
v9 = (__attribute__((altivec(vector__))) unsigned
char)__builtin_vec_vcmpgtub(v19, array[2]);
v16 = __builtin_vec_sel(v12, v13, v9);
v17 = __builtin_vec_sel(v14, v15, v9);
v20 = __builtin_vec_sel(v16, v17, v10);
return v20;
}
int f2(__attribute__((altivec(vector__))) unsigned char av[15])
{
unsigned __attribute__((altivec(vector__))) char tmp;
unsigned int i;
for (i=0; i< 20; i++)
{
tmp = f1(tmp);
av[i] = tmp;
}
}
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
GCC build triplet|powerpc-unknown-linux-gnu |
GCC host triplet|powerpc-unknown-linux-gnu |
GCC target triplet|powerpc-unknown-linux-gnu |powerpc*-linux-gnu
Keywords| |ice-on-valid-code
Known to fail| |4.3.0
Last reconfirmed|0000-00-00 00:00:00 |2007-04-15 00:56:25
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31552
More information about the Gcc-bugs
mailing list