https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123645
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |NEW
Last reconfirmed| |2026-01-17
Resolution|INVALID |---
Ever confirmed|0 |1
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
But doing this:
```
[[gnu::noinline]]
uint64_t backsmith_pure_7(BS_VEC(int32_t, 8) BS_ARG_3)
{
BS_VEC(uint16_t, 32) BS_VAR_2[6];
__builtin_memset(BS_VAR_2,1,sizeof(BS_VAR_2));
if (BS_ARG_3[7]) return 4083;
return BS_VAR_2[0][7];
}
```
causes it to be valid.
`a < 1 ? __builtin_bswap64(a) : 0` should be always 0 but is turning into just
__builtin_bswap64(a).