1 /* { dg-options "-march=octeon -mgp64" } */
2 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
3 /* { dg-final { scan-assembler-times "\texts\t" 5 } } */
4 /* { dg-final { scan-assembler-not "\t(dsll|dsra)\t" } } */
5 /* { dg-final { scan-assembler-not "\tsll\t" } } */
6
7 #define TEST_CHAR(T, N) \
8 NOMIPS16 T \
9 f##N (long long d, T *a, T *r) \
10 { \
11 T b = (signed char) d; *r = b + *a; \
12 }
13 #define TEST_SHORT(T, N) \
14 NOMIPS16 T \
15 g##N (long long d, T *a, T *r) \
16 { \
17 T b = (short) d; *r = b + *a; \
18 }
19 #define TEST(T, N) TEST_CHAR (T, N) TEST_SHORT (T, N)
20
21 TEST (int, 1);
22 TEST (long long, 2);
23 TEST_CHAR (short, 3);