https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109109

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
If you suspect that one, that is certainly the simplest, in C that would be
__attribute__((noipa)) void
foo (unsigned long long *a, unsigned int b, unsigned int c)
{
  *a = (((unsigned long long) b) << 32) | c;
}

int
main ()
{
  unsigned long long a;
  foo (&a, 0xcafebabeU, 0xdeadbeefU);
  if (a != 0xcafebabedeadbeefULL)
    __builtin_abort ();
}
and you can see the same difference with say -O2 -m32 -fno-omit-frame-pointer.
But, that one works for both...

Reply via email to