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);

Reply via email to