1 /* Test scalar fixed-point instructions */
2 /* { dg-do compile { target {fixed_point} } } */
3 /* { dg-mips-options "-march=mips32r2 -mdspr2 -O2" } */
4 /* { dg-final { scan-assembler-times "\taddu\t" 10 } } */
5 /* { dg-final { scan-assembler-times "\tsubu\t" 10 } } */
6 /* { dg-final { scan-assembler "\taddu_s.qb\t" } } */
7 /* { dg-final { scan-assembler-times "\taddu_s.ph\t" 2 } } */
8 /* { dg-final { scan-assembler-times "\taddq_s.ph\t" 2 } } */
9 /* { dg-final { scan-assembler-times "\taddq_s.w\t" 2 } } */
10 /* { dg-final { scan-assembler "\tsubu_s.qb\t" } } */
11 /* { dg-final { scan-assembler-times "\tsubu_s.ph\t" 2 } } */
12 /* { dg-final { scan-assembler-times "\tsubq_s.ph\t" 2 } } */
13 /* { dg-final { scan-assembler-times "\tsubq_s.w\t" 2 } } */
14 /* { dg-final { scan-assembler-times "\tmulq_rs.ph\t" 1 } } */
15 /* { dg-final { scan-assembler-times "\tmulq_rs.w\t" 1 } } */
17 short _Fract non_sat_test1 (short _Fract a, short _Fract b)
22 _Fract non_sat_test2 (_Fract a, _Fract b)
27 long _Fract non_sat_test3 (long _Fract a, long _Fract b)
32 unsigned short _Fract non_sat_test4 (unsigned short _Fract a,
33 unsigned short _Fract b)
38 unsigned _Fract non_sat_test5 (unsigned _Fract a, unsigned _Fract b)
43 unsigned long _Fract non_sat_test6 (unsigned long _Fract a,
44 unsigned long _Fract b)
49 short _Accum non_sat_test7 (short _Accum a, short _Accum b)
54 _Accum non_sat_test8 (_Accum a, _Accum b)
59 unsigned short _Accum non_sat_test9 (unsigned short _Accum a,
60 unsigned short _Accum b)
65 unsigned _Accum non_sat_test10 (unsigned _Accum a, unsigned _Accum b)
70 short _Fract non_sat_test11 (short _Fract a, short _Fract b)
75 _Fract non_sat_test12 (_Fract a, _Fract b)
80 long _Fract non_sat_test13 (long _Fract a, long _Fract b)
85 unsigned short _Fract non_sat_test14 (unsigned short _Fract a,
86 unsigned short _Fract b)
91 unsigned _Fract non_sat_test15 (unsigned _Fract a, unsigned _Fract b)
96 unsigned long _Fract non_sat_test16 (unsigned long _Fract a,
97 unsigned long _Fract b)
102 short _Accum non_sat_test17 (short _Accum a, short _Accum b)
107 _Accum non_sat_test18 (_Accum a, _Accum b)
112 unsigned short _Accum non_sat_test19 (unsigned short _Accum a,
113 unsigned short _Accum b)
118 unsigned _Accum non_sat_test20 (unsigned _Accum a, unsigned _Accum b)
123 NOMIPS16 _Sat unsigned short _Fract test1 (_Sat unsigned short _Fract a,
124 _Sat unsigned short _Fract b)
129 NOMIPS16 _Sat unsigned _Fract test2 (_Sat unsigned _Fract a,
130 _Sat unsigned _Fract b)
135 NOMIPS16 _Sat unsigned short _Accum test3 (_Sat unsigned short _Accum a,
136 _Sat unsigned short _Accum b)
141 NOMIPS16 _Sat _Fract test4 (_Sat _Fract a, _Sat _Fract b)
146 NOMIPS16 _Sat long _Fract test5 (_Sat long _Fract a, _Sat long _Fract b)
151 NOMIPS16 _Sat short _Accum test6 (_Sat short _Accum a, _Sat short _Accum b)
156 NOMIPS16 _Sat _Accum test7 (_Sat _Accum a, _Sat _Accum b)
161 NOMIPS16 _Sat unsigned short _Fract test8 (_Sat unsigned short _Fract a,
162 _Sat unsigned short _Fract b)
167 NOMIPS16 _Sat unsigned _Fract test9 (_Sat unsigned _Fract a,
168 _Sat unsigned _Fract b)
173 NOMIPS16 _Sat unsigned short _Accum test10 (_Sat unsigned short _Accum a,
174 _Sat unsigned short _Accum b)
179 NOMIPS16 _Sat _Fract test11 (_Sat _Fract a, _Sat _Fract b)
184 NOMIPS16 _Sat long _Fract test12 (_Sat long _Fract a, _Sat long _Fract b)
189 NOMIPS16 _Sat short _Accum test13 (_Sat short _Accum a, _Sat short _Accum b)
194 NOMIPS16 _Sat _Accum test14 (_Sat _Accum a, _Sat _Accum b)
199 NOMIPS16 _Sat _Fract test15 (_Sat _Fract a, _Sat _Fract b)
204 NOMIPS16 _Sat long _Fract test16 (_Sat long _Fract a, _Sat long _Fract b)
209 NOMIPS16 _Fract test17 (_Fract a, _Fract b)
214 NOMIPS16 long _Fract test18 (long _Fract a, long _Fract b)