https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115487

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
It looks like it's STV2 doing

    28: r131:V4SI=[r102:SI]
    30: r132:V4SI=[r102:SI+0x10]
    33: r133:DI=vec_select(r131:V4SI#0,parallel)
-   34: [r103:SI]=r133:DI
+   92: r143:DI#0=vec_merge(vec_duplicate(r133:DI#0),const_vector,0x1)
+   93: r144:DI#0=vec_merge(vec_duplicate(r133:DI#4),const_vector,0x1)
+   94: r143:DI#0=vec_select(vec_concat(r143:DI#0,r144:DI#0),parallel)
+   89: r141:DI#0=vec_merge(vec_duplicate(r133:DI#0),const_vector,0x1)
+   90: r142:DI#0=vec_merge(vec_duplicate(r133:DI#4),const_vector,0x1)
+   91: r141:DI#0=vec_select(vec_concat(r141:DI#0,r142:DI#0),parallel)
+   34: [r103:SI]=r141:DI
    36: [r103:SI+0x8]=vec_select(r131:V4SI#0,parallel)
       REG_DEAD r131:V4SI
-   38: [r103:SI+0x10]=r133:DI
-      REG_DEAD r133:DI
+   38: [r103:SI+0x10]=r143:DI
+      REG_DEAD r143:DI

for some weird reason and that later causes spilling.

I'll also note that STV2 doesn't seem to recog any of the created insns.

Reply via email to