blob: d8c18dd1aaa7f6ea646596f605f8d79cb93e5678 [file] [log] [blame]
/* { dg-do compile { target { riscv64*-*-* } } } */
/* { dg-options "-march=rv64gc -mabi=lp64" } */
/* { dg-skip-if "" { *-*-* } {"-O0" "-Os" "-Og" "-Oz" "-flto" } } */
signed long
foo1 (int i)
{
return i >> 31;
}
/* { dg-final { scan-assembler "sraiw\ta\[0-9\],a\[0-9\],31" } } */
signed char
sub2 (long i)
{
return i >> 24;
}
/* { dg-final { scan-assembler "sraiw\ta\[0-9\],a\[0-9\],24" } } */
signed short
sub3 (long i)
{
return i >> 16;
}
/* { dg-final { scan-assembler "sraiw\ta\[0-9\],a\[0-9\],16" } } */
/* { dg-final { scan-assembler-not "srai\t" } } */
/* { dg-final { scan-assembler-not "srli\t" } } */
/* { dg-final { scan-assembler-not "srliw\t" } } */