https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124271
--- Comment #2 from Hongtao Liu <liuhongt at gcc dot gnu.org> ---
I think middle-end should simplify
vect__15.12_21 = vect__4.11_22 & { 4294967295, 4294967295, 4294967295,
4294967295 };
vect__12.8_25 = vect__6.7_26 & { 4294967295, 4294967295, 4294967295,
4294967295 };
vect__16.13_18 = vect__15.12_21 * vect__12.8_25;
to
op1 = VIEW_CONVERT_EXPR <V8USI> vect__15.12_21;
op2 = VIEW_CONVERT_EXPR <V8USI> vect__12.8_25;
vect__16.13_18 = VEC_WIDEN_MULT_EVEN(op1, op2);