https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100757
--- Comment #8 from Christophe Lyon <clyon at gcc dot gnu.org> --- At expand time, we have: (insn 33 32 34 6 (set (reg:V4SI 144) (const_vector:V4SI [ (const_int 0 [0]) repeated x4 ])) "bz-100757.c":5:12 -1 (nil)) (insn 34 33 35 6 (set (reg:HI 143) (ne:HI (reg:V4SI 126 [ vect_cst__32 ]) (reg:V4SI 144))) "bz-100757.c":5:12 -1 (nil)) (insn 35 34 36 6 (set (reg:V4SI 145) (const_vector:V4SI [ (const_int 0 [0]) repeated x4 ])) "bz-100757.c":5:12 -1 (nil)) (insn 36 35 37 6 (set (reg:V4SI 146) (const_vector:V4SI [ (const_int 1 [0x1]) repeated x4 ])) "bz-100757.c":5:12 -1 (nil)) (insn 37 36 38 6 (set (reg:V4SI 142 [ mask__1.8 ]) (unspec:V4SI [ (reg:V4SI 146) (reg:V4SI 145) (reg:HI 143) ] VPSELQ_S)) "bz-100757.c":5:12 -1 (nil)) (insn 38 37 39 6 (set (reg:V4SI 147 [ mask__2.9 ]) (ior:V4SI (reg:V4SI 142 [ mask__1.8 ]) (reg:V4SI 130 [ vect_cst__36 ]))) "bz-100757.c":5:14 -1 (nil)) (insn 39 38 40 6 (set (reg:V4SI 148) (const_vector:V4SI [ (const_int 1 [0x1]) repeated x4 ])) -1 (nil)) (insn 40 39 41 6 (set (reg:V4SI 149) (const_vector:V4SI [ (const_int 0 [0]) repeated x4 ])) -1 (nil)) (insn 41 40 42 6 (set (reg:V4SI 132 [ vect_patt_4.10 ]) (unspec:V4SI [ (reg:V4SI 148) (reg:V4SI 149) (reg:V4SI 147 [ mask__2.9 ]) ] VPSELQ_S)) -1 (nil)) The problem is with the second VPSELQ_S, where operand 3 is not of HI type.