https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109109
--- Comment #15 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I think I have finally a self-contained reproducer, -m32 -O2:
struct S { char pad[44]; unsigned int id; };
__attribute__((noipa, regparm (2))) unsigned long long
foo (struct S *p, unsigned int q)
{
return (((unsigned long long) p->id) << 32) | q;
}
int
main ()
{
struct S s = { {}, 0xcafebabeU };
if (foo (&s, 0xdeadbeefU) != 0xcafebabedeadbeefULL)
__builtin_abort ();
}
