https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112668
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- No loop is needed: /* PR middle-end/112668 */ /* { dg-do compile { target bitint } } */ /* { dg-options "-std=c23 -fnon-call-exceptions" } */ #if __BITINT_MAXWIDTH__ >= 495 struct T495 { _BitInt(495) a : 2; unsigned _BitInt(495) b : 471; _BitInt(495) c : 2; }; extern void foo (struct T495 *r495); unsigned _BitInt(495) bar (int i) { struct T495 r495[12]; foo (r495); return r495[i].b; } #endif