1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
/* { dg-do compile { target int128 } } */ /* { dg-options "-O2" } */ __int128 foo(__int128 x, long long y) { __int128 t = (__int128)y << 64; return x ^ t; } __int128 bar(__int128 x, long long y) { __int128 t = (__int128)y << 67; return x ^ t; } /* { dg-final { scan-assembler-not "xorl" } } */ /* { dg-final { scan-assembler-times "xorq" 2 } } */