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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
With the nop_convert added and using bitwise_equal_p :

(simplify
 (mult:c @0 (nop_convert? (bit_ior:c (rshift @1 INTEGER_CST@2) integer_onep)))
 (if (!TYPE_UNSIGNED (TREE_TYPE (@1))
      && wi::to_wide (@2) == element_precision (type) - 1
      && bitwise_equal_p (@0, @1))
  (if (TYPE_UNSIGNED (type))
   (absu @1)
   (abs @1))))

Reply via email to