This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/53233] ICE in extract_insn, at recog.c:2103
- From: "gseanmcg at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 04 May 2012 19:00:05 +0000
- Subject: [Bug target/53233] ICE in extract_insn, at recog.c:2103
- Auto-submitted: auto-generated
- References: <bug-53233-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53233
--- Comment #1 from Sean McGovern <gseanmcg at gmail dot com> 2012-05-04 19:00:05 UTC ---
The code in question (with line numbers):
93 static void vector_fmul_window_altivec(float *dst, const float *src0,
const float *src1, const float *win, int len)
94 {
95 vector float zero, t0, t1, s0, s1, wi, wj;
96 const vector unsigned char reverse = vcprm(3,2,1,0);
97 int i,j;
98
99 dst += len;
100 win += len;
101 src0+= len;
102
103 zero = (vector float)vec_splat_u32(0);
104
105 for(i=-len*4, j=len*4-16; i<0; i+=16, j-=16) {
106 s0 = vec_ld(i, src0);
107 s1 = vec_ld(j, src1);
108 wi = vec_ld(i, win);
109 wj = vec_ld(j, win);
110
111 s1 = vec_perm(s1, s1, reverse);
112 wj = vec_perm(wj, wj, reverse);
113
114 t0 = vec_madd(s0, wj, zero);
115 t0 = vec_nmsub(s1, wi, t0);
116 t1 = vec_madd(s0, wi, zero);
117 t1 = vec_madd(s1, wj, t1);
118 t1 = vec_perm(t1, t1, reverse);
119
120 vec_st(t0, i, dst);
121 vec_st(t1, j, dst);
122 }
123 }