1 /* Definitions of prototypes for MIPS built
-in functions.
-*- C
-*-
2 Copyright (C
) 2007-2016 Free Software Foundation
, Inc.
4 This file is part of GCC.
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
)
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.
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
/>.
*/
20 /* Invoke
DEF_MIPS_FTYPE (NARGS
, LIST
) for each prototype used by
21 MIPS built
-in functions
, where
:
23 NARGS is the number of arguments.
24 LIST contains the return
-type code followed by the codes for each
27 Argument
- and return
-type codes are either modes or one of the following
:
29 VOID for void_type_node
30 INT for integer_type_node
31 POINTER for ptr_type_node
33 (we don
't use PTR because that's a ANSI
-compatibillity macro
).
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
))
38 DEF_MIPS_FTYPE (1, (DF
, V2DF
))
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
))
46 DEF_MIPS_FTYPE (2, (DI
, POINTER, SI
))
47 DEF_MIPS_FTYPE (2, (DI
, SI
, SI
))
48 DEF_MIPS_FTYPE (2, (DI
, USI
, USI
))
49 DEF_MIPS_FTYPE (2, (DI
, V2DI
, UQI
))
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
))
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
))
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
))
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
))
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
))
76 DEF_MIPS_FTYPE (2, (SI
, V4SI
, UQI
))
77 DEF_MIPS_FTYPE (2, (SI
, V8HI
, UQI
))
78 DEF_MIPS_FTYPE (1, (SI
, VOID
))
80 DEF_MIPS_FTYPE (2, (UDI
, UDI
, UDI
))
81 DEF_MIPS_FTYPE (2, (UDI
, UV2SI
, UV2SI
))
82 DEF_MIPS_FTYPE (2, (UDI
, V2DI
, UQI
))
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
))
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
))
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
))
104 DEF_MIPS_FTYPE (2, (UV2SI
, UV2SI
, UQI
))
105 DEF_MIPS_FTYPE (2, (UV2SI
, UV2SI
, UV2SI
))
107 DEF_MIPS_FTYPE (2, (UV4HI
, UV4HI
, UQI
))
108 DEF_MIPS_FTYPE (2, (UV4HI
, UV4HI
, USI
))
109 DEF_MIPS_FTYPE (2, (UV4HI
, UV4HI
, UV4HI
))
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
))
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
))
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
))
132 DEF_MIPS_FTYPE (2, (UV8QI
, UV4HI
, UV4HI
))
133 DEF_MIPS_FTYPE (1, (UV8QI
, UV8QI
))
134 DEF_MIPS_FTYPE (2, (UV8QI
, UV8QI
, UV8QI
))
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
))
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
))
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
))
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
))
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
))
199 DEF_MIPS_FTYPE (2, (V2SI
, V2SI
, UQI
))
200 DEF_MIPS_FTYPE (2, (V2SI
, V2SI
, V2SI
))
201 DEF_MIPS_FTYPE (2, (V2SI
, V4HI
, V4HI
))
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
))
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
))
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
))
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
))
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
))
271 DEF_MIPS_FTYPE (2, (V8QI
, V4HI
, V4HI
))
272 DEF_MIPS_FTYPE (1, (V8QI
, V8QI
))
273 DEF_MIPS_FTYPE (2, (V8QI
, V8QI
, V8QI
))
275 DEF_MIPS_FTYPE (2, (VOID
, SI
, CVPOINTER
))
276 DEF_MIPS_FTYPE (2, (VOID
, SI
, SI
))
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
))
282 DEF_MIPS_FTYPE (2, (VOID
, V2HI
, V2HI
))
283 DEF_MIPS_FTYPE (2, (VOID
, V4QI
, V4QI
))
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
))