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 ();
}

Reply via email to