https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122943
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Target| |ilp32
Target Milestone|--- |14.4
Last reconfirmed| |2025-12-01
Summary|[14/15 Regression] Wrong |[14/15/16 Regression] Wrong
|code for switch on int64_t |code for switch on int64_t
|on 32-bit ARM at -O2 |on ilp32 targets at -O2
Ever confirmed|0 |1
Keywords| |wrong-code
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed. Also a bug on x86_64 with -m32.
In GCC 13 switchconv used ` _7 = (long long unsigned int) val_3(D);`
While in GCC 14+ uses ` _7 = (sizetype) val_3(D);`
Which is wrong for ilp32 targets.