0
|
1 /* Definitions of prototypes for MIPS built-in functions. -*- C -*-
|
131
|
2 Copyright (C) 2007-2018 Free Software Foundation, Inc.
|
0
|
3
|
|
4 This file is part of GCC.
|
|
5
|
|
6 GCC is free software; you can redistribute it and/or modify
|
|
7 it under the terms of the GNU General Public License as published by
|
|
8 the Free Software Foundation; either version 3, or (at your option)
|
|
9 any later version.
|
|
10
|
|
11 GCC is distributed in the hope that it will be useful,
|
|
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
14 GNU General Public License for more details.
|
|
15
|
|
16 You should have received a copy of the GNU General Public License
|
|
17 along with GCC; see the file COPYING3. If not see
|
|
18 <http://www.gnu.org/licenses/>. */
|
|
19
|
|
20 /* Invoke DEF_MIPS_FTYPE (NARGS, LIST) for each prototype used by
|
|
21 MIPS built-in functions, where:
|
|
22
|
|
23 NARGS is the number of arguments.
|
|
24 LIST contains the return-type code followed by the codes for each
|
|
25 argument type.
|
|
26
|
|
27 Argument- and return-type codes are either modes or one of the following:
|
|
28
|
|
29 VOID for void_type_node
|
|
30 INT for integer_type_node
|
|
31 POINTER for ptr_type_node
|
|
32
|
|
33 (we don't use PTR because that's a ANSI-compatibillity macro).
|
|
34
|
|
35 Please keep this list lexicographically sorted by the LIST argument. */
|
|
36 DEF_MIPS_FTYPE (1, (DF, DF))
|
|
37 DEF_MIPS_FTYPE (2, (DF, DF, DF))
|
111
|
38 DEF_MIPS_FTYPE (1, (DF, V2DF))
|
0
|
39
|
|
40 DEF_MIPS_FTYPE (2, (DI, DI, DI))
|
|
41 DEF_MIPS_FTYPE (2, (DI, DI, SI))
|
|
42 DEF_MIPS_FTYPE (3, (DI, DI, SI, SI))
|
|
43 DEF_MIPS_FTYPE (3, (DI, DI, USI, USI))
|
|
44 DEF_MIPS_FTYPE (3, (DI, DI, V2HI, V2HI))
|
|
45 DEF_MIPS_FTYPE (3, (DI, DI, V4QI, V4QI))
|
111
|
46 DEF_MIPS_FTYPE (2, (DI, POINTER, SI))
|
0
|
47 DEF_MIPS_FTYPE (2, (DI, SI, SI))
|
|
48 DEF_MIPS_FTYPE (2, (DI, USI, USI))
|
111
|
49 DEF_MIPS_FTYPE (2, (DI, V2DI, UQI))
|
0
|
50
|
|
51 DEF_MIPS_FTYPE (2, (INT, DF, DF))
|
|
52 DEF_MIPS_FTYPE (2, (INT, SF, SF))
|
|
53 DEF_MIPS_FTYPE (2, (INT, V2SF, V2SF))
|
|
54 DEF_MIPS_FTYPE (4, (INT, V2SF, V2SF, V2SF, V2SF))
|
|
55
|
111
|
56 DEF_MIPS_FTYPE (1, (SF, SF))
|
|
57 DEF_MIPS_FTYPE (2, (SF, SF, SF))
|
|
58 DEF_MIPS_FTYPE (1, (SF, V2SF))
|
|
59 DEF_MIPS_FTYPE (1, (SF, V4SF))
|
|
60
|
0
|
61 DEF_MIPS_FTYPE (2, (SI, DI, SI))
|
|
62 DEF_MIPS_FTYPE (2, (SI, POINTER, SI))
|
|
63 DEF_MIPS_FTYPE (1, (SI, SI))
|
|
64 DEF_MIPS_FTYPE (2, (SI, SI, SI))
|
|
65 DEF_MIPS_FTYPE (3, (SI, SI, SI, SI))
|
111
|
66 DEF_MIPS_FTYPE (1, (SI, UQI))
|
|
67 DEF_MIPS_FTYPE (1, (SI, UV16QI))
|
|
68 DEF_MIPS_FTYPE (1, (SI, UV2DI))
|
|
69 DEF_MIPS_FTYPE (1, (SI, UV4SI))
|
|
70 DEF_MIPS_FTYPE (1, (SI, UV8HI))
|
|
71 DEF_MIPS_FTYPE (2, (SI, V16QI, UQI))
|
0
|
72 DEF_MIPS_FTYPE (1, (SI, V2HI))
|
|
73 DEF_MIPS_FTYPE (2, (SI, V2HI, V2HI))
|
|
74 DEF_MIPS_FTYPE (1, (SI, V4QI))
|
|
75 DEF_MIPS_FTYPE (2, (SI, V4QI, V4QI))
|
111
|
76 DEF_MIPS_FTYPE (2, (SI, V4SI, UQI))
|
|
77 DEF_MIPS_FTYPE (2, (SI, V8HI, UQI))
|
0
|
78 DEF_MIPS_FTYPE (1, (SI, VOID))
|
|
79
|
|
80 DEF_MIPS_FTYPE (2, (UDI, UDI, UDI))
|
|
81 DEF_MIPS_FTYPE (2, (UDI, UV2SI, UV2SI))
|
111
|
82 DEF_MIPS_FTYPE (2, (UDI, V2DI, UQI))
|
|
83
|
|
84 DEF_MIPS_FTYPE (2, (USI, V16QI, UQI))
|
|
85 DEF_MIPS_FTYPE (2, (USI, V4SI, UQI))
|
|
86 DEF_MIPS_FTYPE (2, (USI, V8HI, UQI))
|
|
87 DEF_MIPS_FTYPE (1, (USI, VOID))
|
|
88
|
|
89 DEF_MIPS_FTYPE (2, (UV16QI, UV16QI, UQI))
|
|
90 DEF_MIPS_FTYPE (2, (UV16QI, UV16QI, UV16QI))
|
|
91 DEF_MIPS_FTYPE (3, (UV16QI, UV16QI, UV16QI, UQI))
|
|
92 DEF_MIPS_FTYPE (3, (UV16QI, UV16QI, UV16QI, UV16QI))
|
|
93 DEF_MIPS_FTYPE (2, (UV16QI, UV16QI, V16QI))
|
|
94
|
|
95 DEF_MIPS_FTYPE (2, (UV2DI, UV2DI, UQI))
|
|
96 DEF_MIPS_FTYPE (2, (UV2DI, UV2DI, UV2DI))
|
|
97 DEF_MIPS_FTYPE (3, (UV2DI, UV2DI, UV2DI, UQI))
|
|
98 DEF_MIPS_FTYPE (3, (UV2DI, UV2DI, UV2DI, UV2DI))
|
|
99 DEF_MIPS_FTYPE (3, (UV2DI, UV2DI, UV4SI, UV4SI))
|
|
100 DEF_MIPS_FTYPE (2, (UV2DI, UV2DI, V2DI))
|
|
101 DEF_MIPS_FTYPE (2, (UV2DI, UV4SI, UV4SI))
|
|
102 DEF_MIPS_FTYPE (1, (UV2DI, V2DF))
|
0
|
103
|
|
104 DEF_MIPS_FTYPE (2, (UV2SI, UV2SI, UQI))
|
|
105 DEF_MIPS_FTYPE (2, (UV2SI, UV2SI, UV2SI))
|
|
106
|
|
107 DEF_MIPS_FTYPE (2, (UV4HI, UV4HI, UQI))
|
|
108 DEF_MIPS_FTYPE (2, (UV4HI, UV4HI, USI))
|
111
|
109 DEF_MIPS_FTYPE (2, (UV4HI, UV4HI, UV4HI))
|
0
|
110 DEF_MIPS_FTYPE (3, (UV4HI, UV4HI, UV4HI, UQI))
|
|
111 DEF_MIPS_FTYPE (3, (UV4HI, UV4HI, UV4HI, USI))
|
|
112 DEF_MIPS_FTYPE (1, (UV4HI, UV8QI))
|
|
113 DEF_MIPS_FTYPE (2, (UV4HI, UV8QI, UV8QI))
|
|
114
|
111
|
115 DEF_MIPS_FTYPE (2, (UV4SI, UV4SI, UQI))
|
|
116 DEF_MIPS_FTYPE (2, (UV4SI, UV4SI, UV4SI))
|
|
117 DEF_MIPS_FTYPE (3, (UV4SI, UV4SI, UV4SI, UQI))
|
|
118 DEF_MIPS_FTYPE (3, (UV4SI, UV4SI, UV4SI, UV4SI))
|
|
119 DEF_MIPS_FTYPE (3, (UV4SI, UV4SI, UV8HI, UV8HI))
|
|
120 DEF_MIPS_FTYPE (2, (UV4SI, UV4SI, V4SI))
|
|
121 DEF_MIPS_FTYPE (2, (UV4SI, UV8HI, UV8HI))
|
|
122 DEF_MIPS_FTYPE (1, (UV4SI, V4SF))
|
|
123
|
|
124 DEF_MIPS_FTYPE (2, (UV8HI, UV16QI, UV16QI))
|
|
125 DEF_MIPS_FTYPE (2, (UV8HI, UV8HI, UQI))
|
|
126 DEF_MIPS_FTYPE (3, (UV8HI, UV8HI, UV16QI, UV16QI))
|
|
127 DEF_MIPS_FTYPE (2, (UV8HI, UV8HI, UV8HI))
|
|
128 DEF_MIPS_FTYPE (3, (UV8HI, UV8HI, UV8HI, UQI))
|
|
129 DEF_MIPS_FTYPE (3, (UV8HI, UV8HI, UV8HI, UV8HI))
|
|
130 DEF_MIPS_FTYPE (2, (UV8HI, UV8HI, V8HI))
|
|
131
|
0
|
132 DEF_MIPS_FTYPE (2, (UV8QI, UV4HI, UV4HI))
|
|
133 DEF_MIPS_FTYPE (1, (UV8QI, UV8QI))
|
|
134 DEF_MIPS_FTYPE (2, (UV8QI, UV8QI, UV8QI))
|
|
135
|
111
|
136 DEF_MIPS_FTYPE (2, (V16QI, CVPOINTER, SI))
|
|
137 DEF_MIPS_FTYPE (1, (V16QI, HI))
|
|
138 DEF_MIPS_FTYPE (1, (V16QI, SI))
|
|
139 DEF_MIPS_FTYPE (2, (V16QI, UV16QI, UQI))
|
|
140 DEF_MIPS_FTYPE (2, (V16QI, UV16QI, UV16QI))
|
|
141 DEF_MIPS_FTYPE (1, (V16QI, V16QI))
|
|
142 DEF_MIPS_FTYPE (2, (V16QI, V16QI, QI))
|
|
143 DEF_MIPS_FTYPE (2, (V16QI, V16QI, SI))
|
|
144 DEF_MIPS_FTYPE (2, (V16QI, V16QI, UQI))
|
|
145 DEF_MIPS_FTYPE (3, (V16QI, V16QI, UQI, SI))
|
|
146 DEF_MIPS_FTYPE (3, (V16QI, V16QI, UQI, V16QI))
|
|
147 DEF_MIPS_FTYPE (2, (V16QI, V16QI, V16QI))
|
|
148 DEF_MIPS_FTYPE (3, (V16QI, V16QI, V16QI, SI))
|
|
149 DEF_MIPS_FTYPE (3, (V16QI, V16QI, V16QI, UQI))
|
|
150 DEF_MIPS_FTYPE (3, (V16QI, V16QI, V16QI, V16QI))
|
|
151
|
|
152 DEF_MIPS_FTYPE (1, (V2DF, DF))
|
|
153 DEF_MIPS_FTYPE (1, (V2DF, UV2DI))
|
|
154 DEF_MIPS_FTYPE (1, (V2DF, V2DF))
|
|
155 DEF_MIPS_FTYPE (2, (V2DF, V2DF, V2DF))
|
|
156 DEF_MIPS_FTYPE (3, (V2DF, V2DF, V2DF, V2DF))
|
|
157 DEF_MIPS_FTYPE (2, (V2DF, V2DF, V2DI))
|
|
158 DEF_MIPS_FTYPE (1, (V2DF, V2DI))
|
|
159 DEF_MIPS_FTYPE (1, (V2DF, V4SF))
|
|
160 DEF_MIPS_FTYPE (1, (V2DF, V4SI))
|
|
161
|
|
162 DEF_MIPS_FTYPE (2, (V2DI, CVPOINTER, SI))
|
|
163 DEF_MIPS_FTYPE (1, (V2DI, DI))
|
|
164 DEF_MIPS_FTYPE (1, (V2DI, HI))
|
|
165 DEF_MIPS_FTYPE (2, (V2DI, UV2DI, UQI))
|
|
166 DEF_MIPS_FTYPE (2, (V2DI, UV2DI, UV2DI))
|
|
167 DEF_MIPS_FTYPE (2, (V2DI, UV4SI, UV4SI))
|
|
168 DEF_MIPS_FTYPE (1, (V2DI, V2DF))
|
|
169 DEF_MIPS_FTYPE (2, (V2DI, V2DF, V2DF))
|
|
170 DEF_MIPS_FTYPE (1, (V2DI, V2DI))
|
|
171 DEF_MIPS_FTYPE (2, (V2DI, V2DI, QI))
|
|
172 DEF_MIPS_FTYPE (2, (V2DI, V2DI, SI))
|
|
173 DEF_MIPS_FTYPE (2, (V2DI, V2DI, UQI))
|
|
174 DEF_MIPS_FTYPE (3, (V2DI, V2DI, UQI, DI))
|
|
175 DEF_MIPS_FTYPE (3, (V2DI, V2DI, UQI, V2DI))
|
|
176 DEF_MIPS_FTYPE (3, (V2DI, V2DI, UV4SI, UV4SI))
|
|
177 DEF_MIPS_FTYPE (2, (V2DI, V2DI, V2DI))
|
|
178 DEF_MIPS_FTYPE (3, (V2DI, V2DI, V2DI, SI))
|
|
179 DEF_MIPS_FTYPE (3, (V2DI, V2DI, V2DI, UQI))
|
|
180 DEF_MIPS_FTYPE (3, (V2DI, V2DI, V2DI, V2DI))
|
|
181 DEF_MIPS_FTYPE (3, (V2DI, V2DI, V4SI, V4SI))
|
|
182 DEF_MIPS_FTYPE (2, (V2DI, V4SI, V4SI))
|
|
183
|
0
|
184 DEF_MIPS_FTYPE (1, (V2HI, SI))
|
|
185 DEF_MIPS_FTYPE (2, (V2HI, SI, SI))
|
|
186 DEF_MIPS_FTYPE (3, (V2HI, SI, SI, SI))
|
|
187 DEF_MIPS_FTYPE (1, (V2HI, V2HI))
|
|
188 DEF_MIPS_FTYPE (2, (V2HI, V2HI, SI))
|
|
189 DEF_MIPS_FTYPE (2, (V2HI, V2HI, V2HI))
|
|
190 DEF_MIPS_FTYPE (1, (V2HI, V4QI))
|
|
191 DEF_MIPS_FTYPE (2, (V2HI, V4QI, V2HI))
|
|
192
|
|
193 DEF_MIPS_FTYPE (2, (V2SF, SF, SF))
|
|
194 DEF_MIPS_FTYPE (1, (V2SF, V2SF))
|
|
195 DEF_MIPS_FTYPE (2, (V2SF, V2SF, V2SF))
|
|
196 DEF_MIPS_FTYPE (3, (V2SF, V2SF, V2SF, INT))
|
|
197 DEF_MIPS_FTYPE (4, (V2SF, V2SF, V2SF, V2SF, V2SF))
|
|
198
|
|
199 DEF_MIPS_FTYPE (2, (V2SI, V2SI, UQI))
|
|
200 DEF_MIPS_FTYPE (2, (V2SI, V2SI, V2SI))
|
|
201 DEF_MIPS_FTYPE (2, (V2SI, V4HI, V4HI))
|
|
202
|
|
203 DEF_MIPS_FTYPE (2, (V4HI, V2SI, V2SI))
|
|
204 DEF_MIPS_FTYPE (2, (V4HI, V4HI, UQI))
|
|
205 DEF_MIPS_FTYPE (2, (V4HI, V4HI, USI))
|
|
206 DEF_MIPS_FTYPE (2, (V4HI, V4HI, V4HI))
|
|
207 DEF_MIPS_FTYPE (3, (V4HI, V4HI, V4HI, UQI))
|
|
208 DEF_MIPS_FTYPE (3, (V4HI, V4HI, V4HI, USI))
|
|
209
|
|
210 DEF_MIPS_FTYPE (1, (V4QI, SI))
|
|
211 DEF_MIPS_FTYPE (2, (V4QI, V2HI, V2HI))
|
|
212 DEF_MIPS_FTYPE (1, (V4QI, V4QI))
|
|
213 DEF_MIPS_FTYPE (2, (V4QI, V4QI, SI))
|
|
214 DEF_MIPS_FTYPE (2, (V4QI, V4QI, V4QI))
|
|
215
|
111
|
216 DEF_MIPS_FTYPE (1, (V4SF, SF))
|
|
217 DEF_MIPS_FTYPE (1, (V4SF, UV4SI))
|
|
218 DEF_MIPS_FTYPE (2, (V4SF, V2DF, V2DF))
|
|
219 DEF_MIPS_FTYPE (1, (V4SF, V4SF))
|
|
220 DEF_MIPS_FTYPE (2, (V4SF, V4SF, V4SF))
|
|
221 DEF_MIPS_FTYPE (3, (V4SF, V4SF, V4SF, V4SF))
|
|
222 DEF_MIPS_FTYPE (2, (V4SF, V4SF, V4SI))
|
|
223 DEF_MIPS_FTYPE (1, (V4SF, V4SI))
|
|
224 DEF_MIPS_FTYPE (1, (V4SF, V8HI))
|
|
225
|
|
226 DEF_MIPS_FTYPE (2, (V4SI, CVPOINTER, SI))
|
|
227 DEF_MIPS_FTYPE (1, (V4SI, HI))
|
|
228 DEF_MIPS_FTYPE (1, (V4SI, SI))
|
|
229 DEF_MIPS_FTYPE (2, (V4SI, UV4SI, UQI))
|
|
230 DEF_MIPS_FTYPE (2, (V4SI, UV4SI, UV4SI))
|
|
231 DEF_MIPS_FTYPE (2, (V4SI, UV8HI, UV8HI))
|
|
232 DEF_MIPS_FTYPE (2, (V4SI, V2DF, V2DF))
|
|
233 DEF_MIPS_FTYPE (1, (V4SI, V4SF))
|
|
234 DEF_MIPS_FTYPE (2, (V4SI, V4SF, V4SF))
|
|
235 DEF_MIPS_FTYPE (1, (V4SI, V4SI))
|
|
236 DEF_MIPS_FTYPE (2, (V4SI, V4SI, QI))
|
|
237 DEF_MIPS_FTYPE (2, (V4SI, V4SI, SI))
|
|
238 DEF_MIPS_FTYPE (2, (V4SI, V4SI, UQI))
|
|
239 DEF_MIPS_FTYPE (3, (V4SI, V4SI, UQI, SI))
|
|
240 DEF_MIPS_FTYPE (3, (V4SI, V4SI, UQI, V4SI))
|
|
241 DEF_MIPS_FTYPE (3, (V4SI, V4SI, UV8HI, UV8HI))
|
|
242 DEF_MIPS_FTYPE (2, (V4SI, V4SI, V4SI))
|
|
243 DEF_MIPS_FTYPE (3, (V4SI, V4SI, V4SI, SI))
|
|
244 DEF_MIPS_FTYPE (3, (V4SI, V4SI, V4SI, UQI))
|
|
245 DEF_MIPS_FTYPE (3, (V4SI, V4SI, V4SI, V4SI))
|
|
246 DEF_MIPS_FTYPE (3, (V4SI, V4SI, V8HI, V8HI))
|
|
247 DEF_MIPS_FTYPE (2, (V4SI, V8HI, V8HI))
|
|
248
|
|
249 DEF_MIPS_FTYPE (2, (V8HI, CVPOINTER, SI))
|
|
250 DEF_MIPS_FTYPE (1, (V8HI, HI))
|
|
251 DEF_MIPS_FTYPE (1, (V8HI, SI))
|
|
252 DEF_MIPS_FTYPE (2, (V8HI, UV16QI, UV16QI))
|
|
253 DEF_MIPS_FTYPE (2, (V8HI, UV8HI, UQI))
|
|
254 DEF_MIPS_FTYPE (2, (V8HI, UV8HI, UV8HI))
|
|
255 DEF_MIPS_FTYPE (2, (V8HI, V16QI, V16QI))
|
|
256 DEF_MIPS_FTYPE (2, (V8HI, V4SF, V4SF))
|
|
257 DEF_MIPS_FTYPE (1, (V8HI, V8HI))
|
|
258 DEF_MIPS_FTYPE (2, (V8HI, V8HI, QI))
|
|
259 DEF_MIPS_FTYPE (2, (V8HI, V8HI, SI))
|
|
260 DEF_MIPS_FTYPE (3, (V8HI, V8HI, SI, UQI))
|
|
261 DEF_MIPS_FTYPE (2, (V8HI, V8HI, UQI))
|
|
262 DEF_MIPS_FTYPE (3, (V8HI, V8HI, UQI, SI))
|
|
263 DEF_MIPS_FTYPE (3, (V8HI, V8HI, UQI, V8HI))
|
|
264 DEF_MIPS_FTYPE (3, (V8HI, V8HI, UV16QI, UV16QI))
|
|
265 DEF_MIPS_FTYPE (3, (V8HI, V8HI, V16QI, V16QI))
|
|
266 DEF_MIPS_FTYPE (2, (V8HI, V8HI, V8HI))
|
|
267 DEF_MIPS_FTYPE (3, (V8HI, V8HI, V8HI, SI))
|
|
268 DEF_MIPS_FTYPE (3, (V8HI, V8HI, V8HI, UQI))
|
|
269 DEF_MIPS_FTYPE (3, (V8HI, V8HI, V8HI, V8HI))
|
|
270
|
0
|
271 DEF_MIPS_FTYPE (2, (V8QI, V4HI, V4HI))
|
|
272 DEF_MIPS_FTYPE (1, (V8QI, V8QI))
|
|
273 DEF_MIPS_FTYPE (2, (V8QI, V8QI, V8QI))
|
|
274
|
|
275 DEF_MIPS_FTYPE (2, (VOID, SI, CVPOINTER))
|
|
276 DEF_MIPS_FTYPE (2, (VOID, SI, SI))
|
111
|
277 DEF_MIPS_FTYPE (2, (VOID, UQI, SI))
|
|
278 DEF_MIPS_FTYPE (1, (VOID, USI))
|
|
279 DEF_MIPS_FTYPE (3, (VOID, V16QI, CVPOINTER, SI))
|
|
280 DEF_MIPS_FTYPE (3, (VOID, V2DF, POINTER, SI))
|
|
281 DEF_MIPS_FTYPE (3, (VOID, V2DI, CVPOINTER, SI))
|
0
|
282 DEF_MIPS_FTYPE (2, (VOID, V2HI, V2HI))
|
|
283 DEF_MIPS_FTYPE (2, (VOID, V4QI, V4QI))
|
111
|
284 DEF_MIPS_FTYPE (3, (VOID, V4SF, POINTER, SI))
|
|
285 DEF_MIPS_FTYPE (3, (VOID, V4SI, CVPOINTER, SI))
|
|
286 DEF_MIPS_FTYPE (3, (VOID, V8HI, CVPOINTER, SI))
|