------- 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