1 /* { dg-do compile { target { riscv64*-*-* } } } */
2 /* { dg-options "-march=rv64gc -mabi=lp64" } */
3 /* { dg-skip-if "" { *-*-* } { "-O0" } } */
6 foo1 (unsigned x
, unsigned y
, unsigned z
)
12 foo2 (int x
, int y
, int z
)
18 foo3 (unsigned x
, unsigned y
, unsigned z
)
24 foo4 (int x
, int y
, int z
)
30 foo5 (unsigned x
, unsigned y
)
42 foo7 (unsigned x
, unsigned y
)
60 foo10 (unsigned x
, unsigned y
)
72 /* { dg-final { scan-assembler-times "subw" 2 } } */
73 /* { dg-final { scan-assembler-times "addw" 1 } } */
74 /* { dg-final { scan-assembler-times "addiw" 1 } } */
75 /* { dg-final { scan-assembler-times "mulw" 2 } } */
76 /* { dg-final { scan-assembler-times "divw" 1 } } */
77 /* { dg-final { scan-assembler-times "divuw" 1 } } */
78 /* { dg-final { scan-assembler-times "remw" 1 } } */
79 /* { dg-final { scan-assembler-times "remuw" 1 } } */
80 /* { dg-final { scan-assembler-times "negw" 1 } } */
81 /* { dg-final { scan-assembler-not "sext.w" } } */