/* { dg-do compile { target { ! ia32 } } } */ /* { dg-options "-O2" } */ long long f(long long a) { return (a << 63) >> 63; } /* { dg-final { scan-assembler "andl" } } */ /* { dg-final { scan-assembler "negq" } } */