https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110986
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- SVE regressions: One part: vect__20.13_45 = .VCOND (vect__5.10_39, { 0, ... }, { -1, ... }, { 0, ... }, 114); vect__21.14_46 = vect_t_12.7_36 ^ vect__20.13_45; Should be changed into: vect_iftmp.12_52 = ~vect_t_12.8_48; vect_iftmp.14_55 = .VCOND (vect__5.11_51, { 0, ... }, vect_iftmp.12_52, vect_t_12.8_48, 114); 2nd part For another part: vect_patt_10.15_74 = .VCOND (vect__4.10_66, { 0, ... }, { 1, ... }, { 0, ... }, 114); vect_patt_42.16_75 = (vector([8,8]) signed char) vect_patt_10.15_74; vect__40.17_76 = -vect_patt_42.16_75; vect__41.18_77 = vect_pretmp_25.13_69 ^ vect__40.17_76; Should be changed into: vect_patt_10.15_74 = .VCOND (vect__4.10_66, { 0, ... }, { -1, ... }, { 0, ... }, 114); vect__40.17_76 = (vector([8,8]) signed char) vect_patt_10.15_74; vect__41.18_77 = vect_pretmp_25.13_69 ^ vect__40.17_76; Then into (like the first part): t_52 = ~vect_pretmp_25.13_69 ; vect__41.18_77 = .VCOND (vect__4.10_66, { 0, ... }, t_52 , vect_pretmp_25.13_69, 114);