]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.target/riscv/zba-shNadd-03.c
RISC-V: Implement instruction patterns for ZBA extension.
[thirdparty/gcc.git] / gcc / testsuite / gcc.target / riscv / zba-shNadd-03.c
1 /* { dg-do compile } */
2 /* { dg-options "-march=rv64gc_zba -mabi=lp64 -O2" } */
3
4 /* RV64 only. */
5 int foos(short *x, int n){
6 return x[n];
7 }
8 int fooi(int *x, int n){
9 return x[n];
10 }
11 int fooll(long long *x, int n){
12 return x[n];
13 }
14
15 /* RV64 only. */
16 int ufoos(short *x, unsigned int n){
17 return x[n];
18 }
19 int ufooi(int *x, unsigned int n){
20 return x[n];
21 }
22 int ufooll(long long *x, unsigned int n){
23 return x[n];
24 }
25
26 /* { dg-final { scan-assembler-times "sh1add\t" 1 } } */
27 /* { dg-final { scan-assembler-times "sh2add\t" 1 } } */
28 /* { dg-final { scan-assembler-times "sh3add\t" 1 } } */
29 /* { dg-final { scan-assembler-times "sh3add.uw" 1 } } */
30 /* { dg-final { scan-assembler-times "sh3add.uw" 1 } } */
31 /* { dg-final { scan-assembler-times "sh3add.uw" 1 } } */