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.