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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unknown                     |13.0
                 CC|rguenther at suse dot de           |rguenth at gcc dot 
gnu.org,
                   |                            |rsandifo at gcc dot gnu.org
           Keywords|                            |ice-on-valid-code

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
I think EXTRACT_LAST_REDUCTION cannot simply do

   /* Instead of doing ~x ? y : z do x ? z : y.  */
   vec_compare = new_temp;
   std::swap (vec_then_clause, vec_else_clause);

So either the fix could be to not support bitop2 == BIT_NOT_EXPR for
EXTRACT_LAST_REDUCTION or we have to perform the BIT_NOT_EXPR as
vector operation.

Richard?

Reply via email to