blob: 8352274088f078198a6dd4dc21870774b4a55ed0 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-march=rv64gc_zba -mabi=lp64" } */
/* { dg-skip-if "" { *-*-* } { "-O0" } } */
/* RV64 only. */
int foos(short *x, int n){
return x[n];
}
int fooi(int *x, int n){
return x[n];
}
int fooll(long long *x, int n){
return x[n];
}
/* RV64 only. */
int ufoos(short *x, unsigned int n){
return x[n];
}
int ufooi(int *x, unsigned int n){
return x[n];
}
int ufooll(long long *x, unsigned int n){
return x[n];
}
/* { dg-final { scan-assembler-times "sh1add\t" 1 } } */
/* { dg-final { scan-assembler-times "sh2add\t" 1 } } */
/* { dg-final { scan-assembler-times "sh3add\t" 1 } } */
/* { dg-final { scan-assembler-times "sh3add.uw" 1 } } */
/* { dg-final { scan-assembler-times "sh3add.uw" 1 } } */
/* { dg-final { scan-assembler-times "sh3add.uw" 1 } } */