http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52407
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Status|UNCONFIRMED |NEW Last reconfirmed| |2012-02-28 CC| |jakub at gcc dot gnu.org, | |rguenth at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #2 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-02-28 10:39:53 UTC --- It looks like a bug in the way we expand the vector init: ;; MEM[(int64_t *)&w + 8B] = 2; (insn 39 38 40 (set (reg:DI 102) (const_int 2 [0x2])) t.c:19 -1 (nil)) (insn 40 39 41 (set (reg:DI 103) (vec_select:DI (reg/v:V2DI 98 [ w ]) (parallel [ (const_int 0 [0]) ]))) t.c:19 -1 (nil)) (insn 41 40 0 (set (reg/v:V2DI 98 [ w ]) (vec_concat:V2DI (reg:DI 102) (reg:DI 103))) t.c:19 -1 (nil)) ^^^ should be vec_concat 103 102 ;; MEM[(int64_t *)&w] = 2; (insn 42 41 43 (set (reg:DI 104) (const_int 2 [0x2])) t.c:19 -1 (nil)) (insn 43 42 44 (set (reg:DI 105) (vec_select:DI (reg/v:V2DI 98 [ w ]) (parallel [ (const_int 1 [0x1]) ]))) t.c:19 -1 (nil)) (insn 44 43 0 (set (reg/v:V2DI 98 [ w ]) (vec_concat:V2DI (reg:DI 105) (reg:DI 104))) t.c:19 -1 (nil)) ^^^ should be vec_concat 104 105 no?