Merge aosp-toolchain/gcc/gcc-4_9 changes.
[official-gcc.git] / gcc-4_9 / gcc / testsuite / gcc.target / mips / octeon2-lx-1.c
blob445e3fc2e7ec44ff57bc1ca158ad70af4df3c78b
1 /* { dg-do compile } */
2 /* { dg-options "-march=octeon2 -mgp64" } */
3 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
5 #define TEST(N, R, T) \
6 T fll##N (T j, signed R *b, long long i) { return j + b[i]; } \
7 T gll##N (T j, unsigned R *b, long long i) { return j + b[i]; } \
8 T fi##N (T j, signed R *b, int i) { return j + b[i]; } \
9 T gi##N (T j, unsigned R *b, int i) { return j + b[i]; } \
11 TEST (1, char, int)
12 TEST (2, char, long long)
13 /* { dg-final { scan-assembler-times "\tlbx\t" 4 } } */
14 /* { dg-final { scan-assembler-times "\tlbux\t" 4 } } */
15 TEST (3, short, int)
16 TEST (4, short, long long)
17 /* { dg-final { scan-assembler-times "\tlhx\t" 4 } } */
18 /* { dg-final { scan-assembler-times "\tlhux\t" 4 } } */
19 TEST (5, int, long long)
20 /* { dg-final { scan-assembler-times "\tlwx\t" 2 } } */
21 /* { dg-final { scan-assembler-times "\tlwux\t" 2 } } */