https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126221
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2026-07-11
Ever confirmed|0 |1
--- Comment #3 from Drea Pinski <pinskia at gcc dot gnu.org> ---
For the reduced testcase we can optimize it better:
vect__1.10_32 = MEM <vector(4) int> [(int *)&a];
mask__7.11_33 = vect__1.10_32 != { 0, 0, 0, 0 };
mask__8.12_34 = mask__7.11_33 & { -1, 0, 0, 0 };
if (mask__8.12_34 != { 0, 0, 0, 0 })
That should just be
_22 = MEM <int> [(int *)&a]
if (_22 != 0)