https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121937
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Trying 154 -> 158: 154: r171:V2HI={(unspec[const_vector,0x2,0,0,0,vl:SI,vtype:SI] 93)?const_vector:const_vector} REG_DEAD r248:V2BI REG_EQUAL {(unspec[const_vector,0x2,0,0,0,vl:SI,vtype:SI] 93)?const_vector:const_vector} 158: r254:HI=unspec[vec_select(r171:V2HI,parallel),vtype:SI] 93 Looks like the crash is while simplifying this: (insn 158 157 159 10 (set (reg:HI 254 [ _78 ]) (unspec:HI [ (vec_select:HI (if_then_else:V2HI (unspec:V2BI [ (const_vector:V2BI [ (const_int 0 [0]) (const_int 1 [0x1]) ]) (const_int 2 [0x2]) (const_int 0 [0]) repeated x3 (reg:SI 66 vl) (reg:SI 67 vtype) ] UNSPEC_VPREDICATE) (const_vector:V2HI [ (const_int 0 [0]) (const_int -1 [0xffffffffffffffff]) ]) (const_vector:V2HI [ (const_int -1 [0xffffffffffffffff]) (const_int 0 [0]) ])) (parallel [ (const_int 0 [0]) ])) (reg:SI 67 vtype) ] UNSPEC_VPREDICATE)) "/app/example.c":58:17 20621 {*pred_extract_firstv2hi} (nil))