1 /* { dg-do compile } */
2 /* { dg-options "-march=rv32gc_zicbom -mabi=ilp32" } */
3
4 int var;
5
6 void foo1()
7 {
8 __builtin_riscv_zicbom_cbo_clean(0);
9 __builtin_riscv_zicbom_cbo_clean(&var);
10 __builtin_riscv_zicbom_cbo_clean((void*)0x111);
11 }
12
13 void foo2()
14 {
15 __builtin_riscv_zicbom_cbo_flush(0);
16 __builtin_riscv_zicbom_cbo_flush(&var);
17 __builtin_riscv_zicbom_cbo_flush((void*)0x111);
18 }
19
20 void foo3()
21 {
22 __builtin_riscv_zicbom_cbo_inval(0);
23 __builtin_riscv_zicbom_cbo_inval(&var);
24 __builtin_riscv_zicbom_cbo_inval((void*)0x111);
25 }
26
27 /* { dg-final { scan-assembler-times "cbo.clean" 3 } } */
28 /* { dg-final { scan-assembler-times "cbo.flush" 3 } } */
29 /* { dg-final { scan-assembler-times "cbo.inval" 3 } } */