https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121693
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|forgets to clear the |forgets to clear the
|padding bits when |padding bits when
|converting a _BitInt(1) on |converting a _BitInt(1) on
|x86_64 |x86_64 at -O1+ (SRA)
Status|UNCONFIRMED |NEW
Last reconfirmed| |2025-08-27
Ever confirmed|0 |1
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Yep SRA changes:
```
v.c = c.1_2;
_3 = v.i;
_4 = (int) _3;
```
into:
```
c.1_2 = (unsigned char) c.0_1;
v$c_11 = c.1_2;
_3 = VIEW_CONVERT_EXPR<unsigned _BitInt(1)>(v$c_11);
```
Which is wrong for BitInt. It should have used a cast instead of a VCE.