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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
            Summary|[17 Regression] ICE: tree   |[17 Regression] ICE: tree
                   |check: expected real_cst,   |check: expected real_cst,
                   |have vector_cst in          |have vector_cst in
                   |generic_simplify_MINUS_EXPR |generic_simplify_MINUS_EXPR
                   |, at                        |, at
                   |generic-match-6.cc:7470     |generic-match-6.cc:7470
                   |with -ffinite-math-only     |with -ffinite-math-only
                   |                            |since r17-3158
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2026-08-10
                 CC|                            |roger at nextmovesoftware dot 
com
   Target Milestone|---                         |17.0

--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
r17-3158-g2fb55e1d061ab0 .


REAL_VALUE_MINUS_ZERO (TREE_REAL_CST (@0))
is wrong for vectors.
Something much more complex is needed.

real_zerop will return true for {0.0,-0.0} so we need to check for uniform
vector constant first (if not then don't do it); otherwise if the uniform value
is -0.0 then handle it.

Reply via email to