1 2 3 4 5 6 7 8 9 10 11 12
/* { dg-do compile { target ia32 } } */ /* { dg-options "-O2" } */ unsigned long long bar(); unsigned long long foo() { unsigned long long x = bar(); return (x>>32) | (x<<32); } /*{ dg-final { scan-assembler "xchgl" } } */