https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111006

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |pinskia at gcc dot 
gnu.org
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2023-08-12
     Ever confirmed|0                           |1

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
We have:
  vect_patt_30.10_67 = VEC_COND_EXPR <mask__16.9_64, { 1, ... }, { 0, ... }>;
  vect_patt_29.11_68 = (vector([4,4]) signed short) vect_patt_30.10_67;
  vect_patt_28.12_69 = -vect_patt_29.11_68;

So:
/* Sink convert to branches, but only if we do fold both and @0 is the thurth
type for the new version too. */
(simplify
 (convert (vec_cond:s @0 @1 @2))
 (if (is_truth_type_for (type, TREE_TYPE (@0)))
  (vec_cond @0 (convert! @1) (convert! @2))))

Reply via email to