1 /* { dg-do compile { target { riscv64*-*-* } } } */
2 /* { dg-options "-O2 -march=rv64i_zba -mabi=lp64" } */
3
4 unsigned long
5 foo2 (unsigned long a)
6 {
7 return (unsigned long)(unsigned int) a << 6;
8 }
9
10 /* { dg-final { scan-assembler-times "slli.uw\t" 1 } } */
11 /* { dg-final { scan-assembler-not "slli\t" } } */
12 /* { dg-final { scan-assembler-not "srli\t" } } */
13 /* { dg-final { scan-assembler-not "\tli\t" } } */
14 /* { dg-final { scan-assembler-not "addi\t" } } */
15 /* { dg-final { scan-assembler-not "and\t" } } */