https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123524
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(insn 82946 82944 82945 (set (reg:SI 99282)
(const_int 131074 [0x20002])) "ipret-1.inc":1806:3 discrim 1 -1
(nil))
(insn 82945 82946 82947 (set (reg:V4SI 99281)
(vec_duplicate:V4SI (reg:SI 99282))) "ipret-1.inc":1806:3 discrim 1
9355 {*vec_dupv4si}
(nil))
(insn 82947 82945 82948 (set (reg:V8HI 99280)
(subreg:V8HI (reg:V4SI 99281) 0)) "ipret-1.inc":1806:3 discrim 1 -1
(nil))
(insn 82948 82947 82949 (set (reg:V8HI 99279)
(reg:V8HI 99280)) "ipret-1.inc":1806:3 discrim 1 -1
(expr_list:REG_EQUAL (const_vector:V8HI [
(const_int 2 [0x2]) repeated x8
])
(nil)))
Wihch comes from:
vect__63576.15000_96616 = vect__32948.14998_96624 & { 2, 2, 2, 2, 2, 2, 2, 2
};
vect__63576.15000_96617 = vect__32948.14999_96615 & { 2, 2, 2, 2, 2, 2, 2, 2
};
So it is spilling to the stack.