]>
Commit | Line | Data |
---|---|---|
4a720a95 | 1 | ; Overloaded built-in functions for PowerPC. |
83ffe9cd | 2 | ; Copyright (C) 2020-2023 Free Software Foundation, Inc. |
4a720a95 BS |
3 | ; Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com> |
4 | ; | |
5 | ; This file is part of GCC. | |
6 | ; | |
7 | ; GCC is free software; you can redistribute it and/or modify it under | |
8 | ; the terms of the GNU General Public License as published by the Free | |
9 | ; Software Foundation; either version 3, or (at your option) any later | |
10 | ; version. | |
11 | ; | |
12 | ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
13 | ; WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 | ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 | ; for more details. | |
16 | ; | |
17 | ; You should have received a copy of the GNU General Public License | |
18 | ; along with GCC; see the file COPYING3. If not see | |
19 | ; <http://www.gnu.org/licenses/>. | |
20 | ||
21 | ||
22 | ; Overloaded built-in functions in this file are organized into "stanzas", | |
23 | ; where all built-ins in a given stanza have the same overloaded function | |
24 | ; name: | |
25 | ; | |
26 | ; [<overload-id>, <abi-name>, <builtin-name>[[, <ifdef>]] ] | |
27 | ; | |
28 | ; Here the single square brackets are part of the syntax; <overload-id> | |
29 | ; is a unique internal identifier for the overload that will be used as | |
30 | ; part of an enumeration of all overloaded functions; <abi-name> is the | |
31 | ; name that will appear as a #define in rs6000-vecdefines.h; | |
32 | ; <builtin-name> is the name that is overloaded in the back end; and | |
33 | ; <ifdef> is an optional token used to guard the #define with an #ifdef | |
34 | ; in rs6000-vecdefines.h. If no #define is desired, the <abi-name> should | |
35 | ; be replaced with the token SKIP. | |
36 | ; | |
7e836079 BS |
37 | ; The <ifdef> token should be used sparingly, because a #define can't be |
38 | ; overridden by __attribute__((target)). It is appropriate for cases | |
39 | ; where a target override isn't a possibility, like __PPU__. | |
40 | ; | |
4a720a95 BS |
41 | ; Each function entry has two lines. The first line is a prototype line. |
42 | ; See rs6000-builtin-new.def for a description of the prototype line. | |
43 | ; A prototype line in this file differs in that it doesn't have an | |
44 | ; optional [kind] token: | |
45 | ; | |
46 | ; <return-type> <internal-name> (<argument-list>); | |
47 | ; | |
48 | ; The second line contains the <bif-id> that this particular instance of | |
49 | ; the overloaded function maps to. It must match a token that appears in | |
50 | ; rs6000-builtin-new.def. Optionally, a second token may appear. If only | |
51 | ; one token is on the line, it is also used to build the unique identifier | |
52 | ; for the overloaded function. If a second token is present, the second | |
53 | ; token is used instead for this purpose. This is necessary in cases | |
54 | ; where a built-in function accepts more than one type signature. It is | |
55 | ; common to have a built-in function that, for example, specifies a | |
56 | ; "vector signed char" argument, but accepts "vector unsigned char" and | |
57 | ; "vector bool char" as well because only the mode matters. Note that | |
58 | ; the overload resolution mechanism has always handled these cases by | |
59 | ; performing fold_convert on vector arguments to hide type mismatches, | |
60 | ; and it will continue to do so. | |
61 | ; | |
62 | ; As a concrete example, __builtin_altivec_mtvscr uses an opaque argument | |
63 | ; type for the source operand. Its built-in function id is MTVSCR. The | |
64 | ; overloaded function __builtin_vec_mtvscr takes a variety of specific | |
65 | ; types, but not all vector types. Each of these maps to the same | |
66 | ; __builtin_altivec_mtvscr built-in function, but the overload ID must | |
67 | ; be unique, so we must specify the second token as shown here. | |
68 | ; | |
69 | ;[VEC_MTVSCR, vec_mtvscr, __builtin_vec_mtvscr] | |
70 | ; void __builtin_vec_mtvscr (vbc); | |
71 | ; MTVSCR MTVSCR_VBC | |
72 | ; void __builtin_vec_mtvscr (vsc); | |
73 | ; MTVSCR MTVSCR_VSC | |
74 | ; ... | |
75 | ; | |
76 | ; Blank lines may be used as desired in this file between the lines as | |
77 | ; defined above; that is, you can introduce as many extra newlines as you | |
78 | ; like after a required newline, but nowhere else. Lines beginning with | |
79 | ; a semicolon are also treated as blank lines. | |
80 | ||
81 | ||
e2693a72 BS |
82 | [BCDADD, __builtin_bcdadd, __builtin_vec_bcdadd] |
83 | vsq __builtin_vec_bcdadd (vsq, vsq, const int); | |
84 | BCDADD_V1TI | |
85 | vuc __builtin_vec_bcdadd (vuc, vuc, const int); | |
86 | BCDADD_V16QI | |
87 | ||
88 | [BCDADD_EQ, __builtin_bcdadd_eq, __builtin_vec_bcdadd_eq] | |
89 | signed int __builtin_vec_bcdadd_eq (vsq, vsq, const int); | |
90 | BCDADD_EQ_V1TI | |
91 | signed int __builtin_vec_bcdadd_eq (vuc, vuc, const int); | |
92 | BCDADD_EQ_V16QI | |
93 | ||
94 | [BCDADD_GT, __builtin_bcdadd_gt, __builtin_vec_bcdadd_gt] | |
95 | signed int __builtin_vec_bcdadd_gt (vsq, vsq, const int); | |
96 | BCDADD_GT_V1TI | |
97 | signed int __builtin_vec_bcdadd_gt (vuc, vuc, const int); | |
98 | BCDADD_GT_V16QI | |
99 | ||
100 | [BCDADD_LT, __builtin_bcdadd_lt, __builtin_vec_bcdadd_lt] | |
101 | signed int __builtin_vec_bcdadd_lt (vsq, vsq, const int); | |
102 | BCDADD_LT_V1TI | |
103 | signed int __builtin_vec_bcdadd_lt (vuc, vuc, const int); | |
104 | BCDADD_LT_V16QI | |
105 | ||
106 | [BCDADD_OV, __builtin_bcdadd_ov, __builtin_vec_bcdadd_ov] | |
107 | signed int __builtin_vec_bcdadd_ov (vsq, vsq, const int); | |
108 | BCDADD_OV_V1TI | |
109 | signed int __builtin_vec_bcdadd_ov (vuc, vuc, const int); | |
110 | BCDADD_OV_V16QI | |
111 | ||
112 | [BCDDIV10, __builtin_bcddiv10, __builtin_vec_bcddiv10] | |
113 | vuc __builtin_vec_bcddiv10 (vuc); | |
114 | BCDDIV10_V16QI | |
115 | ||
116 | [BCDINVALID, __builtin_bcdinvalid, __builtin_vec_bcdinvalid] | |
117 | signed int __builtin_vec_bcdinvalid (vsq); | |
118 | BCDINVALID_V1TI | |
119 | signed int __builtin_vec_bcdinvalid (vuc); | |
120 | BCDINVALID_V16QI | |
121 | ||
122 | [BCDMUL10, __builtin_bcdmul10, __builtin_vec_bcdmul10] | |
123 | vuc __builtin_vec_bcdmul10 (vuc); | |
124 | BCDMUL10_V16QI | |
125 | ||
126 | [BCDSUB, __builtin_bcdsub, __builtin_vec_bcdsub] | |
127 | vsq __builtin_vec_bcdsub (vsq, vsq, const int); | |
128 | BCDSUB_V1TI | |
129 | vuc __builtin_vec_bcdsub (vuc, vuc, const int); | |
130 | BCDSUB_V16QI | |
131 | ||
132 | [BCDSUB_EQ, __builtin_bcdsub_eq, __builtin_vec_bcdsub_eq] | |
133 | signed int __builtin_vec_bcdsub_eq (vsq, vsq, const int); | |
134 | BCDSUB_EQ_V1TI | |
135 | signed int __builtin_vec_bcdsub_eq (vuc, vuc, const int); | |
136 | BCDSUB_EQ_V16QI | |
137 | ||
138 | [BCDSUB_GE, __builtin_bcdsub_ge, __builtin_vec_bcdsub_ge] | |
139 | signed int __builtin_vec_bcdsub_ge (vsq, vsq, const int); | |
140 | BCDSUB_GE_V1TI | |
141 | signed int __builtin_vec_bcdsub_ge (vuc, vuc, const int); | |
142 | BCDSUB_GE_V16QI | |
143 | ||
144 | [BCDSUB_GT, __builtin_bcdsub_gt, __builtin_vec_bcdsub_gt] | |
145 | signed int __builtin_vec_bcdsub_gt (vsq, vsq, const int); | |
146 | BCDSUB_GT_V1TI | |
147 | signed int __builtin_vec_bcdsub_gt (vuc, vuc, const int); | |
148 | BCDSUB_GT_V16QI | |
149 | ||
150 | [BCDSUB_LE, __builtin_bcdsub_le, __builtin_vec_bcdsub_le] | |
151 | signed int __builtin_vec_bcdsub_le (vsq, vsq, const int); | |
152 | BCDSUB_LE_V1TI | |
153 | signed int __builtin_vec_bcdsub_le (vuc, vuc, const int); | |
154 | BCDSUB_LE_V16QI | |
155 | ||
156 | [BCDSUB_LT, __builtin_bcdsub_lt, __builtin_vec_bcdsub_lt] | |
157 | signed int __builtin_vec_bcdsub_lt (vsq, vsq, const int); | |
158 | BCDSUB_LT_V1TI | |
159 | signed int __builtin_vec_bcdsub_lt (vuc, vuc, const int); | |
160 | BCDSUB_LT_V16QI | |
161 | ||
162 | [BCDSUB_OV, __builtin_bcdsub_ov, __builtin_vec_bcdsub_ov] | |
163 | signed int __builtin_vec_bcdsub_ov (vsq, vsq, const int); | |
164 | BCDSUB_OV_V1TI | |
165 | signed int __builtin_vec_bcdsub_ov (vuc, vuc, const int); | |
166 | BCDSUB_OV_V16QI | |
167 | ||
168 | [BCD2DFP, __builtin_bcd2dfp, __builtin_vec_denb2dfp] | |
169 | _Decimal128 __builtin_vec_denb2dfp (vuc); | |
170 | DENB2DFP_V16QI | |
171 | ||
172 | [CRYPTO_PERMXOR, SKIP, __builtin_crypto_vpermxor] | |
173 | vuc __builtin_crypto_vpermxor (vuc, vuc, vuc); | |
174 | VPERMXOR_V16QI | |
175 | vus __builtin_crypto_vpermxor (vus, vus, vus); | |
176 | VPERMXOR_V8HI | |
177 | vui __builtin_crypto_vpermxor (vui, vui, vui); | |
178 | VPERMXOR_V4SI | |
179 | vull __builtin_crypto_vpermxor (vull, vull, vull); | |
180 | VPERMXOR_V2DI | |
181 | ||
182 | [CRYPTO_PMSUM, SKIP, __builtin_crypto_vpmsum] | |
183 | vuc __builtin_crypto_vpmsum (vuc, vuc); | |
184 | VPMSUMB VPMSUMB_C | |
185 | vus __builtin_crypto_vpmsum (vus, vus); | |
186 | VPMSUMH VPMSUMH_C | |
187 | vui __builtin_crypto_vpmsum (vui, vui); | |
188 | VPMSUMW VPMSUMW_C | |
189 | vull __builtin_crypto_vpmsum (vull, vull); | |
190 | VPMSUMD VPMSUMD_C | |
191 | ||
192 | [SCAL_CMPB, SKIP, __builtin_cmpb] | |
193 | unsigned int __builtin_cmpb (unsigned int, unsigned int); | |
194 | CMPB_32 | |
195 | unsigned long long __builtin_cmpb (unsigned long long, unsigned long long); | |
196 | CMPB | |
197 | ||
4a720a95 BS |
198 | [VEC_ABS, vec_abs, __builtin_vec_abs] |
199 | vsc __builtin_vec_abs (vsc); | |
200 | ABS_V16QI | |
201 | vss __builtin_vec_abs (vss); | |
202 | ABS_V8HI | |
e2693a72 BS |
203 | vsi __builtin_vec_abs (vsi); |
204 | ABS_V4SI | |
205 | vsll __builtin_vec_abs (vsll); | |
206 | ABS_V2DI | |
207 | vf __builtin_vec_abs (vf); | |
208 | ABS_V4SF | |
209 | vd __builtin_vec_abs (vd); | |
210 | XVABSDP | |
211 | ||
7e836079 | 212 | [VEC_ABSD, vec_absd, __builtin_vec_vadu] |
e2693a72 BS |
213 | vuc __builtin_vec_vadu (vuc, vuc); |
214 | VADUB | |
215 | vus __builtin_vec_vadu (vus, vus); | |
216 | VADUH | |
217 | vui __builtin_vec_vadu (vui, vui); | |
218 | VADUW | |
219 | ||
220 | [VEC_ABSS, vec_abss, __builtin_vec_abss] | |
221 | vsc __builtin_vec_abss (vsc); | |
222 | ABSS_V16QI | |
223 | vss __builtin_vec_abss (vss); | |
224 | ABSS_V8HI | |
225 | vsi __builtin_vec_abss (vsi); | |
226 | ABSS_V4SI | |
227 | ||
228 | [VEC_ADD, vec_add, __builtin_vec_add] | |
229 | vsc __builtin_vec_add (vsc, vsc); | |
230 | VADDUBM VADDUBM_VSC | |
231 | vuc __builtin_vec_add (vuc, vuc); | |
232 | VADDUBM VADDUBM_VUC | |
233 | vss __builtin_vec_add (vss, vss); | |
234 | VADDUHM VADDUHM_VSS | |
235 | vus __builtin_vec_add (vus, vus); | |
236 | VADDUHM VADDUHM_VUS | |
237 | vsi __builtin_vec_add (vsi, vsi); | |
238 | VADDUWM VADDUWM_VSI | |
239 | vui __builtin_vec_add (vui, vui); | |
240 | VADDUWM VADDUWM_VUI | |
241 | vsll __builtin_vec_add (vsll, vsll); | |
242 | VADDUDM VADDUDM_VSLL | |
243 | vull __builtin_vec_add (vull, vull); | |
244 | VADDUDM VADDUDM_VULL | |
245 | vsq __builtin_vec_add (vsq, vsq); | |
246 | VADDUQM VADDUQM_VSQ | |
247 | vuq __builtin_vec_add (vuq, vuq); | |
248 | VADDUQM VADDUQM_VUQ | |
249 | vf __builtin_vec_add (vf, vf); | |
250 | VADDFP | |
251 | vd __builtin_vec_add (vd, vd); | |
252 | XVADDDP | |
253 | ; The following variants are deprecated. | |
254 | vsc __builtin_vec_add (vbc, vsc); | |
255 | VADDUBM VADDUBM_VBC_VSC | |
256 | vsc __builtin_vec_add (vsc, vbc); | |
257 | VADDUBM VADDUBM_VSC_VBC | |
258 | vuc __builtin_vec_add (vbc, vuc); | |
259 | VADDUBM VADDUBM_VBC_VUC | |
260 | vuc __builtin_vec_add (vuc, vbc); | |
261 | VADDUBM VADDUBM_VUC_VBC | |
262 | vss __builtin_vec_add (vbs, vss); | |
263 | VADDUHM VADDUHM_VBS_VSS | |
264 | vss __builtin_vec_add (vss, vbs); | |
265 | VADDUHM VADDUHM_VSS_VBS | |
266 | vus __builtin_vec_add (vbs, vus); | |
267 | VADDUHM VADDUHM_VBS_VUS | |
268 | vus __builtin_vec_add (vus, vbs); | |
269 | VADDUHM VADDUHM_VUS_VBS | |
270 | vsi __builtin_vec_add (vbi, vsi); | |
271 | VADDUWM VADDUWM_VBI_VSI | |
272 | vsi __builtin_vec_add (vsi, vbi); | |
273 | VADDUWM VADDUWM_VSI_VBI | |
274 | vui __builtin_vec_add (vbi, vui); | |
275 | VADDUWM VADDUWM_VBI_VUI | |
276 | vui __builtin_vec_add (vui, vbi); | |
277 | VADDUWM VADDUWM_VUI_VBI | |
278 | vsll __builtin_vec_add (vbll, vsll); | |
279 | VADDUDM VADDUDM_VBLL_VSLL | |
280 | vsll __builtin_vec_add (vsll, vbll); | |
281 | VADDUDM VADDUDM_VSLL_VBLL | |
282 | vull __builtin_vec_add (vbll, vull); | |
283 | VADDUDM VADDUDM_VBLL_VULL | |
284 | vull __builtin_vec_add (vull, vbll); | |
285 | VADDUDM VADDUDM_VULL_VBLL | |
286 | ||
287 | [VEC_ADDC, vec_addc, __builtin_vec_addc] | |
288 | vsi __builtin_vec_addc (vsi, vsi); | |
289 | VADDCUW VADDCUW_VSI | |
290 | vui __builtin_vec_addc (vui, vui); | |
291 | VADDCUW VADDCUW_VUI | |
292 | vsq __builtin_vec_addc (vsq, vsq); | |
293 | VADDCUQ VADDCUQ_VSQ | |
294 | vuq __builtin_vec_addc (vuq, vuq); | |
295 | VADDCUQ VADDCUQ_VUQ | |
296 | ||
297 | ; TODO: Note that the entry for VEC_ADDE currently gets ignored in | |
298 | ; altivec_resolve_overloaded_builtin. Revisit whether we can remove | |
299 | ; that. We still need to register the legal builtin forms here. | |
300 | [VEC_ADDE, vec_adde, __builtin_vec_adde] | |
301 | vsq __builtin_vec_adde (vsq, vsq, vsq); | |
302 | VADDEUQM VADDEUQM_VSQ | |
303 | vuq __builtin_vec_adde (vuq, vuq, vuq); | |
304 | VADDEUQM VADDEUQM_VUQ | |
305 | ||
306 | ; TODO: Note that the entry for VEC_ADDEC currently gets ignored in | |
307 | ; altivec_resolve_overloaded_builtin. Revisit whether we can remove | |
308 | ; that. We still need to register the legal builtin forms here. | |
309 | [VEC_ADDEC, vec_addec, __builtin_vec_addec] | |
310 | vsq __builtin_vec_addec (vsq, vsq, vsq); | |
311 | VADDECUQ VADDECUQ_VSQ | |
312 | vuq __builtin_vec_addec (vuq, vuq, vuq); | |
313 | VADDECUQ VADDECUQ_VUQ | |
314 | ||
315 | [VEC_ADDS, vec_adds, __builtin_vec_adds] | |
316 | vuc __builtin_vec_adds (vuc, vuc); | |
317 | VADDUBS | |
318 | vsc __builtin_vec_adds (vsc, vsc); | |
319 | VADDSBS | |
320 | vus __builtin_vec_adds (vus, vus); | |
321 | VADDUHS | |
322 | vss __builtin_vec_adds (vss, vss); | |
323 | VADDSHS | |
324 | vui __builtin_vec_adds (vui, vui); | |
325 | VADDUWS | |
326 | vsi __builtin_vec_adds (vsi, vsi); | |
327 | VADDSWS | |
328 | ; The following variants are deprecated. | |
329 | vuc __builtin_vec_adds (vbc, vuc); | |
330 | VADDUBS VADDUBS_BU | |
331 | vuc __builtin_vec_adds (vuc, vbc); | |
332 | VADDUBS VADDUBS_UB | |
333 | vsc __builtin_vec_adds (vbc, vsc); | |
334 | VADDSBS VADDSBS_BS | |
335 | vsc __builtin_vec_adds (vsc, vbc); | |
336 | VADDSBS VADDSBS_SB | |
337 | vus __builtin_vec_adds (vbs, vus); | |
338 | VADDUHS VADDUHS_BU | |
339 | vus __builtin_vec_adds (vus, vbs); | |
340 | VADDUHS VADDUHS_UB | |
341 | vss __builtin_vec_adds (vbs, vss); | |
342 | VADDSHS VADDSHS_BS | |
343 | vss __builtin_vec_adds (vss, vbs); | |
344 | VADDSHS VADDSHS_SB | |
345 | vui __builtin_vec_adds (vbi, vui); | |
346 | VADDUWS VADDUWS_BU | |
347 | vui __builtin_vec_adds (vui, vbi); | |
348 | VADDUWS VADDUWS_UB | |
349 | vsi __builtin_vec_adds (vbi, vsi); | |
350 | VADDSWS VADDSWS_BS | |
351 | vsi __builtin_vec_adds (vsi, vbi); | |
352 | VADDSWS VADDSWS_SB | |
353 | ||
354 | [VEC_AND, vec_and, __builtin_vec_and] | |
355 | vsc __builtin_vec_and (vsc, vsc); | |
356 | VAND_V16QI | |
357 | vuc __builtin_vec_and (vuc, vuc); | |
358 | VAND_V16QI_UNS VAND_VUC | |
359 | vbc __builtin_vec_and (vbc, vbc); | |
360 | VAND_V16QI_UNS VAND_VBC | |
361 | vss __builtin_vec_and (vss, vss); | |
362 | VAND_V8HI | |
363 | vus __builtin_vec_and (vus, vus); | |
364 | VAND_V8HI_UNS VAND_VUS | |
365 | vbs __builtin_vec_and (vbs, vbs); | |
366 | VAND_V8HI_UNS VAND_VBS | |
367 | vsi __builtin_vec_and (vsi, vsi); | |
368 | VAND_V4SI | |
369 | vui __builtin_vec_and (vui, vui); | |
370 | VAND_V4SI_UNS VAND_VUI | |
371 | vbi __builtin_vec_and (vbi, vbi); | |
372 | VAND_V4SI_UNS VAND_VBI | |
373 | vsll __builtin_vec_and (vsll, vsll); | |
374 | VAND_V2DI | |
375 | vull __builtin_vec_and (vull, vull); | |
376 | VAND_V2DI_UNS VAND_VULL | |
377 | vbll __builtin_vec_and (vbll, vbll); | |
378 | VAND_V2DI_UNS VAND_VBLL | |
379 | vf __builtin_vec_and (vf, vf); | |
380 | VAND_V4SF | |
381 | vd __builtin_vec_and (vd, vd); | |
382 | VAND_V2DF | |
383 | ; The following variants are deprecated. | |
384 | vsc __builtin_vec_and (vsc, vbc); | |
385 | VAND_V16QI VAND_VSC_VBC | |
386 | vsc __builtin_vec_and (vbc, vsc); | |
387 | VAND_V16QI VAND_VBC_VSC | |
388 | vuc __builtin_vec_and (vuc, vbc); | |
389 | VAND_V16QI_UNS VAND_VUC_VBC | |
390 | vuc __builtin_vec_and (vbc, vuc); | |
391 | VAND_V16QI_UNS VAND_VBC_VUC | |
392 | vss __builtin_vec_and (vss, vbs); | |
393 | VAND_V8HI VAND_VSS_VBS | |
394 | vss __builtin_vec_and (vbs, vss); | |
395 | VAND_V8HI VAND_VBS_VSS | |
396 | vus __builtin_vec_and (vus, vbs); | |
397 | VAND_V8HI_UNS VAND_VUS_VBS | |
398 | vus __builtin_vec_and (vbs, vus); | |
399 | VAND_V8HI_UNS VAND_VBS_VUS | |
400 | vsi __builtin_vec_and (vsi, vbi); | |
401 | VAND_V4SI VAND_VSI_VBI | |
402 | vsi __builtin_vec_and (vbi, vsi); | |
403 | VAND_V4SI VAND_VBI_VSI | |
404 | vui __builtin_vec_and (vui, vbi); | |
405 | VAND_V4SI_UNS VAND_VUI_VBI | |
406 | vui __builtin_vec_and (vbi, vui); | |
407 | VAND_V4SI_UNS VAND_VBI_VUI | |
408 | vsll __builtin_vec_and (vsll, vbll); | |
409 | VAND_V2DI VAND_VSLL_VBLL | |
410 | vsll __builtin_vec_and (vbll, vsll); | |
411 | VAND_V2DI VAND_VBLL_VSLL | |
412 | vull __builtin_vec_and (vull, vbll); | |
413 | VAND_V2DI_UNS VAND_VULL_VBLL | |
414 | vull __builtin_vec_and (vbll, vull); | |
415 | VAND_V2DI_UNS VAND_VBLL_VULL | |
416 | vf __builtin_vec_and (vf, vbi); | |
417 | VAND_V4SF VAND_VF_VBI | |
418 | vf __builtin_vec_and (vbi, vf); | |
419 | VAND_V4SF VAND_VBI_VF | |
420 | vd __builtin_vec_and (vd, vbll); | |
421 | VAND_V2DF VAND_VD_VBLL | |
422 | vd __builtin_vec_and (vbll, vd); | |
423 | VAND_V2DF VAND_VBLL_VD | |
424 | ||
425 | [VEC_ANDC, vec_andc, __builtin_vec_andc] | |
426 | vbc __builtin_vec_andc (vbc, vbc); | |
427 | VANDC_V16QI_UNS VANDC_VBC | |
428 | vsc __builtin_vec_andc (vsc, vsc); | |
429 | VANDC_V16QI | |
430 | vuc __builtin_vec_andc (vuc, vuc); | |
431 | VANDC_V16QI_UNS VANDC_VUC | |
432 | vbs __builtin_vec_andc (vbs, vbs); | |
433 | VANDC_V8HI_UNS VANDC_VBS | |
434 | vss __builtin_vec_andc (vss, vss); | |
435 | VANDC_V8HI | |
436 | vus __builtin_vec_andc (vus, vus); | |
437 | VANDC_V8HI_UNS VANDC_VUS | |
438 | vbi __builtin_vec_andc (vbi, vbi); | |
439 | VANDC_V4SI_UNS VANDC_VBI | |
440 | vsi __builtin_vec_andc (vsi, vsi); | |
441 | VANDC_V4SI | |
442 | vui __builtin_vec_andc (vui, vui); | |
443 | VANDC_V4SI_UNS VANDC_VUI | |
444 | vbll __builtin_vec_andc (vbll, vbll); | |
445 | VANDC_V2DI_UNS VANDC_VBLL | |
446 | vsll __builtin_vec_andc (vsll, vsll); | |
447 | VANDC_V2DI | |
448 | vull __builtin_vec_andc (vull, vull); | |
449 | VANDC_V2DI_UNS VANDC_VULL | |
450 | vf __builtin_vec_andc (vf, vf); | |
451 | VANDC_V4SF | |
452 | vd __builtin_vec_andc (vd, vd); | |
453 | VANDC_V2DF | |
454 | ; The following variants are deprecated. | |
455 | vsc __builtin_vec_andc (vsc, vbc); | |
456 | VANDC_V16QI VANDC_VSC_VBC | |
457 | vsc __builtin_vec_andc (vbc, vsc); | |
458 | VANDC_V16QI VANDC_VBC_VSC | |
459 | vuc __builtin_vec_andc (vuc, vbc); | |
460 | VANDC_V16QI_UNS VANDC_VUC_VBC | |
461 | vuc __builtin_vec_andc (vbc, vuc); | |
462 | VANDC_V16QI_UNS VANDC_VBC_VUC | |
463 | vss __builtin_vec_andc (vss, vbs); | |
464 | VANDC_V8HI VANDC_VSS_VBS | |
465 | vss __builtin_vec_andc (vbs, vss); | |
466 | VANDC_V8HI VANDC_VBS_VSS | |
467 | vus __builtin_vec_andc (vus, vbs); | |
468 | VANDC_V8HI_UNS VANDC_VUS_VBS | |
469 | vus __builtin_vec_andc (vbs, vus); | |
470 | VANDC_V8HI_UNS VANDC_VBS_VUS | |
471 | vsi __builtin_vec_andc (vsi, vbi); | |
472 | VANDC_V4SI VANDC_VSI_VBI | |
473 | vsi __builtin_vec_andc (vbi, vsi); | |
474 | VANDC_V4SI VANDC_VBI_VSI | |
475 | vui __builtin_vec_andc (vui, vbi); | |
476 | VANDC_V4SI_UNS VANDC_VUI_VBI | |
477 | vui __builtin_vec_andc (vbi, vui); | |
478 | VANDC_V4SI_UNS VANDC_VBI_VUI | |
479 | vsll __builtin_vec_andc (vsll, vbll); | |
480 | VANDC_V2DI VANDC_VSLL_VBLL | |
481 | vsll __builtin_vec_andc (vbll, vsll); | |
482 | VANDC_V2DI VANDC_VBLL_VSLL | |
483 | vull __builtin_vec_andc (vull, vbll); | |
484 | VANDC_V2DI_UNS VANDC_VULL_VBLL | |
485 | vull __builtin_vec_andc (vbll, vull); | |
486 | VANDC_V2DI_UNS VANDC_VBLL_VULL | |
487 | vf __builtin_vec_andc (vf, vbi); | |
488 | VANDC_V4SF VANDC_VF_VBI | |
489 | vf __builtin_vec_andc (vbi, vf); | |
490 | VANDC_V4SF VANDC_VBI_VF | |
491 | vd __builtin_vec_andc (vd, vbll); | |
492 | VANDC_V2DF VANDC_VD_VBLL | |
493 | vd __builtin_vec_andc (vbll, vd); | |
494 | VANDC_V2DF VANDC_VBLL_VD | |
495 | ||
496 | [VEC_AVG, vec_avg, __builtin_vec_avg] | |
497 | vsc __builtin_vec_avg (vsc, vsc); | |
498 | VAVGSB | |
499 | vuc __builtin_vec_avg (vuc, vuc); | |
500 | VAVGUB | |
501 | vss __builtin_vec_avg (vss, vss); | |
502 | VAVGSH | |
503 | vus __builtin_vec_avg (vus, vus); | |
504 | VAVGUH | |
505 | vsi __builtin_vec_avg (vsi, vsi); | |
506 | VAVGSW | |
507 | vui __builtin_vec_avg (vui, vui); | |
508 | VAVGUW | |
509 | ||
7e836079 | 510 | [VEC_BLENDV, vec_blendv, __builtin_vec_xxblend] |
e2693a72 BS |
511 | vsc __builtin_vec_xxblend (vsc, vsc, vuc); |
512 | VXXBLEND_V16QI VXXBLEND_VSC | |
513 | vuc __builtin_vec_xxblend (vuc, vuc, vuc); | |
514 | VXXBLEND_V16QI VXXBLEND_VUC | |
515 | vss __builtin_vec_xxblend (vss, vss, vus); | |
516 | VXXBLEND_V8HI VXXBLEND_VSS | |
517 | vus __builtin_vec_xxblend (vus, vus, vus); | |
518 | VXXBLEND_V8HI VXXBLEND_VUS | |
519 | vsi __builtin_vec_xxblend (vsi, vsi, vui); | |
520 | VXXBLEND_V4SI VXXBLEND_VSI | |
521 | vui __builtin_vec_xxblend (vui, vui, vui); | |
522 | VXXBLEND_V4SI VXXBLEND_VUI | |
523 | vsll __builtin_vec_xxblend (vsll, vsll, vull); | |
524 | VXXBLEND_V2DI VXXBLEND_VSLL | |
525 | vull __builtin_vec_xxblend (vull, vull, vull); | |
526 | VXXBLEND_V2DI VXXBLEND_VULL | |
527 | vf __builtin_vec_xxblend (vf, vf, vui); | |
528 | VXXBLEND_V4SF | |
529 | vd __builtin_vec_xxblend (vd, vd, vull); | |
530 | VXXBLEND_V2DF | |
531 | ||
7e836079 | 532 | [VEC_BPERM, vec_bperm, __builtin_vec_vbperm_api] |
e2693a72 BS |
533 | vull __builtin_vec_vbperm_api (vull, vuc); |
534 | VBPERMD VBPERMD_VULL | |
535 | vull __builtin_vec_vbperm_api (vuq, vuc); | |
536 | VBPERMQ VBPERMQ_VUQ | |
537 | vuc __builtin_vec_vbperm_api (vuc, vuc); | |
538 | VBPERMQ2 VBPERMQ2_U | |
539 | vsc __builtin_vec_vbperm_api (vsc, vsc); | |
540 | VBPERMQ2 VBPERMQ2_S | |
541 | ||
542 | [VEC_CEIL, vec_ceil, __builtin_vec_ceil] | |
543 | vf __builtin_vec_ceil (vf); | |
544 | VRFIP | |
545 | vd __builtin_vec_ceil (vd); | |
546 | XVRDPIP | |
547 | ||
7e836079 | 548 | [VEC_CFUGE, vec_cfuge, __builtin_vec_cfuge] |
e2693a72 BS |
549 | vull __builtin_vec_cfuge (vull, vull); |
550 | VCFUGED | |
551 | ||
7e836079 | 552 | [VEC_CIPHER_BE, vec_cipher_be, __builtin_vec_vcipher_be] |
e2693a72 BS |
553 | vuc __builtin_vec_vcipher_be (vuc, vuc); |
554 | VCIPHER_BE | |
555 | ||
7e836079 | 556 | [VEC_CIPHERLAST_BE, vec_cipherlast_be, __builtin_vec_vcipherlast_be] |
e2693a72 BS |
557 | vuc __builtin_vec_vcipherlast_be (vuc, vuc); |
558 | VCIPHERLAST_BE | |
559 | ||
7e836079 | 560 | [VEC_CLRL, vec_clrl, __builtin_vec_clrl] |
e2693a72 BS |
561 | vsc __builtin_vec_clrl (vsc, unsigned int); |
562 | VCLRLB VCLRLB_S | |
563 | vuc __builtin_vec_clrl (vuc, unsigned int); | |
564 | VCLRLB VCLRLB_U | |
565 | ||
7e836079 | 566 | [VEC_CLRR, vec_clrr, __builtin_vec_clrr] |
e2693a72 BS |
567 | vsc __builtin_vec_clrr (vsc, unsigned int); |
568 | VCLRRB VCLRRB_S | |
569 | vuc __builtin_vec_clrr (vuc, unsigned int); | |
570 | VCLRRB VCLRRB_U | |
571 | ||
572 | ; We skip generating a #define because of the C-versus-C++ complexity | |
573 | ; in altivec.h. Look there for the template-y details. | |
574 | [VEC_CMPAE_P, SKIP, __builtin_vec_vcmpae_p] | |
575 | signed int __builtin_vec_vcmpae_p (vsc, vsc); | |
576 | VCMPAEB_P VCMPAEB_VSC_P | |
577 | signed int __builtin_vec_vcmpae_p (vuc, vuc); | |
578 | VCMPAEB_P VCMPAEB_VUC_P | |
579 | signed int __builtin_vec_vcmpae_p (vbc, vbc); | |
580 | VCMPAEB_P VCMPAEB_VBC_P | |
581 | signed int __builtin_vec_vcmpae_p (vss, vss); | |
582 | VCMPAEH_P VCMPAEH_VSS_P | |
583 | signed int __builtin_vec_vcmpae_p (vus, vus); | |
584 | VCMPAEH_P VCMPAEH_VUS_P | |
585 | signed int __builtin_vec_vcmpae_p (vbs, vbs); | |
586 | VCMPAEH_P VCMPAEH_VBS_P | |
587 | signed int __builtin_vec_vcmpae_p (vp, vp); | |
588 | VCMPAEH_P VCMPAEH_VP_P | |
589 | signed int __builtin_vec_vcmpae_p (vsi, vsi); | |
590 | VCMPAEW_P VCMPAEW_VSI_P | |
591 | signed int __builtin_vec_vcmpae_p (vui, vui); | |
592 | VCMPAEW_P VCMPAEW_VUI_P | |
593 | signed int __builtin_vec_vcmpae_p (vbi, vbi); | |
594 | VCMPAEW_P VCMPAEW_VBI_P | |
595 | signed int __builtin_vec_vcmpae_p (vsll, vsll); | |
596 | VCMPAED_P VCMPAED_VSLL_P | |
597 | signed int __builtin_vec_vcmpae_p (vull, vull); | |
598 | VCMPAED_P VCMPAED_VULL_P | |
599 | signed int __builtin_vec_vcmpae_p (vbll, vbll); | |
600 | VCMPAED_P VCMPAED_VBLL_P | |
601 | signed int __builtin_vec_vcmpae_p (vsq, vsq); | |
602 | VCMPAET_P VCMPAET_VSQ_P | |
603 | signed int __builtin_vec_vcmpae_p (vuq, vuq); | |
604 | VCMPAET_P VCMPAET_VUQ_P | |
605 | signed int __builtin_vec_vcmpae_p (vf, vf); | |
606 | VCMPAEFP_P | |
607 | signed int __builtin_vec_vcmpae_p (vd, vd); | |
608 | VCMPAEDP_P | |
609 | ; The following variants are deprecated. | |
610 | signed int __builtin_vec_vcmpae_p (signed int, vbc, vuc); | |
611 | VCMPAEB_P VCMPAEB_P_BU | |
612 | signed int __builtin_vec_vcmpae_p (signed int, vuc, vbc); | |
613 | VCMPAEB_P VCMPAEB_P_UB | |
614 | signed int __builtin_vec_vcmpae_p (signed int, vbc, vsc); | |
615 | VCMPAEB_P VCMPAEB_P_BS | |
616 | signed int __builtin_vec_vcmpae_p (signed int, vsc, vbc); | |
617 | VCMPAEB_P VCMPAEB_P_SB | |
618 | signed int __builtin_vec_vcmpae_p (signed int, vbs, vus); | |
619 | VCMPAEH_P VCMPAEH_P_BU | |
620 | signed int __builtin_vec_vcmpae_p (signed int, vus, vbs); | |
621 | VCMPAEH_P VCMPAEH_P_UB | |
622 | signed int __builtin_vec_vcmpae_p (signed int, vbs, vss); | |
623 | VCMPAEH_P VCMPAEH_P_BS | |
624 | signed int __builtin_vec_vcmpae_p (signed int, vss, vbs); | |
625 | VCMPAEH_P VCMPAEH_P_SB | |
626 | signed int __builtin_vec_vcmpae_p (signed int, vbi, vui); | |
627 | VCMPAEW_P VCMPAEW_P_BU | |
628 | signed int __builtin_vec_vcmpae_p (signed int, vui, vbi); | |
629 | VCMPAEW_P VCMPAEW_P_UB | |
630 | signed int __builtin_vec_vcmpae_p (signed int, vbi, vsi); | |
631 | VCMPAEW_P VCMPAEW_P_BS | |
632 | signed int __builtin_vec_vcmpae_p (signed int, vsi, vbi); | |
633 | VCMPAEW_P VCMPAEW_P_SB | |
634 | signed int __builtin_vec_vcmpae_p (signed int, vbll, vull); | |
635 | VCMPAED_P VCMPAED_P_BU | |
636 | signed int __builtin_vec_vcmpae_p (signed int, vull, vbll); | |
637 | VCMPAED_P VCMPAED_P_UB | |
638 | signed int __builtin_vec_vcmpae_p (signed int, vbll, vsll); | |
639 | VCMPAED_P VCMPAED_P_BS | |
640 | signed int __builtin_vec_vcmpae_p (signed int, vbll, vsll); | |
641 | VCMPAED_P VCMPAED_P_SB | |
642 | ||
643 | [VEC_CMPB, vec_cmpb, __builtin_vec_cmpb] | |
644 | vsi __builtin_vec_cmpb (vf, vf); | |
645 | VCMPBFP | |
646 | ||
647 | [VEC_CMPEQ, vec_cmpeq, __builtin_vec_cmpeq] | |
648 | vbc __builtin_vec_cmpeq (vsc, vsc); | |
649 | VCMPEQUB VCMPEQUB_VSC | |
650 | vbc __builtin_vec_cmpeq (vuc, vuc); | |
651 | VCMPEQUB VCMPEQUB_VUC | |
652 | vbc __builtin_vec_cmpeq (vbc, vbc); | |
653 | VCMPEQUB VCMPEQUB_VBC | |
654 | vbs __builtin_vec_cmpeq (vss, vss); | |
655 | VCMPEQUH VCMPEQUH_VSS | |
656 | vbs __builtin_vec_cmpeq (vus, vus); | |
657 | VCMPEQUH VCMPEQUH_VUS | |
658 | vbs __builtin_vec_cmpeq (vbs, vbs); | |
659 | VCMPEQUH VCMPEQUH_VBS | |
660 | vbi __builtin_vec_cmpeq (vsi, vsi); | |
661 | VCMPEQUW VCMPEQUW_VSI | |
662 | vbi __builtin_vec_cmpeq (vui, vui); | |
663 | VCMPEQUW VCMPEQUW_VUI | |
664 | vbi __builtin_vec_cmpeq (vbi, vbi); | |
665 | VCMPEQUW VCMPEQUW_VBI | |
666 | vbll __builtin_vec_cmpeq (vsll, vsll); | |
667 | VCMPEQUD VCMPEQUD_VSLL | |
668 | vbll __builtin_vec_cmpeq (vull, vull); | |
669 | VCMPEQUD VCMPEQUD_VULL | |
670 | vbll __builtin_vec_cmpeq (vbll, vbll); | |
671 | VCMPEQUD VCMPEQUD_VBLL | |
672 | vbq __builtin_vec_cmpeq (vsq, vsq); | |
673 | VCMPEQUT VCMPEQUT_VSQ | |
674 | vbq __builtin_vec_cmpeq (vuq, vuq); | |
675 | VCMPEQUT VCMPEQUT_VUQ | |
676 | vbi __builtin_vec_cmpeq (vf, vf); | |
677 | VCMPEQFP | |
678 | vbll __builtin_vec_cmpeq (vd, vd); | |
679 | XVCMPEQDP | |
680 | ||
681 | ; We skip generating a #define because of the C-versus-C++ complexity | |
682 | ; in altivec.h. Look there for the template-y details. | |
683 | [VEC_CMPEQ_P, SKIP, __builtin_vec_vcmpeq_p] | |
684 | signed int __builtin_vec_vcmpeq_p (signed int, vuc, vuc); | |
685 | VCMPEQUB_P VCMPEQUB_PU | |
686 | signed int __builtin_vec_vcmpeq_p (signed int, vsc, vsc); | |
687 | VCMPEQUB_P VCMPEQUB_PS | |
688 | signed int __builtin_vec_vcmpeq_p (signed int, vbc, vbc); | |
689 | VCMPEQUB_P VCMPEQUB_PB | |
690 | signed int __builtin_vec_vcmpeq_p (signed int, vus, vus); | |
691 | VCMPEQUH_P VCMPEQUH_PU | |
692 | signed int __builtin_vec_vcmpeq_p (signed int, vss, vss); | |
693 | VCMPEQUH_P VCMPEQUH_PS | |
694 | signed int __builtin_vec_vcmpeq_p (signed int, vbs, vbs); | |
695 | VCMPEQUH_P VCMPEQUH_PB | |
696 | signed int __builtin_vec_vcmpeq_p (signed int, vp, vp); | |
697 | VCMPEQUH_P VCMPEQUH_PP | |
698 | signed int __builtin_vec_vcmpeq_p (signed int, vui, vui); | |
699 | VCMPEQUW_P VCMPEQUW_PU | |
700 | signed int __builtin_vec_vcmpeq_p (signed int, vsi, vsi); | |
701 | VCMPEQUW_P VCMPEQUW_PS | |
702 | signed int __builtin_vec_vcmpeq_p (signed int, vbi, vbi); | |
703 | VCMPEQUW_P VCMPEQUW_PB | |
704 | signed int __builtin_vec_vcmpeq_p (signed int, vull, vull); | |
705 | VCMPEQUD_P VCMPEQUD_PU | |
706 | signed int __builtin_vec_vcmpeq_p (signed int, vsll, vsll); | |
707 | VCMPEQUD_P VCMPEQUD_PS | |
708 | signed int __builtin_vec_vcmpeq_p (signed int, vbll, vbll); | |
709 | VCMPEQUD_P VCMPEQUD_PB | |
710 | signed int __builtin_vec_vcmpeq_p (signed int, vsq, vsq); | |
711 | VCMPEQUT_P VCMPEQUT_P_VSQ | |
712 | signed int __builtin_vec_vcmpeq_p (signed int, vuq, vuq); | |
713 | VCMPEQUT_P VCMPEQUT_P_VUQ | |
714 | signed int __builtin_vec_vcmpeq_p (signed int, vf, vf); | |
715 | VCMPEQFP_P | |
716 | signed int __builtin_vec_vcmpeq_p (signed int, vd, vd); | |
717 | XVCMPEQDP_P | |
718 | ; The following variants are deprecated. | |
719 | signed int __builtin_vec_vcmpeq_p (signed int, vbc, vuc); | |
720 | VCMPEQUB_P VCMPEQUB_P_BU | |
721 | signed int __builtin_vec_vcmpeq_p (signed int, vuc, vbc); | |
722 | VCMPEQUB_P VCMPEQUB_P_UB | |
723 | signed int __builtin_vec_vcmpeq_p (signed int, vbc, vsc); | |
724 | VCMPEQUB_P VCMPEQUB_P_BS | |
725 | signed int __builtin_vec_vcmpeq_p (signed int, vsc, vbc); | |
726 | VCMPEQUB_P VCMPEQUB_P_SB | |
727 | signed int __builtin_vec_vcmpeq_p (signed int, vbs, vus); | |
728 | VCMPEQUH_P VCMPEQUH_P_BU | |
729 | signed int __builtin_vec_vcmpeq_p (signed int, vus, vbs); | |
730 | VCMPEQUH_P VCMPEQUH_P_UB | |
731 | signed int __builtin_vec_vcmpeq_p (signed int, vbs, vss); | |
732 | VCMPEQUH_P VCMPEQUH_P_BS | |
733 | signed int __builtin_vec_vcmpeq_p (signed int, vss, vbs); | |
734 | VCMPEQUH_P VCMPEQUH_P_SB | |
735 | signed int __builtin_vec_vcmpeq_p (signed int, vbi, vui); | |
736 | VCMPEQUW_P VCMPEQUW_P_BU | |
737 | signed int __builtin_vec_vcmpeq_p (signed int, vui, vbi); | |
738 | VCMPEQUW_P VCMPEQUW_P_UB | |
739 | signed int __builtin_vec_vcmpeq_p (signed int, vbi, vsi); | |
740 | VCMPEQUW_P VCMPEQUW_P_BS | |
741 | signed int __builtin_vec_vcmpeq_p (signed int, vsi, vbi); | |
742 | VCMPEQUW_P VCMPEQUW_P_SB | |
743 | signed int __builtin_vec_vcmpeq_p (signed int, vbll, vull); | |
744 | VCMPEQUD_P VCMPEQUD_P_BU | |
745 | signed int __builtin_vec_vcmpeq_p (signed int, vull, vbll); | |
746 | VCMPEQUD_P VCMPEQUD_P_UB | |
747 | signed int __builtin_vec_vcmpeq_p (signed int, vbll, vsll); | |
748 | VCMPEQUD_P VCMPEQUD_P_BS | |
749 | signed int __builtin_vec_vcmpeq_p (signed int, vbll, vsll); | |
750 | VCMPEQUD_P VCMPEQUD_P_SB | |
751 | ||
752 | [VEC_CMPEQB, SKIP, __builtin_byte_in_set] | |
753 | signed int __builtin_byte_in_set (unsigned int, unsigned long long); | |
754 | CMPEQB | |
755 | ||
756 | [VEC_CMPGE, vec_cmpge, __builtin_vec_cmpge] | |
757 | vbc __builtin_vec_cmpge (vsc, vsc); | |
758 | CMPGE_16QI CMPGE_16QI_VSC | |
759 | vbc __builtin_vec_cmpge (vuc, vuc); | |
760 | CMPGE_U16QI CMPGE_16QI_VUC | |
761 | vbs __builtin_vec_cmpge (vss, vss); | |
762 | CMPGE_8HI CMPGE_8HI_VSS | |
763 | vbs __builtin_vec_cmpge (vus, vus); | |
764 | CMPGE_U8HI CMPGE_8HI_VUS | |
765 | vbi __builtin_vec_cmpge (vsi, vsi); | |
766 | CMPGE_4SI CMPGE_4SI_VSI | |
767 | vbi __builtin_vec_cmpge (vui, vui); | |
768 | CMPGE_U4SI CMPGE_4SI_VUI | |
769 | vbll __builtin_vec_cmpge (vsll, vsll); | |
770 | CMPGE_2DI CMPGE_2DI_VSLL | |
771 | vbll __builtin_vec_cmpge (vull, vull); | |
772 | CMPGE_U2DI CMPGE_2DI_VULL | |
773 | vbq __builtin_vec_cmpge (vsq, vsq); | |
774 | CMPGE_1TI | |
775 | vbq __builtin_vec_cmpge (vuq, vuq); | |
776 | CMPGE_U1TI | |
777 | vbi __builtin_vec_cmpge (vf, vf); | |
778 | VCMPGEFP | |
779 | vbll __builtin_vec_cmpge (vd, vd); | |
780 | XVCMPGEDP | |
781 | ||
782 | ; We skip generating a #define because of the C-versus-C++ complexity | |
783 | ; in altivec.h. Look there for the template-y details. | |
784 | ; See altivec_build_resolved_builtin for how we deal with VEC_CMPGE_P. | |
785 | ; It's quite strange and horrible! | |
786 | [VEC_CMPGE_P, SKIP, __builtin_vec_vcmpge_p] | |
787 | signed int __builtin_vec_vcmpge_p (signed int, vuc, vuc); | |
788 | VCMPGTUB_P VCMPGTUB_PR | |
789 | signed int __builtin_vec_vcmpge_p (signed int, vsc, vsc); | |
790 | VCMPGTSB_P VCMPGTSB_PR | |
791 | signed int __builtin_vec_vcmpge_p (signed int, vus, vus); | |
792 | VCMPGTUH_P VCMPGTUH_PR | |
793 | signed int __builtin_vec_vcmpge_p (signed int, vss, vss); | |
794 | VCMPGTSH_P VCMPGTSH_PR | |
795 | signed int __builtin_vec_vcmpge_p (signed int, vui, vui); | |
796 | VCMPGTUW_P VCMPGTUW_PR | |
797 | signed int __builtin_vec_vcmpge_p (signed int, vsi, vsi); | |
798 | VCMPGTSW_P VCMPGTSW_PR | |
799 | signed int __builtin_vec_vcmpge_p (signed int, vull, vull); | |
800 | VCMPGTUD_P VCMPGTUD_PR | |
801 | signed int __builtin_vec_vcmpge_p (signed int, vsll, vsll); | |
802 | VCMPGTSD_P VCMPGTSD_PR | |
803 | signed int __builtin_vec_vcmpge_p (signed int, vuq, vuq); | |
804 | VCMPGTUT_P VCMPGTUT_PR | |
805 | signed int __builtin_vec_vcmpge_p (signed int, vsq, vsq); | |
806 | VCMPGTST_P VCMPGTST_PR | |
807 | signed int __builtin_vec_vcmpge_p (signed int, vf, vf); | |
808 | VCMPGEFP_P | |
809 | signed int __builtin_vec_vcmpge_p (signed int, vd, vd); | |
810 | XVCMPGEDP_P | |
811 | ; The following variants are deprecated. | |
812 | signed int __builtin_vec_vcmpge_p (signed int, vbc, vuc); | |
813 | VCMPGTUB_P VCMPGTUB_PR_BU | |
814 | signed int __builtin_vec_vcmpge_p (signed int, vuc, vbc); | |
815 | VCMPGTUB_P VCMPGTUB_PR_UB | |
816 | signed int __builtin_vec_vcmpge_p (signed int, vbc, vsc); | |
817 | VCMPGTSB_P VCMPGTSB_PR_BS | |
818 | signed int __builtin_vec_vcmpge_p (signed int, vsc, vbc); | |
819 | VCMPGTSB_P VCMPGTSB_PR_SB | |
820 | signed int __builtin_vec_vcmpge_p (signed int, vbs, vus); | |
821 | VCMPGTUH_P VCMPGTUH_PR_BU | |
822 | signed int __builtin_vec_vcmpge_p (signed int, vus, vbs); | |
823 | VCMPGTUH_P VCMPGTUH_PR_UB | |
824 | signed int __builtin_vec_vcmpge_p (signed int, vbs, vss); | |
825 | VCMPGTSH_P VCMPGTSH_PR_BS | |
826 | signed int __builtin_vec_vcmpge_p (signed int, vss, vbs); | |
827 | VCMPGTSH_P VCMPGTSH_PR_SB | |
828 | signed int __builtin_vec_vcmpge_p (signed int, vbi, vui); | |
829 | VCMPGTUW_P VCMPGTUW_PR_BU | |
830 | signed int __builtin_vec_vcmpge_p (signed int, vui, vbi); | |
831 | VCMPGTUW_P VCMPGTUW_PR_UB | |
832 | signed int __builtin_vec_vcmpge_p (signed int, vbi, vsi); | |
833 | VCMPGTSW_P VCMPGTSW_PR_BS | |
834 | signed int __builtin_vec_vcmpge_p (signed int, vsi, vbi); | |
835 | VCMPGTSW_P VCMPGTSW_PR_SB | |
836 | signed int __builtin_vec_vcmpge_p (signed int, vbll, vull); | |
837 | VCMPGTUD_P VCMPGTUD_PR_BU | |
838 | signed int __builtin_vec_vcmpge_p (signed int, vull, vbll); | |
839 | VCMPGTUD_P VCMPGTUD_PR_UB | |
840 | signed int __builtin_vec_vcmpge_p (signed int, vbll, vsll); | |
841 | VCMPGTSD_P VCMPGTSD_PR_BS | |
842 | signed int __builtin_vec_vcmpge_p (signed int, vsll, vbll); | |
843 | VCMPGTSD_P VCMPGTSD_PR_SB | |
844 | ||
845 | [VEC_CMPGT, vec_cmpgt, __builtin_vec_cmpgt] | |
846 | vbc __builtin_vec_cmpgt (vsc, vsc); | |
847 | VCMPGTSB | |
848 | vbc __builtin_vec_cmpgt (vuc, vuc); | |
849 | VCMPGTUB | |
850 | vbs __builtin_vec_cmpgt (vss, vss); | |
851 | VCMPGTSH | |
852 | vbs __builtin_vec_cmpgt (vus, vus); | |
853 | VCMPGTUH | |
854 | vbi __builtin_vec_cmpgt (vsi, vsi); | |
855 | VCMPGTSW | |
856 | vbi __builtin_vec_cmpgt (vui, vui); | |
857 | VCMPGTUW | |
858 | vbll __builtin_vec_cmpgt (vsll, vsll); | |
859 | VCMPGTSD | |
860 | vbll __builtin_vec_cmpgt (vull, vull); | |
861 | VCMPGTUD | |
862 | vbq __builtin_vec_cmpgt (vsq, vsq); | |
863 | VCMPGTST | |
864 | vbq __builtin_vec_cmpgt (vuq, vuq); | |
865 | VCMPGTUT | |
866 | vbi __builtin_vec_cmpgt (vf, vf); | |
867 | VCMPGTFP | |
868 | vbll __builtin_vec_cmpgt (vd, vd); | |
869 | XVCMPGTDP | |
870 | ||
871 | ; We skip generating a #define because of the C-versus-C++ complexity | |
872 | ; in altivec.h. Look there for the template-y details. | |
873 | [VEC_CMPGT_P, SKIP, __builtin_vec_vcmpgt_p] | |
874 | signed int __builtin_vec_vcmpgt_p (signed int, vuc, vuc); | |
875 | VCMPGTUB_P | |
876 | signed int __builtin_vec_vcmpgt_p (signed int, vsc, vsc); | |
877 | VCMPGTSB_P | |
878 | signed int __builtin_vec_vcmpgt_p (signed int, vus, vus); | |
879 | VCMPGTUH_P | |
880 | signed int __builtin_vec_vcmpgt_p (signed int, vss, vss); | |
881 | VCMPGTSH_P | |
882 | signed int __builtin_vec_vcmpgt_p (signed int, vui, vui); | |
883 | VCMPGTUW_P | |
884 | signed int __builtin_vec_vcmpgt_p (signed int, vsi, vsi); | |
885 | VCMPGTSW_P | |
886 | signed int __builtin_vec_vcmpgt_p (signed int, vull, vull); | |
887 | VCMPGTUD_P | |
888 | signed int __builtin_vec_vcmpgt_p (signed int, vsll, vsll); | |
889 | VCMPGTSD_P | |
890 | signed int __builtin_vec_vcmpgt_p (signed int, vuq, vuq); | |
891 | VCMPGTUT_P | |
892 | signed int __builtin_vec_vcmpgt_p (signed int, vsq, vsq); | |
893 | VCMPGTST_P | |
894 | signed int __builtin_vec_vcmpgt_p (signed int, vf, vf); | |
895 | VCMPGTFP_P | |
896 | signed int __builtin_vec_vcmpgt_p (signed int, vd, vd); | |
897 | XVCMPGTDP_P | |
898 | ; The following variants are deprecated. | |
899 | signed int __builtin_vec_vcmpgt_p (signed int, vbc, vuc); | |
900 | VCMPGTUB_P VCMPGTUB_P_BU | |
901 | signed int __builtin_vec_vcmpgt_p (signed int, vuc, vbc); | |
902 | VCMPGTUB_P VCMPGTUB_P_UB | |
903 | signed int __builtin_vec_vcmpgt_p (signed int, vbc, vsc); | |
904 | VCMPGTSB_P VCMPGTSB_P_BS | |
905 | signed int __builtin_vec_vcmpgt_p (signed int, vsc, vbc); | |
906 | VCMPGTSB_P VCMPGTSB_P_SB | |
907 | signed int __builtin_vec_vcmpgt_p (signed int, vbs, vus); | |
908 | VCMPGTUH_P VCMPGTUH_P_BU | |
909 | signed int __builtin_vec_vcmpgt_p (signed int, vus, vbs); | |
910 | VCMPGTUH_P VCMPGTUH_P_UB | |
911 | signed int __builtin_vec_vcmpgt_p (signed int, vbs, vss); | |
912 | VCMPGTSH_P VCMPGTSH_P_BS | |
913 | signed int __builtin_vec_vcmpgt_p (signed int, vss, vbs); | |
914 | VCMPGTSH_P VCMPGTSH_P_SB | |
915 | signed int __builtin_vec_vcmpgt_p (signed int, vbi, vui); | |
916 | VCMPGTUW_P VCMPGTUW_P_BU | |
917 | signed int __builtin_vec_vcmpgt_p (signed int, vui, vbi); | |
918 | VCMPGTUW_P VCMPGTUW_P_UB | |
919 | signed int __builtin_vec_vcmpgt_p (signed int, vbi, vsi); | |
920 | VCMPGTSW_P VCMPGTSW_P_BS | |
921 | signed int __builtin_vec_vcmpgt_p (signed int, vsi, vbi); | |
922 | VCMPGTSW_P VCMPGTSW_P_SB | |
923 | signed int __builtin_vec_vcmpgt_p (signed int, vbll, vull); | |
924 | VCMPGTUD_P VCMPGTUD_P_BU | |
925 | signed int __builtin_vec_vcmpgt_p (signed int, vull, vbll); | |
926 | VCMPGTUD_P VCMPGTUD_P_UB | |
927 | signed int __builtin_vec_vcmpgt_p (signed int, vbll, vsll); | |
928 | VCMPGTSD_P VCMPGTSD_P_BS | |
929 | signed int __builtin_vec_vcmpgt_p (signed int, vsll, vbll); | |
930 | VCMPGTSD_P VCMPGTSD_P_SB | |
931 | ||
932 | ; Note that there is no entry for VEC_CMPLE. VEC_CMPLE is implemented | |
933 | ; using VEC_CMPGE with reversed arguments in altivec.h. | |
934 | ||
935 | ; Note that there is no entry for VEC_CMPLT. VEC_CMPLT is implemented | |
936 | ; using VEC_CMPGT with reversed arguments in altivec.h. | |
937 | ||
938 | [VEC_CMPNE, vec_cmpne, __builtin_vec_cmpne] | |
939 | vbc __builtin_vec_cmpne (vbc, vbc); | |
940 | VCMPNEB VCMPNEB_VBC | |
941 | vbc __builtin_vec_cmpne (vsc, vsc); | |
942 | VCMPNEB VCMPNEB_VSC | |
943 | vbc __builtin_vec_cmpne (vuc, vuc); | |
944 | VCMPNEB VCMPNEB_VUC | |
945 | vbs __builtin_vec_cmpne (vbs, vbs); | |
946 | VCMPNEH VCMPNEH_VBS | |
947 | vbs __builtin_vec_cmpne (vss, vss); | |
948 | VCMPNEH VCMPNEH_VSS | |
949 | vbs __builtin_vec_cmpne (vus, vus); | |
950 | VCMPNEH VCMPNEH_VUS | |
951 | vbi __builtin_vec_cmpne (vbi, vbi); | |
952 | VCMPNEW VCMPNEW_VBI | |
953 | vbi __builtin_vec_cmpne (vsi, vsi); | |
954 | VCMPNEW VCMPNEW_VSI | |
955 | vbi __builtin_vec_cmpne (vui, vui); | |
956 | VCMPNEW VCMPNEW_VUI | |
957 | vbq __builtin_vec_cmpne (vsq, vsq); | |
958 | VCMPNET VCMPNET_VSQ | |
959 | vbq __builtin_vec_cmpne (vuq, vuq); | |
960 | VCMPNET VCMPNET_VUQ | |
961 | ||
962 | ; We skip generating a #define because of the C-versus-C++ complexity | |
963 | ; in altivec.h. Look there for the template-y details. | |
964 | [VEC_CMPNE_P, SKIP, __builtin_vec_vcmpne_p] | |
965 | signed int __builtin_vec_vcmpne_p (vsc, vsc); | |
966 | VCMPNEB_P VCMPNEB_VSC_P | |
967 | signed int __builtin_vec_vcmpne_p (vuc, vuc); | |
968 | VCMPNEB_P VCMPNEB_VUC_P | |
969 | signed int __builtin_vec_vcmpne_p (vbc, vbc); | |
970 | VCMPNEB_P VCMPNEB_VBC_P | |
971 | signed int __builtin_vec_vcmpne_p (vss, vss); | |
972 | VCMPNEH_P VCMPNEH_VSS_P | |
973 | signed int __builtin_vec_vcmpne_p (vus, vus); | |
974 | VCMPNEH_P VCMPNEH_VUS_P | |
975 | signed int __builtin_vec_vcmpne_p (vbs, vbs); | |
976 | VCMPNEH_P VCMPNEH_VBS_P | |
977 | signed int __builtin_vec_vcmpne_p (vp, vp); | |
978 | VCMPNEH_P VCMPNEH_VP_P | |
979 | signed int __builtin_vec_vcmpne_p (vsi, vsi); | |
980 | VCMPNEW_P VCMPNEW_VSI_P | |
981 | signed int __builtin_vec_vcmpne_p (vui, vui); | |
982 | VCMPNEW_P VCMPNEW_VUI_P | |
983 | signed int __builtin_vec_vcmpne_p (vbi, vbi); | |
984 | VCMPNEW_P VCMPNEW_VBI_P | |
985 | signed int __builtin_vec_vcmpne_p (vsll, vsll); | |
986 | VCMPNED_P VCMPNED_VSLL_P | |
987 | signed int __builtin_vec_vcmpne_p (vull, vull); | |
988 | VCMPNED_P VCMPNED_VULL_P | |
989 | signed int __builtin_vec_vcmpne_p (vbll, vbll); | |
990 | VCMPNED_P VCMPNED_VBLL_P | |
991 | signed int __builtin_vec_vcmpne_p (vsq, vsq); | |
992 | VCMPNET_P VCMPNET_VSQ_P | |
993 | signed int __builtin_vec_vcmpne_p (vuq, vuq); | |
994 | VCMPNET_P VCMPNET_VUQ_P | |
995 | signed int __builtin_vec_vcmpne_p (vf, vf); | |
996 | VCMPNEFP_P | |
997 | signed int __builtin_vec_vcmpne_p (vd, vd); | |
998 | VCMPNEDP_P | |
999 | ; The following variants are deprecated. | |
1000 | signed int __builtin_vec_vcmpne_p (signed int, vbc, vuc); | |
1001 | VCMPNEB_P VCMPNEB_P_BU | |
1002 | signed int __builtin_vec_vcmpne_p (signed int, vuc, vbc); | |
1003 | VCMPNEB_P VCMPNEB_P_UB | |
1004 | signed int __builtin_vec_vcmpne_p (signed int, vbc, vsc); | |
1005 | VCMPNEB_P VCMPNEB_P_BS | |
1006 | signed int __builtin_vec_vcmpne_p (signed int, vsc, vbc); | |
1007 | VCMPNEB_P VCMPNEB_P_SB | |
1008 | signed int __builtin_vec_vcmpne_p (signed int, vbs, vus); | |
1009 | VCMPNEH_P VCMPNEH_P_BU | |
1010 | signed int __builtin_vec_vcmpne_p (signed int, vus, vbs); | |
1011 | VCMPNEH_P VCMPNEH_P_UB | |
1012 | signed int __builtin_vec_vcmpne_p (signed int, vbs, vss); | |
1013 | VCMPNEH_P VCMPNEH_P_BS | |
1014 | signed int __builtin_vec_vcmpne_p (signed int, vss, vbs); | |
1015 | VCMPNEH_P VCMPNEH_P_SB | |
1016 | signed int __builtin_vec_vcmpne_p (signed int, vbi, vui); | |
1017 | VCMPNEW_P VCMPNEW_P_BU | |
1018 | signed int __builtin_vec_vcmpne_p (signed int, vui, vbi); | |
1019 | VCMPNEW_P VCMPNEW_P_UB | |
1020 | signed int __builtin_vec_vcmpne_p (signed int, vbi, vsi); | |
1021 | VCMPNEW_P VCMPNEW_P_BS | |
1022 | signed int __builtin_vec_vcmpne_p (signed int, vsi, vbi); | |
1023 | VCMPNEW_P VCMPNEW_P_SB | |
1024 | signed int __builtin_vec_vcmpne_p (signed int, vbll, vull); | |
1025 | VCMPNED_P VCMPNED_P_BU | |
1026 | signed int __builtin_vec_vcmpne_p (signed int, vull, vbll); | |
1027 | VCMPNED_P VCMPNED_P_UB | |
1028 | signed int __builtin_vec_vcmpne_p (signed int, vbll, vsll); | |
1029 | VCMPNED_P VCMPNED_P_BS | |
1030 | signed int __builtin_vec_vcmpne_p (signed int, vbll, vsll); | |
1031 | VCMPNED_P VCMPNED_P_SB | |
1032 | ||
7e836079 | 1033 | [VEC_CMPNEZ, vec_cmpnez, __builtin_vec_vcmpnez] |
e2693a72 BS |
1034 | vbc __builtin_vec_cmpnez (vsc, vsc); |
1035 | CMPNEZB CMPNEZB_S | |
1036 | vbc __builtin_vec_cmpnez (vuc, vuc); | |
1037 | CMPNEZB CMPNEZB_U | |
1038 | vbs __builtin_vec_cmpnez (vss, vss); | |
1039 | CMPNEZH CMPNEZH_S | |
1040 | vbs __builtin_vec_cmpnez (vus, vus); | |
1041 | CMPNEZH CMPNEZH_U | |
1042 | vbi __builtin_vec_cmpnez (vsi, vsi); | |
1043 | CMPNEZW CMPNEZW_S | |
1044 | vbi __builtin_vec_cmpnez (vui, vui); | |
1045 | CMPNEZW CMPNEZW_U | |
1046 | ||
1047 | ; We skip generating a #define because of the C-versus-C++ complexity | |
1048 | ; in altivec.h. Look there for the template-y details. | |
1049 | [VEC_CMPNEZ_P, SKIP, __builtin_vec_vcmpnez_p] | |
1050 | signed int __builtin_vec_vcmpnez_p (signed int, vsc, vsc); | |
1051 | VCMPNEZB_P VCMPNEZB_VSC_P | |
1052 | signed int __builtin_vec_vcmpnez_p (signed int, vuc, vuc); | |
1053 | VCMPNEZB_P VCMPNEZB_VUC_P | |
1054 | signed int __builtin_vec_vcmpnez_p (signed int, vss, vss); | |
1055 | VCMPNEZH_P VCMPNEZH_VSS_P | |
1056 | signed int __builtin_vec_vcmpnez_p (signed int, vus, vus); | |
1057 | VCMPNEZH_P VCMPNEZH_VUS_P | |
1058 | signed int __builtin_vec_vcmpnez_p (signed int, vsi, vsi); | |
1059 | VCMPNEZW_P VCMPNEZW_VSI_P | |
1060 | signed int __builtin_vec_vcmpnez_p (signed int, vui, vui); | |
1061 | VCMPNEZW_P VCMPNEZW_VUI_P | |
1062 | ||
1063 | [VEC_CMPRB, SKIP, __builtin_byte_in_range] | |
1064 | signed int __builtin_byte_in_range (unsigned int, unsigned int); | |
1065 | CMPRB | |
1066 | ||
1067 | [VEC_CMPRB2, SKIP, __builtin_byte_in_either_range] | |
1068 | signed int __builtin_byte_in_range (unsigned int, unsigned int); | |
1069 | CMPRB2 | |
1070 | ||
7e836079 | 1071 | [VEC_CNTLZ, vec_cntlz, __builtin_vec_vclz] |
e2693a72 BS |
1072 | vsc __builtin_vec_vclz (vsc); |
1073 | VCLZB VCLZB_S | |
1074 | vuc __builtin_vec_vclz (vuc); | |
1075 | VCLZB VCLZB_U | |
1076 | vss __builtin_vec_vclz (vss); | |
1077 | VCLZH VCLZH_S | |
1078 | vus __builtin_vec_vclz (vus); | |
1079 | VCLZH VCLZH_U | |
1080 | vsi __builtin_vec_vclz (vsi); | |
1081 | VCLZW VCLZW_S | |
1082 | vui __builtin_vec_vclz (vui); | |
1083 | VCLZW VCLZW_U | |
1084 | vsll __builtin_vec_vclz (vsll); | |
1085 | VCLZD VCLZD_S | |
1086 | vull __builtin_vec_vclz (vull); | |
1087 | VCLZD VCLZD_U | |
1088 | ||
7e836079 | 1089 | [VEC_CNTLZM, vec_cntlzm, __builtin_vec_vclzdm] |
e2693a72 BS |
1090 | vull __builtin_vec_vclzdm (vull, vull); |
1091 | VCLZDM | |
1092 | ||
7e836079 | 1093 | [VEC_CNTTZM, vec_cnttzm, __builtin_vec_vctzdm] |
e2693a72 BS |
1094 | vull __builtin_vec_vctzdm (vull, vull); |
1095 | VCTZDM | |
1096 | ||
7e836079 | 1097 | [VEC_CNTLZ_LSBB, vec_cntlz_lsbb, __builtin_vec_vclzlsbb] |
e2693a72 BS |
1098 | signed int __builtin_vec_vclzlsbb (vsc); |
1099 | VCLZLSBB_V16QI VCLZLSBB_VSC | |
1100 | signed int __builtin_vec_vclzlsbb (vuc); | |
1101 | VCLZLSBB_V16QI VCLZLSBB_VUC | |
1102 | signed int __builtin_vec_vclzlsbb (vss); | |
1103 | VCLZLSBB_V8HI VCLZLSBB_VSS | |
1104 | signed int __builtin_vec_vclzlsbb (vus); | |
1105 | VCLZLSBB_V8HI VCLZLSBB_VUS | |
1106 | signed int __builtin_vec_vclzlsbb (vsi); | |
1107 | VCLZLSBB_V4SI VCLZLSBB_VSI | |
1108 | signed int __builtin_vec_vclzlsbb (vui); | |
1109 | VCLZLSBB_V4SI VCLZLSBB_VUI | |
1110 | ||
7e836079 | 1111 | [VEC_CNTM, vec_cntm, __builtin_vec_cntm] |
e2693a72 BS |
1112 | unsigned long long __builtin_vec_cntm (vuc, const int); |
1113 | VCNTMBB | |
1114 | unsigned long long __builtin_vec_cntm (vus, const int); | |
1115 | VCNTMBH | |
1116 | unsigned long long __builtin_vec_cntm (vui, const int); | |
1117 | VCNTMBW | |
1118 | unsigned long long __builtin_vec_cntm (vull, const int); | |
1119 | VCNTMBD | |
1120 | ||
7e836079 | 1121 | [VEC_CNTTZ, vec_cnttz, __builtin_vec_vctz] |
e2693a72 BS |
1122 | vsc __builtin_vec_vctz (vsc); |
1123 | VCTZB VCTZB_S | |
1124 | vuc __builtin_vec_vctz (vuc); | |
1125 | VCTZB VCTZB_U | |
1126 | vss __builtin_vec_vctz (vss); | |
1127 | VCTZH VCTZH_S | |
1128 | vus __builtin_vec_vctz (vus); | |
1129 | VCTZH VCTZH_U | |
1130 | vsi __builtin_vec_vctz (vsi); | |
1131 | VCTZW VCTZW_S | |
1132 | vui __builtin_vec_vctz (vui); | |
1133 | VCTZW VCTZW_U | |
1134 | vsll __builtin_vec_vctz (vsll); | |
1135 | VCTZD VCTZD_S | |
1136 | vull __builtin_vec_vctz (vull); | |
1137 | VCTZD VCTZD_U | |
1138 | ||
7e836079 | 1139 | [VEC_CNTTZ_LSBB, vec_cnttz_lsbb, __builtin_vec_vctzlsbb] |
e2693a72 BS |
1140 | signed int __builtin_vec_vctzlsbb (vsc); |
1141 | VCTZLSBB_V16QI VCTZLSBB_VSC | |
1142 | signed int __builtin_vec_vctzlsbb (vuc); | |
1143 | VCTZLSBB_V16QI VCTZLSBB_VUC | |
1144 | signed int __builtin_vec_vctzlsbb (vss); | |
1145 | VCTZLSBB_V8HI VCTZLSBB_VSS | |
1146 | signed int __builtin_vec_vctzlsbb (vus); | |
1147 | VCTZLSBB_V8HI VCTZLSBB_VUS | |
1148 | signed int __builtin_vec_vctzlsbb (vsi); | |
1149 | VCTZLSBB_V4SI VCTZLSBB_VSI | |
1150 | signed int __builtin_vec_vctzlsbb (vui); | |
1151 | VCTZLSBB_V4SI VCTZLSBB_VUI | |
1152 | ||
1153 | [VEC_CONVERT_4F32_8I16, SKIP, __builtin_vec_convert_4f32_8i16] | |
1154 | vus __builtin_vec_convert_4f32_8i16 (vf, vf); | |
1155 | CONVERT_4F32_8I16 | |
1156 | ||
7e836079 | 1157 | [VEC_CONVERT_4F32_8F16, vec_pack_to_short_fp32, __builtin_vec_convert_4f32_8f16] |
e2693a72 BS |
1158 | vus __builtin_vec_convert_4f32_8f16 (vf, vf); |
1159 | CONVERT_4F32_8F16 | |
1160 | ||
76ba473b | 1161 | [VEC_COPYSIGN, SKIP, __builtin_vec_copysign] |
e2693a72 | 1162 | vf __builtin_vec_copysign (vf, vf); |
76ba473b | 1163 | COPYSIGN_V4SF |
e2693a72 BS |
1164 | vd __builtin_vec_copysign (vd, vd); |
1165 | CPSGNDP | |
1166 | ||
1167 | [VEC_CTF, vec_ctf, __builtin_vec_ctf] | |
1168 | vf __builtin_vec_ctf (vsi, const int); | |
1169 | VCFSX | |
1170 | vf __builtin_vec_ctf (vui, const int); | |
1171 | VCFUX | |
1172 | vd __builtin_vec_ctf (vsll, const int); | |
1173 | XVCVSXDDP_SCALE | |
1174 | vd __builtin_vec_ctf (vull, const int); | |
1175 | XVCVUXDDP_SCALE | |
1176 | ||
1177 | [VEC_CTS, vec_cts, __builtin_vec_cts] | |
1178 | vsi __builtin_vec_cts (vf, const int); | |
1179 | VCTSXS | |
1180 | vsll __builtin_vec_cts (vd, const int); | |
1181 | XVCVDPSXDS_SCALE | |
1182 | ||
1183 | [VEC_CTU, vec_ctu, __builtin_vec_ctu] | |
1184 | vui __builtin_vec_ctu (vf, const int); | |
1185 | VCTUXS | |
1186 | vull __builtin_vec_ctu (vd, const int); | |
1187 | XVCVDPUXDS_SCALE | |
1188 | ||
7e836079 | 1189 | [VEC_DIV, vec_div, __builtin_vec_div] |
e2693a72 BS |
1190 | vsi __builtin_vec_div (vsi, vsi); |
1191 | VDIVSW | |
1192 | vui __builtin_vec_div (vui, vui); | |
1193 | VDIVUW | |
1194 | vsll __builtin_vec_div (vsll, vsll); | |
1195 | DIV_V2DI | |
1196 | vull __builtin_vec_div (vull, vull); | |
1197 | UDIV_V2DI | |
1198 | vsq __builtin_vec_div (vsq, vsq); | |
1199 | DIV_V1TI | |
1200 | vuq __builtin_vec_div (vuq, vuq); | |
1201 | UDIV_V1TI | |
1202 | vf __builtin_vec_div (vf, vf); | |
1203 | XVDIVSP | |
1204 | vd __builtin_vec_div (vd, vd); | |
1205 | XVDIVDP | |
1206 | ||
7e836079 | 1207 | [VEC_DIVE, vec_dive, __builtin_vec_dive] |
e2693a72 BS |
1208 | vsi __builtin_vec_dive (vsi, vsi); |
1209 | VDIVESW | |
1210 | vui __builtin_vec_dive (vui, vui); | |
1211 | VDIVEUW | |
1212 | vsll __builtin_vec_dive (vsll, vsll); | |
1213 | VDIVESD | |
1214 | vull __builtin_vec_dive (vull, vull); | |
1215 | VDIVEUD | |
1216 | vsq __builtin_vec_dive (vsq, vsq); | |
1217 | DIVES_V1TI | |
1218 | vuq __builtin_vec_dive (vuq, vuq); | |
1219 | DIVEU_V1TI | |
1220 | ||
1221 | [VEC_DOUBLE, vec_double, __builtin_vec_double] | |
1222 | vd __builtin_vec_double (vsll); | |
1223 | XVCVSXDDP | |
1224 | vd __builtin_vec_double (vull); | |
1225 | XVCVUXDDP | |
1226 | ||
1227 | [VEC_DOUBLEE, vec_doublee, __builtin_vec_doublee] | |
1228 | vd __builtin_vec_doublee (vsi); | |
1229 | DOUBLEE_V4SI | |
1230 | vd __builtin_vec_doublee (vui); | |
1231 | UNS_DOUBLEE_V4SI | |
1232 | vd __builtin_vec_doublee (vf); | |
1233 | DOUBLEE_V4SF | |
1234 | ||
1235 | [VEC_DOUBLEH, vec_doubleh, __builtin_vec_doubleh] | |
1236 | vd __builtin_vec_doubleh (vsi); | |
1237 | DOUBLEH_V4SI | |
1238 | vd __builtin_vec_doubleh (vui); | |
1239 | UNS_DOUBLEH_V4SI | |
1240 | vd __builtin_vec_doubleh (vf); | |
1241 | DOUBLEH_V4SF | |
1242 | ||
1243 | [VEC_DOUBLEL, vec_doublel, __builtin_vec_doublel] | |
1244 | vd __builtin_vec_doublel (vsi); | |
1245 | DOUBLEL_V4SI | |
1246 | vd __builtin_vec_doublel (vui); | |
1247 | UNS_DOUBLEL_V4SI | |
1248 | vd __builtin_vec_doublel (vf); | |
1249 | DOUBLEL_V4SF | |
1250 | ||
1251 | [VEC_DOUBLEO, vec_doubleo, __builtin_vec_doubleo] | |
1252 | vd __builtin_vec_doubleo (vsi); | |
1253 | DOUBLEO_V4SI | |
1254 | vd __builtin_vec_doubleo (vui); | |
1255 | UNS_DOUBLEO_V4SI | |
1256 | vd __builtin_vec_doubleo (vf); | |
1257 | DOUBLEO_V4SF | |
1258 | ||
1259 | [VEC_DST, vec_dst, __builtin_vec_dst] | |
1260 | void __builtin_vec_dst (unsigned char *, const int, const int); | |
1261 | DST DST_UC | |
1262 | void __builtin_vec_dst (signed char *, const int, const int); | |
1263 | DST DST_SC | |
1264 | void __builtin_vec_dst (unsigned short *, const int, const int); | |
1265 | DST DST_US | |
1266 | void __builtin_vec_dst (signed short *, const int, const int); | |
1267 | DST DST_SS | |
1268 | void __builtin_vec_dst (unsigned int *, const int, const int); | |
1269 | DST DST_UI | |
1270 | void __builtin_vec_dst (signed int *, const int, const int); | |
1271 | DST DST_SI | |
1272 | void __builtin_vec_dst (unsigned long *, const int, const int); | |
1273 | DST DST_UL | |
1274 | void __builtin_vec_dst (signed long *, const int, const int); | |
1275 | DST DST_SL | |
1276 | void __builtin_vec_dst (unsigned long long *, const int, const int); | |
1277 | DST DST_ULL | |
1278 | void __builtin_vec_dst (signed long long *, const int, const int); | |
1279 | DST DST_SLL | |
1280 | void __builtin_vec_dst (float *, const int, const int); | |
1281 | DST DST_F | |
1282 | void __builtin_vec_dst (vuc *, const int, const int); | |
1283 | DST DST_VUC | |
1284 | void __builtin_vec_dst (vsc *, const int, const int); | |
1285 | DST DST_VSC | |
1286 | void __builtin_vec_dst (vbc *, const int, const int); | |
1287 | DST DST_VBC | |
1288 | void __builtin_vec_dst (vus *, const int, const int); | |
1289 | DST DST_VUS | |
1290 | void __builtin_vec_dst (vss *, const int, const int); | |
1291 | DST DST_VSS | |
1292 | void __builtin_vec_dst (vbs *, const int, const int); | |
1293 | DST DST_VBS | |
1294 | void __builtin_vec_dst (vp *, const int, const int); | |
1295 | DST DST_VP | |
1296 | void __builtin_vec_dst (vui *, const int, const int); | |
1297 | DST DST_VUI | |
1298 | void __builtin_vec_dst (vsi *, const int, const int); | |
1299 | DST DST_VSI | |
1300 | void __builtin_vec_dst (vbi *, const int, const int); | |
1301 | DST DST_VBI | |
1302 | void __builtin_vec_dst (vf *, const int, const int); | |
1303 | DST DST_VF | |
1304 | ||
1305 | [VEC_DSTST, vec_dstst, __builtin_vec_dstst] | |
1306 | void __builtin_vec_dstst (unsigned char *, const int, const int); | |
1307 | DSTST DSTST_UC | |
1308 | void __builtin_vec_dstst (signed char *, const int, const int); | |
1309 | DSTST DSTST_SC | |
1310 | void __builtin_vec_dstst (unsigned short *, const int, const int); | |
1311 | DSTST DSTST_US | |
1312 | void __builtin_vec_dstst (signed short *, const int, const int); | |
1313 | DSTST DSTST_SS | |
1314 | void __builtin_vec_dstst (unsigned int *, const int, const int); | |
1315 | DSTST DSTST_UI | |
1316 | void __builtin_vec_dstst (signed int *, const int, const int); | |
1317 | DSTST DSTST_SI | |
1318 | void __builtin_vec_dstst (unsigned long *, const int, const int); | |
1319 | DSTST DSTST_UL | |
1320 | void __builtin_vec_dstst (signed long *, const int, const int); | |
1321 | DSTST DSTST_SL | |
1322 | void __builtin_vec_dstst (unsigned long long *, const int, const int); | |
1323 | DSTST DSTST_ULL | |
1324 | void __builtin_vec_dstst (signed long long *, const int, const int); | |
1325 | DSTST DSTST_SLL | |
1326 | void __builtin_vec_dstst (float *, const int, const int); | |
1327 | DSTST DSTST_F | |
1328 | void __builtin_vec_dstst (vuc *, const int, const int); | |
1329 | DSTST DSTST_VUC | |
1330 | void __builtin_vec_dstst (vsc *, const int, const int); | |
1331 | DSTST DSTST_VSC | |
1332 | void __builtin_vec_dstst (vbc *, const int, const int); | |
1333 | DSTST DSTST_VBC | |
1334 | void __builtin_vec_dstst (vus *, const int, const int); | |
1335 | DSTST DSTST_VUS | |
1336 | void __builtin_vec_dstst (vss *, const int, const int); | |
1337 | DSTST DSTST_VSS | |
1338 | void __builtin_vec_dstst (vbs *, const int, const int); | |
1339 | DSTST DSTST_VBS | |
1340 | void __builtin_vec_dstst (vp *, const int, const int); | |
1341 | DSTST DSTST_VP | |
1342 | void __builtin_vec_dstst (vui *, const int, const int); | |
1343 | DSTST DSTST_VUI | |
1344 | void __builtin_vec_dstst (vsi *, const int, const int); | |
1345 | DSTST DSTST_VSI | |
1346 | void __builtin_vec_dstst (vbi *, const int, const int); | |
1347 | DSTST DSTST_VBI | |
1348 | void __builtin_vec_dstst (vf *, const int, const int); | |
1349 | DSTST DSTST_VF | |
1350 | ||
1351 | [VEC_DSTSTT, vec_dststt, __builtin_vec_dststt] | |
1352 | void __builtin_vec_dststt (unsigned char *, const int, const int); | |
1353 | DSTSTT DSTSTT_UC | |
1354 | void __builtin_vec_dststt (signed char *, const int, const int); | |
1355 | DSTSTT DSTSTT_SC | |
1356 | void __builtin_vec_dststt (unsigned short *, const int, const int); | |
1357 | DSTSTT DSTSTT_US | |
1358 | void __builtin_vec_dststt (signed short *, const int, const int); | |
1359 | DSTSTT DSTSTT_SS | |
1360 | void __builtin_vec_dststt (unsigned int *, const int, const int); | |
1361 | DSTSTT DSTSTT_UI | |
1362 | void __builtin_vec_dststt (signed int *, const int, const int); | |
1363 | DSTSTT DSTSTT_SI | |
1364 | void __builtin_vec_dststt (unsigned long *, const int, const int); | |
1365 | DSTSTT DSTSTT_UL | |
1366 | void __builtin_vec_dststt (signed long *, const int, const int); | |
1367 | DSTSTT DSTSTT_SL | |
1368 | void __builtin_vec_dststt (unsigned long long *, const int, const int); | |
1369 | DSTSTT DSTSTT_ULL | |
1370 | void __builtin_vec_dststt (signed long long *, const int, const int); | |
1371 | DSTSTT DSTSTT_SLL | |
1372 | void __builtin_vec_dststt (float *, const int, const int); | |
1373 | DSTSTT DSTSTT_F | |
1374 | void __builtin_vec_dststt (vuc *, const int, const int); | |
1375 | DSTSTT DSTSTT_VUC | |
1376 | void __builtin_vec_dststt (vsc *, const int, const int); | |
1377 | DSTSTT DSTSTT_VSC | |
1378 | void __builtin_vec_dststt (vbc *, const int, const int); | |
1379 | DSTSTT DSTSTT_VBC | |
1380 | void __builtin_vec_dststt (vus *, const int, const int); | |
1381 | DSTSTT DSTSTT_VUS | |
1382 | void __builtin_vec_dststt (vss *, const int, const int); | |
1383 | DSTSTT DSTSTT_VSS | |
1384 | void __builtin_vec_dststt (vbs *, const int, const int); | |
1385 | DSTSTT DSTSTT_VBS | |
1386 | void __builtin_vec_dststt (vp *, const int, const int); | |
1387 | DSTSTT DSTSTT_VP | |
1388 | void __builtin_vec_dststt (vui *, const int, const int); | |
1389 | DSTSTT DSTSTT_VUI | |
1390 | void __builtin_vec_dststt (vsi *, const int, const int); | |
1391 | DSTSTT DSTSTT_VSI | |
1392 | void __builtin_vec_dststt (vbi *, const int, const int); | |
1393 | DSTSTT DSTSTT_VBI | |
1394 | void __builtin_vec_dststt (vf *, const int, const int); | |
1395 | DSTSTT DSTSTT_VF | |
1396 | ||
1397 | [VEC_DSTT, vec_dstt, __builtin_vec_dstt] | |
1398 | void __builtin_vec_dstt (unsigned char *, const int, const int); | |
1399 | DSTT DSTT_UC | |
1400 | void __builtin_vec_dstt (signed char *, const int, const int); | |
1401 | DSTT DSTT_SC | |
1402 | void __builtin_vec_dstt (unsigned short *, const int, const int); | |
1403 | DSTT DSTT_US | |
1404 | void __builtin_vec_dstt (signed short *, const int, const int); | |
1405 | DSTT DSTT_SS | |
1406 | void __builtin_vec_dstt (unsigned int *, const int, const int); | |
1407 | DSTT DSTT_UI | |
1408 | void __builtin_vec_dstt (signed int *, const int, const int); | |
1409 | DSTT DSTT_SI | |
1410 | void __builtin_vec_dstt (unsigned long *, const int, const int); | |
1411 | DSTT DSTT_UL | |
1412 | void __builtin_vec_dstt (signed long *, const int, const int); | |
1413 | DSTT DSTT_SL | |
1414 | void __builtin_vec_dstt (unsigned long long *, const int, const int); | |
1415 | DSTT DSTT_ULL | |
1416 | void __builtin_vec_dstt (signed long long *, const int, const int); | |
1417 | DSTT DSTT_SLL | |
1418 | void __builtin_vec_dstt (float *, const int, const int); | |
1419 | DSTT DSTT_F | |
1420 | void __builtin_vec_dstt (vuc *, const int, const int); | |
1421 | DSTT DSTT_VUC | |
1422 | void __builtin_vec_dstt (vsc *, const int, const int); | |
1423 | DSTT DSTT_VSC | |
1424 | void __builtin_vec_dstt (vbc *, const int, const int); | |
1425 | DSTT DSTT_VBC | |
1426 | void __builtin_vec_dstt (vus *, const int, const int); | |
1427 | DSTT DSTT_VUS | |
1428 | void __builtin_vec_dstt (vss *, const int, const int); | |
1429 | DSTT DSTT_VSS | |
1430 | void __builtin_vec_dstt (vbs *, const int, const int); | |
1431 | DSTT DSTT_VBS | |
1432 | void __builtin_vec_dstt (vp *, const int, const int); | |
1433 | DSTT DSTT_VP | |
1434 | void __builtin_vec_dstt (vui *, const int, const int); | |
1435 | DSTT DSTT_VUI | |
1436 | void __builtin_vec_dstt (vsi *, const int, const int); | |
1437 | DSTT DSTT_VSI | |
1438 | void __builtin_vec_dstt (vbi *, const int, const int); | |
1439 | DSTT DSTT_VBI | |
1440 | void __builtin_vec_dstt (vf *, const int, const int); | |
1441 | DSTT DSTT_VF | |
1442 | ||
7e836079 | 1443 | [VEC_EQV, vec_eqv, __builtin_vec_eqv] |
e2693a72 BS |
1444 | vsc __builtin_vec_eqv (vsc, vsc); |
1445 | EQV_V16QI | |
1446 | vuc __builtin_vec_eqv (vuc, vuc); | |
1447 | EQV_V16QI_UNS EQV_V16QI_VUC | |
1448 | vbc __builtin_vec_eqv (vbc, vbc); | |
1449 | EQV_V16QI_UNS EQV_V16QI_VBC | |
1450 | vss __builtin_vec_eqv (vss, vss); | |
1451 | EQV_V8HI | |
1452 | vus __builtin_vec_eqv (vus, vus); | |
1453 | EQV_V8HI_UNS EQV_V8HI_VUS | |
1454 | vbs __builtin_vec_eqv (vbs, vbs); | |
1455 | EQV_V8HI_UNS EQV_V8HI_VBS | |
1456 | vsi __builtin_vec_eqv (vsi, vsi); | |
1457 | EQV_V4SI | |
1458 | vui __builtin_vec_eqv (vui, vui); | |
1459 | EQV_V4SI_UNS EQV_V4SI_VUI | |
1460 | vbi __builtin_vec_eqv (vbi, vbi); | |
1461 | EQV_V4SI_UNS EQV_V4SI_VBI | |
1462 | vsll __builtin_vec_eqv (vsll, vsll); | |
1463 | EQV_V2DI | |
1464 | vull __builtin_vec_eqv (vull, vull); | |
1465 | EQV_V2DI_UNS EQV_V2DI_VULL | |
1466 | vbll __builtin_vec_eqv (vbll, vbll); | |
1467 | EQV_V2DI_UNS EQV_V2DI_VBLL | |
1468 | vf __builtin_vec_eqv (vf, vf); | |
1469 | EQV_V4SF | |
1470 | vd __builtin_vec_eqv (vd, vd); | |
1471 | EQV_V2DF | |
1472 | ; The following variants are deprecated. | |
1473 | vsc __builtin_vec_eqv (vbc, vsc); | |
1474 | EQV_V16QI EQV_VBC_VSC | |
1475 | vsc __builtin_vec_eqv (vsc, vbc); | |
1476 | EQV_V16QI EQV_VSC_VBC | |
1477 | vuc __builtin_vec_eqv (vbc, vuc); | |
1478 | EQV_V16QI_UNS EQV_VBC_VUC | |
1479 | vuc __builtin_vec_eqv (vuc, vbc); | |
1480 | EQV_V16QI_UNS EQV_VUC_VBC | |
1481 | vss __builtin_vec_eqv (vbs, vss); | |
1482 | EQV_V8HI EQV_VBS_VSS | |
1483 | vss __builtin_vec_eqv (vss, vbs); | |
1484 | EQV_V8HI EQV_VSS_VBS | |
1485 | vus __builtin_vec_eqv (vbs, vus); | |
1486 | EQV_V8HI_UNS EQV_VBS_VUS | |
1487 | vus __builtin_vec_eqv (vus, vbs); | |
1488 | EQV_V8HI_UNS EQV_VUS_VBS | |
1489 | vsi __builtin_vec_eqv (vbi, vsi); | |
1490 | EQV_V4SI EQV_VBI_VSI | |
1491 | vsi __builtin_vec_eqv (vsi, vbi); | |
1492 | EQV_V4SI EQV_VSI_VBI | |
1493 | vui __builtin_vec_eqv (vbi, vui); | |
1494 | EQV_V4SI_UNS EQV_VBI_VUI | |
1495 | vui __builtin_vec_eqv (vui, vbi); | |
1496 | EQV_V4SI_UNS EQV_VUI_VBI | |
1497 | vsll __builtin_vec_eqv (vbll, vsll); | |
1498 | EQV_V2DI EQV_VBLL_VSLL | |
1499 | vsll __builtin_vec_eqv (vsll, vbll); | |
1500 | EQV_V2DI EQV_VSLL_VBLL | |
1501 | vull __builtin_vec_eqv (vbll, vull); | |
1502 | EQV_V2DI_UNS EQV_VBLL_VULL | |
1503 | vull __builtin_vec_eqv (vull, vbll); | |
1504 | EQV_V2DI_UNS EQV_VULL_VBLL | |
1505 | ||
7e836079 | 1506 | [VEC_EXPANDM, vec_expandm, __builtin_vec_vexpandm] |
e2693a72 BS |
1507 | vuc __builtin_vec_vexpandm (vuc); |
1508 | VEXPANDMB | |
1509 | vus __builtin_vec_vexpandm (vus); | |
1510 | VEXPANDMH | |
1511 | vui __builtin_vec_vexpandm (vui); | |
1512 | VEXPANDMW | |
1513 | vull __builtin_vec_vexpandm (vull); | |
1514 | VEXPANDMD | |
1515 | vuq __builtin_vec_vexpandm (vuq); | |
1516 | VEXPANDMQ | |
1517 | ||
1518 | [VEC_EXPTE, vec_expte, __builtin_vec_expte] | |
1519 | vf __builtin_vec_expte (vf); | |
1520 | VEXPTEFP | |
1521 | ||
1522 | ; There are no actual builtins for vec_extract. There is special handling for | |
e53b6e56 | 1523 | ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
e2693a72 BS |
1524 | ; is replaced by "pointer tricks." The single overload here causes |
1525 | ; __builtin_vec_extract to be registered with the front end so this can | |
1526 | ; happen. | |
1527 | [VEC_EXTRACT, vec_extract, __builtin_vec_extract] | |
1528 | vsi __builtin_vec_extract (vsi, signed int); | |
1529 | VSPLTW EXTRACT_FAKERY | |
1530 | ||
7e836079 | 1531 | [VEC_EXTRACT_FP_FROM_SHORTH, vec_extract_fp32_from_shorth, __builtin_vec_vextract_fp_from_shorth] |
e2693a72 BS |
1532 | vf __builtin_vec_vextract_fp_from_shorth (vus); |
1533 | VEXTRACT_FP_FROM_SHORTH | |
1534 | ||
7e836079 | 1535 | [VEC_EXTRACT_FP_FROM_SHORTL, vec_extract_fp32_from_shortl, __builtin_vec_vextract_fp_from_shortl] |
e2693a72 BS |
1536 | vf __builtin_vec_vextract_fp_from_shortl (vus); |
1537 | VEXTRACT_FP_FROM_SHORTL | |
1538 | ||
7e836079 | 1539 | [VEC_EXTRACTH, vec_extracth, __builtin_vec_extracth] |
e2693a72 BS |
1540 | vull __builtin_vec_extracth (vuc, vuc, unsigned char); |
1541 | VEXTRACTBR | |
1542 | vull __builtin_vec_extracth (vus, vus, unsigned char); | |
1543 | VEXTRACTHR | |
1544 | vull __builtin_vec_extracth (vui, vui, unsigned char); | |
1545 | VEXTRACTWR | |
1546 | vull __builtin_vec_extracth (vull, vull, unsigned char); | |
1547 | VEXTRACTDR | |
1548 | ||
7e836079 | 1549 | [VEC_EXTRACTL, vec_extractl, __builtin_vec_extractl] |
e2693a72 BS |
1550 | vull __builtin_vec_extractl (vuc, vuc, unsigned char); |
1551 | VEXTRACTBL | |
1552 | vull __builtin_vec_extractl (vus, vus, unsigned char); | |
1553 | VEXTRACTHL | |
1554 | vull __builtin_vec_extractl (vui, vui, unsigned char); | |
1555 | VEXTRACTWL | |
1556 | vull __builtin_vec_extractl (vull, vull, unsigned char); | |
1557 | VEXTRACTDL | |
1558 | ||
7e836079 | 1559 | [VEC_EXTRACTM, vec_extractm, __builtin_vec_vextractm] |
e2693a72 BS |
1560 | signed int __builtin_vec_vextractm (vuc); |
1561 | VEXTRACTMB | |
1562 | signed int __builtin_vec_vextractm (vus); | |
1563 | VEXTRACTMH | |
1564 | signed int __builtin_vec_vextractm (vui); | |
1565 | VEXTRACTMW | |
1566 | signed int __builtin_vec_vextractm (vull); | |
1567 | VEXTRACTMD | |
1568 | signed int __builtin_vec_vextractm (vuq); | |
1569 | VEXTRACTMQ | |
1570 | ||
7e836079 | 1571 | [VEC_EXTRACT4B, vec_extract4b, __builtin_vec_extract4b] |
e2693a72 BS |
1572 | vull __builtin_vec_extract4b (vuc, const int); |
1573 | EXTRACT4B | |
1574 | ||
7e836079 | 1575 | [VEC_EXTULX, vec_xlx, __builtin_vec_vextulx] |
e2693a72 BS |
1576 | signed char __builtin_vec_vextulx (unsigned int, vsc); |
1577 | VEXTUBLX VEXTUBLX_S | |
1578 | unsigned char __builtin_vec_vextulx (unsigned int, vuc); | |
1579 | VEXTUBLX VEXTUBLX_U | |
1580 | signed short __builtin_vec_vextulx (unsigned int, vss); | |
1581 | VEXTUHLX VEXTUHLX_S | |
1582 | unsigned short __builtin_vec_vextulx (unsigned int, vus); | |
1583 | VEXTUHLX VEXTUHLX_U | |
1584 | signed int __builtin_vec_vextulx (unsigned int, vsi); | |
1585 | VEXTUWLX VEXTUWLX_S | |
1586 | unsigned int __builtin_vec_vextulx (unsigned int, vui); | |
1587 | VEXTUWLX VEXTUWLX_U | |
1588 | float __builtin_vec_vextulx (unsigned int, vf); | |
1589 | VEXTUWLX VEXTUWLX_F | |
1590 | ||
7e836079 | 1591 | [VEC_EXTURX, vec_xrx, __builtin_vec_vexturx] |
e2693a72 BS |
1592 | signed char __builtin_vec_vexturx (unsigned int, vsc); |
1593 | VEXTUBRX VEXTUBRX_S | |
1594 | unsigned char __builtin_vec_vexturx (unsigned int, vuc); | |
1595 | VEXTUBRX VEXTUBRX_U | |
1596 | signed short __builtin_vec_vexturx (unsigned int, vss); | |
1597 | VEXTUHRX VEXTUHRX_S | |
1598 | unsigned short __builtin_vec_vexturx (unsigned int, vus); | |
1599 | VEXTUHRX VEXTUHRX_U | |
1600 | signed int __builtin_vec_vexturx (unsigned int, vsi); | |
1601 | VEXTUWRX VEXTUWRX_S | |
1602 | unsigned int __builtin_vec_vexturx (unsigned int, vui); | |
1603 | VEXTUWRX VEXTUWRX_U | |
1604 | float __builtin_vec_vexturx (unsigned int, vf); | |
1605 | VEXTUWRX VEXTUWRX_F | |
1606 | ||
7e836079 | 1607 | [VEC_FIRSTMATCHINDEX, vec_first_match_index, __builtin_vec_first_match_index] |
e2693a72 BS |
1608 | unsigned int __builtin_vec_first_match_index (vsc, vsc); |
1609 | VFIRSTMATCHINDEX_V16QI FIRSTMATCHINDEX_VSC | |
1610 | unsigned int __builtin_vec_first_match_index (vuc, vuc); | |
1611 | VFIRSTMATCHINDEX_V16QI FIRSTMATCHINDEX_VUC | |
1612 | unsigned int __builtin_vec_first_match_index (vss, vss); | |
1613 | VFIRSTMATCHINDEX_V8HI FIRSTMATCHINDEX_VSS | |
1614 | unsigned int __builtin_vec_first_match_index (vus, vus); | |
1615 | VFIRSTMATCHINDEX_V8HI FIRSTMATCHINDEX_VUS | |
1616 | unsigned int __builtin_vec_first_match_index (vsi, vsi); | |
1617 | VFIRSTMATCHINDEX_V4SI FIRSTMATCHINDEX_VSI | |
1618 | unsigned int __builtin_vec_first_match_index (vui, vui); | |
1619 | VFIRSTMATCHINDEX_V4SI FIRSTMATCHINDEX_VUI | |
1620 | ||
7e836079 | 1621 | [VEC_FIRSTMATCHOREOSINDEX, vec_first_match_or_eos_index, __builtin_vec_first_match_or_eos_index] |
e2693a72 BS |
1622 | unsigned int __builtin_vec_first_match_or_eos_index (vsc, vsc); |
1623 | VFIRSTMATCHOREOSINDEX_V16QI FIRSTMATCHOREOSINDEX_VSC | |
1624 | unsigned int __builtin_vec_first_match_or_eos_index (vuc, vuc); | |
1625 | VFIRSTMATCHOREOSINDEX_V16QI FIRSTMATCHOREOSINDEX_VUC | |
1626 | unsigned int __builtin_vec_first_match_or_eos_index (vss, vss); | |
1627 | VFIRSTMATCHOREOSINDEX_V8HI FIRSTMATCHOREOSINDEX_VSS | |
1628 | unsigned int __builtin_vec_first_match_or_eos_index (vus, vus); | |
1629 | VFIRSTMATCHOREOSINDEX_V8HI FIRSTMATCHOREOSINDEX_VUS | |
1630 | unsigned int __builtin_vec_first_match_or_eos_index (vsi, vsi); | |
1631 | VFIRSTMATCHOREOSINDEX_V4SI FIRSTMATCHOREOSINDEX_VSI | |
1632 | unsigned int __builtin_vec_first_match_or_eos_index (vui, vui); | |
1633 | VFIRSTMATCHOREOSINDEX_V4SI FIRSTMATCHOREOSINDEX_VUI | |
1634 | ||
7e836079 | 1635 | [VEC_FIRSTMISMATCHINDEX, vec_first_mismatch_index, __builtin_vec_first_mismatch_index] |
e2693a72 BS |
1636 | unsigned int __builtin_vec_first_mismatch_index (vsc, vsc); |
1637 | VFIRSTMISMATCHINDEX_V16QI FIRSTMISMATCHINDEX_VSC | |
1638 | unsigned int __builtin_vec_first_mismatch_index (vuc, vuc); | |
1639 | VFIRSTMISMATCHINDEX_V16QI FIRSTMISMATCHINDEX_VUC | |
1640 | unsigned int __builtin_vec_first_mismatch_index (vss, vss); | |
1641 | VFIRSTMISMATCHINDEX_V8HI FIRSTMISMATCHINDEX_VSS | |
1642 | unsigned int __builtin_vec_first_mismatch_index (vus, vus); | |
1643 | VFIRSTMISMATCHINDEX_V8HI FIRSTMISMATCHINDEX_VUS | |
1644 | unsigned int __builtin_vec_first_mismatch_index (vsi, vsi); | |
1645 | VFIRSTMISMATCHINDEX_V4SI FIRSTMISMATCHINDEX_VSI | |
1646 | unsigned int __builtin_vec_first_mismatch_index (vui, vui); | |
1647 | VFIRSTMISMATCHINDEX_V4SI FIRSTMISMATCHINDEX_VUI | |
1648 | ||
7e836079 | 1649 | [VEC_FIRSTMISMATCHOREOSINDEX, vec_first_mismatch_or_eos_index, __builtin_vec_first_mismatch_or_eos_index] |
e2693a72 BS |
1650 | unsigned int __builtin_vec_first_mismatch_or_eos_index (vsc, vsc); |
1651 | VFIRSTMISMATCHOREOSINDEX_V16QI FIRSTMISMATCHOREOSINDEX_VSC | |
1652 | unsigned int __builtin_vec_first_mismatch_or_eos_index (vuc, vuc); | |
1653 | VFIRSTMISMATCHOREOSINDEX_V16QI FIRSTMISMATCHOREOSINDEX_VUC | |
1654 | unsigned int __builtin_vec_first_mismatch_or_eos_index (vss, vss); | |
1655 | VFIRSTMISMATCHOREOSINDEX_V8HI FIRSTMISMATCHOREOSINDEX_VSS | |
1656 | unsigned int __builtin_vec_first_mismatch_or_eos_index (vus, vus); | |
1657 | VFIRSTMISMATCHOREOSINDEX_V8HI FIRSTMISMATCHOREOSINDEX_VUS | |
1658 | unsigned int __builtin_vec_first_mismatch_or_eos_index (vsi, vsi); | |
1659 | VFIRSTMISMATCHOREOSINDEX_V4SI FIRSTMISMATCHOREOSINDEX_VSI | |
1660 | unsigned int __builtin_vec_first_mismatch_or_eos_index (vui, vui); | |
1661 | VFIRSTMISMATCHOREOSINDEX_V4SI FIRSTMISMATCHOREOSINDEX_VUI | |
1662 | ||
1663 | [VEC_FLOAT, vec_float, __builtin_vec_float] | |
1664 | vf __builtin_vec_float (vsi); | |
1665 | XVCVSXWSP | |
1666 | vf __builtin_vec_float (vui); | |
1667 | XVCVUXWSP | |
1668 | ||
1669 | [VEC_FLOAT2, vec_float2, __builtin_vec_float2] | |
1670 | vf __builtin_vec_float2 (vsll, vsll); | |
1671 | FLOAT2_V2DI | |
1672 | vf __builtin_vec_float2 (vull, vull); | |
1673 | UNS_FLOAT2_V2DI | |
1674 | vf __builtin_vec_float2 (vd, vd); | |
1675 | FLOAT2_V2DF | |
1676 | ||
1677 | [VEC_FLOATE, vec_floate, __builtin_vec_floate] | |
1678 | vf __builtin_vec_floate (vsll); | |
1679 | FLOATE_V2DI | |
1680 | vf __builtin_vec_floate (vull); | |
1681 | UNS_FLOATE_V2DI | |
1682 | vf __builtin_vec_floate (vd); | |
1683 | FLOATE_V2DF | |
1684 | ||
1685 | [VEC_FLOATO, vec_floato, __builtin_vec_floato] | |
1686 | vf __builtin_vec_floato (vsll); | |
1687 | FLOATO_V2DI | |
1688 | vf __builtin_vec_floato (vull); | |
1689 | UNS_FLOATO_V2DI | |
1690 | vf __builtin_vec_floato (vd); | |
1691 | FLOATO_V2DF | |
1692 | ||
1693 | [VEC_FLOOR, vec_floor, __builtin_vec_floor] | |
1694 | vf __builtin_vec_floor (vf); | |
1695 | VRFIM | |
1696 | vd __builtin_vec_floor (vd); | |
1697 | XVRDPIM | |
1698 | ||
7e836079 | 1699 | [VEC_GB, vec_gb, __builtin_vec_vgbbd] |
e2693a72 BS |
1700 | vsc __builtin_vec_vgbbd (vsc); |
1701 | VGBBD VGBBD_S | |
1702 | vuc __builtin_vec_vgbbd (vuc); | |
1703 | VGBBD VGBBD_U | |
1704 | ||
7e836079 | 1705 | [VEC_GENBM, vec_genbm, __builtin_vec_mtvsrbm] |
e2693a72 BS |
1706 | vuc __builtin_vec_mtvsrbm (unsigned long long); |
1707 | MTVSRBM | |
1708 | ||
7e836079 | 1709 | [VEC_GENHM, vec_genhm, __builtin_vec_mtvsrhm] |
e2693a72 BS |
1710 | vus __builtin_vec_mtvsrhm (unsigned long long); |
1711 | MTVSRHM | |
1712 | ||
7e836079 | 1713 | [VEC_GENWM, vec_genwm, __builtin_vec_mtvsrwm] |
e2693a72 BS |
1714 | vui __builtin_vec_mtvsrwm (unsigned long long); |
1715 | MTVSRWM | |
1716 | ||
7e836079 | 1717 | [VEC_GENDM, vec_gendm, __builtin_vec_mtvsrdm] |
e2693a72 BS |
1718 | vull __builtin_vec_mtvsrdm (unsigned long long); |
1719 | MTVSRDM | |
1720 | ||
7e836079 | 1721 | [VEC_GENQM, vec_genqm, __builtin_vec_mtvsrqm] |
e2693a72 BS |
1722 | vuq __builtin_vec_mtvsrqm (unsigned long long); |
1723 | MTVSRQM | |
1724 | ||
7e836079 | 1725 | [VEC_GENPCVM, vec_genpcvm, __builtin_vec_xxgenpcvm] |
e2693a72 BS |
1726 | vuc __builtin_vec_xxgenpcvm (vuc, const int); |
1727 | XXGENPCVM_V16QI | |
1728 | vus __builtin_vec_xxgenpcvm (vus, const int); | |
1729 | XXGENPCVM_V8HI | |
1730 | vui __builtin_vec_xxgenpcvm (vui, const int); | |
1731 | XXGENPCVM_V4SI | |
1732 | vull __builtin_vec_xxgenpcvm (vull, const int); | |
1733 | XXGENPCVM_V2DI | |
1734 | ||
7e836079 | 1735 | [VEC_GNB, vec_gnb, __builtin_vec_gnb] |
e2693a72 BS |
1736 | unsigned long long __builtin_vec_gnb (vuq, const int); |
1737 | VGNB | |
1738 | ||
1739 | ; There are no actual builtins for vec_insert. There is special handling for | |
e53b6e56 | 1740 | ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
e2693a72 BS |
1741 | ; is replaced by "pointer tricks." The single overload here causes |
1742 | ; __builtin_vec_insert to be registered with the front end so this can happen. | |
1743 | [VEC_INSERT, vec_insert, __builtin_vec_insert] | |
1744 | vsi __builtin_vec_insert (vsi, vsi, signed int); | |
1745 | XXPERMDI_4SI INSERT_FAKERY | |
1746 | ||
7e836079 | 1747 | [VEC_INSERTH, vec_inserth, __builtin_vec_inserth] |
e2693a72 BS |
1748 | vuc __builtin_vec_inserth (unsigned char, vuc, unsigned int); |
1749 | VINSERTGPRBR | |
1750 | vuc __builtin_vec_inserth (vuc, vuc, unsigned int); | |
1751 | VINSERTVPRBR | |
1752 | vus __builtin_vec_inserth (unsigned short, vus, unsigned int); | |
1753 | VINSERTGPRHR | |
1754 | vus __builtin_vec_inserth (vus, vus, unsigned int); | |
1755 | VINSERTVPRHR | |
1756 | vui __builtin_vec_inserth (unsigned int, vui, unsigned int); | |
1757 | VINSERTGPRWR | |
1758 | vui __builtin_vec_inserth (vui, vui, unsigned int); | |
1759 | VINSERTVPRWR | |
1760 | vull __builtin_vec_inserth (unsigned long long, vull, unsigned int); | |
1761 | VINSERTGPRDR | |
1762 | ||
7e836079 | 1763 | [VEC_INSERTL, vec_insertl, __builtin_vec_insertl] |
e2693a72 BS |
1764 | vuc __builtin_vec_insertl (unsigned char, vuc, unsigned int); |
1765 | VINSERTGPRBL | |
1766 | vuc __builtin_vec_insertl (vuc, vuc, unsigned int); | |
1767 | VINSERTVPRBL | |
1768 | vus __builtin_vec_insertl (unsigned short, vus, unsigned int); | |
1769 | VINSERTGPRHL | |
1770 | vus __builtin_vec_insertl (vus, vus, unsigned int); | |
1771 | VINSERTVPRHL | |
1772 | vui __builtin_vec_insertl (unsigned int, vui, unsigned int); | |
1773 | VINSERTGPRWL | |
1774 | vui __builtin_vec_insertl (vui, vui, unsigned int); | |
1775 | VINSERTVPRWL | |
1776 | vull __builtin_vec_insertl (unsigned long long, vull, unsigned int); | |
1777 | VINSERTGPRDL | |
1778 | ||
7e836079 | 1779 | [VEC_INSERT4B, vec_insert4b, __builtin_vec_insert4b] |
e2693a72 BS |
1780 | vuc __builtin_vec_insert4b (vsi, vuc, const int); |
1781 | INSERT4B INSERT4B_S | |
1782 | vuc __builtin_vec_insert4b (vui, vuc, const int); | |
1783 | INSERT4B INSERT4B_U | |
1784 | ||
1785 | [VEC_LD, vec_ld, __builtin_vec_ld] | |
1786 | vsc __builtin_vec_ld (signed long, const vsc *); | |
1787 | LVX_V16QI LVX_V16QI_VSC | |
1788 | vsc __builtin_vec_ld (signed long, const signed char *); | |
1789 | LVX_V16QI LVX_V16QI_SC | |
1790 | vuc __builtin_vec_ld (signed long, const vuc *); | |
1791 | LVX_V16QI LVX_V16QI_VUC | |
1792 | vuc __builtin_vec_ld (signed long, const unsigned char *); | |
1793 | LVX_V16QI LVX_V16QI_UC | |
1794 | vbc __builtin_vec_ld (signed long, const vbc *); | |
1795 | LVX_V16QI LVX_V16QI_VBC | |
1796 | vss __builtin_vec_ld (signed long, const vss *); | |
1797 | LVX_V8HI LVX_V8HI_VSS | |
1798 | vss __builtin_vec_ld (signed long, const signed short *); | |
1799 | LVX_V8HI LVX_V8HI_SS | |
1800 | vus __builtin_vec_ld (signed long, const vus *); | |
1801 | LVX_V8HI LVX_V8HI_VUS | |
1802 | vus __builtin_vec_ld (signed long, const unsigned short *); | |
1803 | LVX_V8HI LVX_V8HI_US | |
1804 | vbs __builtin_vec_ld (signed long, const vbs *); | |
1805 | LVX_V8HI LVX_V8HI_VBS | |
1806 | vp __builtin_vec_ld (signed long, const vp *); | |
1807 | LVX_V8HI LVX_V8HI_VP | |
1808 | vsi __builtin_vec_ld (signed long, const vsi *); | |
1809 | LVX_V4SI LVX_V4SI_VSI | |
1810 | vsi __builtin_vec_ld (signed long, const signed int *); | |
1811 | LVX_V4SI LVX_V4SI_SI | |
1812 | vui __builtin_vec_ld (signed long, const vui *); | |
1813 | LVX_V4SI LVX_V4SI_VUI | |
1814 | vui __builtin_vec_ld (signed long, const unsigned int *); | |
1815 | LVX_V4SI LVX_V4SI_UI | |
1816 | vbi __builtin_vec_ld (signed long, const vbi *); | |
1817 | LVX_V4SI LVX_V4SI_VBI | |
1818 | vsll __builtin_vec_ld (signed long, const vsll *); | |
1819 | LVX_V2DI LVX_V2DI_VSLL | |
1820 | vsll __builtin_vec_ld (signed long, const signed long long *); | |
1821 | LVX_V2DI LVX_V2DI_SLL | |
1822 | vull __builtin_vec_ld (signed long, const vull *); | |
1823 | LVX_V2DI LVX_V2DI_VULL | |
1824 | vull __builtin_vec_ld (signed long, const unsigned long long *); | |
1825 | LVX_V2DI LVX_V2DI_ULL | |
1826 | vbll __builtin_vec_ld (signed long, const vbll *); | |
1827 | LVX_V2DI LVX_V2DI_VBLL | |
1828 | vsq __builtin_vec_ld (signed long, const vsq *); | |
1829 | LVX_V1TI LVX_V1TI_VSQ | |
1830 | vuq __builtin_vec_ld (signed long, const vuq *); | |
1831 | LVX_V1TI LVX_V1TI_VUQ | |
1832 | vsq __builtin_vec_ld (signed long, const __int128 *); | |
1833 | LVX_V1TI LVX_V1TI_TI | |
1834 | vuq __builtin_vec_ld (signed long, const unsigned __int128 *); | |
1835 | LVX_V1TI LVX_V1TI_UTI | |
1836 | vf __builtin_vec_ld (signed long, const vf *); | |
1837 | LVX_V4SF LVX_V4SF_VF | |
1838 | vf __builtin_vec_ld (signed long, const float *); | |
1839 | LVX_V4SF LVX_V4SF_F | |
1840 | vd __builtin_vec_ld (signed long, const vd *); | |
1841 | LVX_V2DF LVX_V2DF_VD | |
1842 | vd __builtin_vec_ld (signed long, const double *); | |
1843 | LVX_V2DF LVX_V2DF_D | |
1844 | ; The following variants are deprecated. | |
1845 | vsi __builtin_vec_ld (signed long, const long *); | |
1846 | LVX_V4SI LVX_V4SI_SL | |
1847 | vui __builtin_vec_ld (signed long, const unsigned long *); | |
1848 | LVX_V4SI LVX_V4SI_UL | |
1849 | ||
1850 | [VEC_LDE, vec_lde, __builtin_vec_lde] | |
1851 | vsc __builtin_vec_lde (signed long, const signed char *); | |
1852 | LVEBX LVEBX_SC | |
1853 | vuc __builtin_vec_lde (signed long, const unsigned char *); | |
1854 | LVEBX LVEBX_UC | |
1855 | vss __builtin_vec_lde (signed long, const signed short *); | |
1856 | LVEHX LVEHX_SS | |
1857 | vus __builtin_vec_lde (signed long, const unsigned short *); | |
1858 | LVEHX LVEHX_US | |
1859 | vsi __builtin_vec_lde (signed long, const signed int *); | |
1860 | LVEWX LVEWX_SI | |
1861 | vui __builtin_vec_lde (signed long, const unsigned int *); | |
1862 | LVEWX LVEWX_UI | |
1863 | vf __builtin_vec_lde (signed long, const float *); | |
1864 | LVEWX LVEWX_F | |
1865 | ; The following variants are deprecated. | |
1866 | vsi __builtin_vec_lde (signed long, const long *); | |
1867 | LVEWX LVEWX_SL | |
1868 | vui __builtin_vec_lde (signed long, const unsigned long *); | |
1869 | LVEWX LVEWX_UL | |
1870 | ||
1871 | [VEC_LDL, vec_ldl, __builtin_vec_ldl] | |
1872 | vsc __builtin_vec_ldl (signed long, const vsc *); | |
1873 | LVXL_V16QI LVXL_V16QI_VSC | |
1874 | vsc __builtin_vec_ldl (signed long, const signed char *); | |
1875 | LVXL_V16QI LVXL_V16QI_SC | |
1876 | vuc __builtin_vec_ldl (signed long, const vuc *); | |
1877 | LVXL_V16QI LVXL_V16QI_VUC | |
1878 | vuc __builtin_vec_ldl (signed long, const unsigned char *); | |
1879 | LVXL_V16QI LVXL_V16QI_UC | |
1880 | vbc __builtin_vec_ldl (signed long, const vbc *); | |
1881 | LVXL_V16QI LVXL_V16QI_VBC | |
1882 | vss __builtin_vec_ldl (signed long, const vss *); | |
1883 | LVXL_V8HI LVXL_V8HI_VSS | |
1884 | vss __builtin_vec_ldl (signed long, const signed short *); | |
1885 | LVXL_V8HI LVXL_V8HI_SS | |
1886 | vus __builtin_vec_ldl (signed long, const vus *); | |
1887 | LVXL_V8HI LVXL_V8HI_VUS | |
1888 | vus __builtin_vec_ldl (signed long, const unsigned short *); | |
1889 | LVXL_V8HI LVXL_V8HI_US | |
1890 | vbs __builtin_vec_ldl (signed long, const vbs *); | |
1891 | LVXL_V8HI LVXL_V8HI_VBS | |
1892 | vp __builtin_vec_ldl (signed long, const vp *); | |
1893 | LVXL_V8HI LVXL_V8HI_VP | |
1894 | vsi __builtin_vec_ldl (signed long, const vsi *); | |
1895 | LVXL_V4SI LVXL_V4SI_VSI | |
1896 | vsi __builtin_vec_ldl (signed long, const signed int *); | |
1897 | LVXL_V4SI LVXL_V4SI_SI | |
1898 | vui __builtin_vec_ldl (signed long, const vui *); | |
1899 | LVXL_V4SI LVXL_V4SI_VUI | |
1900 | vui __builtin_vec_ldl (signed long, const unsigned int *); | |
1901 | LVXL_V4SI LVXL_V4SI_UI | |
1902 | vbi __builtin_vec_ldl (signed long, const vbi *); | |
1903 | LVXL_V4SI LVXL_V4SI_VBI | |
1904 | vsll __builtin_vec_ldl (signed long, const vsll *); | |
1905 | LVXL_V2DI LVXL_V2DI_VSLL | |
1906 | vsll __builtin_vec_ldl (signed long, const signed long long *); | |
1907 | LVXL_V2DI LVXL_V2DI_SLL | |
1908 | vull __builtin_vec_ldl (signed long, const vull *); | |
1909 | LVXL_V2DI LVXL_V2DI_VULL | |
1910 | vull __builtin_vec_ldl (signed long, const unsigned long long *); | |
1911 | LVXL_V2DI LVXL_V2DI_ULL | |
1912 | vbll __builtin_vec_ldl (signed long, const vbll *); | |
1913 | LVXL_V2DI LVXL_V2DI_VBLL | |
1914 | vf __builtin_vec_ldl (signed long, const vf *); | |
1915 | LVXL_V4SF LVXL_V4SF_VF | |
1916 | vf __builtin_vec_ldl (signed long, const float *); | |
1917 | LVXL_V4SF LVXL_V4SF_F | |
1918 | vd __builtin_vec_ldl (signed long, const vd *); | |
1919 | LVXL_V2DF LVXL_V2DF_VD | |
1920 | vd __builtin_vec_ldl (signed long, const double *); | |
1921 | LVXL_V2DF LVXL_V2DF_D | |
1922 | ||
1923 | [VEC_LOGE, vec_loge, __builtin_vec_loge] | |
1924 | vf __builtin_vec_loge (vf); | |
1925 | VLOGEFP | |
1926 | ||
1927 | [VEC_LVLX, vec_lvlx, __builtin_vec_lvlx, __PPU__] | |
1928 | vbc __builtin_vec_lvlx (signed long, const vbc *); | |
1929 | LVLX LVLX_VBC | |
1930 | vsc __builtin_vec_lvlx (signed long, const vsc *); | |
1931 | LVLX LVLX_VSC | |
1932 | vsc __builtin_vec_lvlx (signed long, const signed char *); | |
1933 | LVLX LVLX_SC | |
1934 | vuc __builtin_vec_lvlx (signed long, const vuc *); | |
1935 | LVLX LVLX_VUC | |
1936 | vuc __builtin_vec_lvlx (signed long, const unsigned char *); | |
1937 | LVLX LVLX_UC | |
1938 | vbs __builtin_vec_lvlx (signed long, const vbs *); | |
1939 | LVLX LVLX_VBS | |
1940 | vss __builtin_vec_lvlx (signed long, const vss *); | |
1941 | LVLX LVLX_VSS | |
1942 | vss __builtin_vec_lvlx (signed long, const signed short *); | |
1943 | LVLX LVLX_SS | |
1944 | vus __builtin_vec_lvlx (signed long, const vus *); | |
1945 | LVLX LVLX_VUS | |
1946 | vus __builtin_vec_lvlx (signed long, const unsigned short *); | |
1947 | LVLX LVLX_US | |
1948 | vp __builtin_vec_lvlx (signed long, const vp *); | |
1949 | LVLX LVLX_VP | |
1950 | vbi __builtin_vec_lvlx (signed long, const vbi *); | |
1951 | LVLX LVLX_VBI | |
1952 | vsi __builtin_vec_lvlx (signed long, const vsi *); | |
1953 | LVLX LVLX_VSI | |
1954 | vsi __builtin_vec_lvlx (signed long, const signed int *); | |
1955 | LVLX LVLX_SI | |
1956 | vui __builtin_vec_lvlx (signed long, const vui *); | |
1957 | LVLX LVLX_VUI | |
1958 | vui __builtin_vec_lvlx (signed long, const unsigned int *); | |
1959 | LVLX LVLX_UI | |
1960 | vf __builtin_vec_lvlx (signed long, const vf *); | |
1961 | LVLX LVLX_VF | |
1962 | vf __builtin_vec_lvlx (signed long, const float *); | |
1963 | LVLX LVLX_F | |
1964 | ||
1965 | [VEC_LVLXL, vec_lvlxl, __builtin_vec_lvlxl, __PPU__] | |
1966 | vbc __builtin_vec_lvlxl (signed long, const vbc *); | |
1967 | LVLXL LVLXL_VBC | |
1968 | vsc __builtin_vec_lvlxl (signed long, const vsc *); | |
1969 | LVLXL LVLXL_VSC | |
1970 | vsc __builtin_vec_lvlxl (signed long, const signed char *); | |
1971 | LVLXL LVLXL_SC | |
1972 | vuc __builtin_vec_lvlxl (signed long, const vuc *); | |
1973 | LVLXL LVLXL_VUC | |
1974 | vuc __builtin_vec_lvlxl (signed long, const unsigned char *); | |
1975 | LVLXL LVLXL_UC | |
1976 | vbs __builtin_vec_lvlxl (signed long, const vbs *); | |
1977 | LVLXL LVLXL_VBS | |
1978 | vss __builtin_vec_lvlxl (signed long, const vss *); | |
1979 | LVLXL LVLXL_VSS | |
1980 | vss __builtin_vec_lvlxl (signed long, const signed short *); | |
1981 | LVLXL LVLXL_SS | |
1982 | vus __builtin_vec_lvlxl (signed long, const vus *); | |
1983 | LVLXL LVLXL_VUS | |
1984 | vus __builtin_vec_lvlxl (signed long, const unsigned short *); | |
1985 | LVLXL LVLXL_US | |
1986 | vp __builtin_vec_lvlxl (signed long, const vp *); | |
1987 | LVLXL LVLXL_VP | |
1988 | vbi __builtin_vec_lvlxl (signed long, const vbi *); | |
1989 | LVLXL LVLXL_VBI | |
1990 | vsi __builtin_vec_lvlxl (signed long, const vsi *); | |
1991 | LVLXL LVLXL_VSI | |
1992 | vsi __builtin_vec_lvlxl (signed long, const signed int *); | |
1993 | LVLXL LVLXL_SI | |
1994 | vui __builtin_vec_lvlxl (signed long, const vui *); | |
1995 | LVLXL LVLXL_VUI | |
1996 | vui __builtin_vec_lvlxl (signed long, const unsigned int *); | |
1997 | LVLXL LVLXL_UI | |
1998 | vf __builtin_vec_lvlxl (signed long, const vf *); | |
1999 | LVLXL LVLXL_VF | |
2000 | vf __builtin_vec_lvlxl (signed long, const float *); | |
2001 | LVLXL LVLXL_F | |
2002 | ||
2003 | [VEC_LVRX, vec_lvrx, __builtin_vec_lvrx, __PPU__] | |
2004 | vbc __builtin_vec_lvrx (signed long, const vbc *); | |
2005 | LVRX LVRX_VBC | |
2006 | vsc __builtin_vec_lvrx (signed long, const vsc *); | |
2007 | LVRX LVRX_VSC | |
2008 | vsc __builtin_vec_lvrx (signed long, const signed char *); | |
2009 | LVRX LVRX_SC | |
2010 | vuc __builtin_vec_lvrx (signed long, const vuc *); | |
2011 | LVRX LVRX_VUC | |
2012 | vuc __builtin_vec_lvrx (signed long, const unsigned char *); | |
2013 | LVRX LVRX_UC | |
2014 | vbs __builtin_vec_lvrx (signed long, const vbs *); | |
2015 | LVRX LVRX_VBS | |
2016 | vss __builtin_vec_lvrx (signed long, const vss *); | |
2017 | LVRX LVRX_VSS | |
2018 | vss __builtin_vec_lvrx (signed long, const signed short *); | |
2019 | LVRX LVRX_SS | |
2020 | vus __builtin_vec_lvrx (signed long, const vus *); | |
2021 | LVRX LVRX_VUS | |
2022 | vus __builtin_vec_lvrx (signed long, const unsigned short *); | |
2023 | LVRX LVRX_US | |
2024 | vp __builtin_vec_lvrx (signed long, const vp *); | |
2025 | LVRX LVRX_VP | |
2026 | vbi __builtin_vec_lvrx (signed long, const vbi *); | |
2027 | LVRX LVRX_VBI | |
2028 | vsi __builtin_vec_lvrx (signed long, const vsi *); | |
2029 | LVRX LVRX_VSI | |
2030 | vsi __builtin_vec_lvrx (signed long, const signed int *); | |
2031 | LVRX LVRX_SI | |
2032 | vui __builtin_vec_lvrx (signed long, const vui *); | |
2033 | LVRX LVRX_VUI | |
2034 | vui __builtin_vec_lvrx (signed long, const unsigned int *); | |
2035 | LVRX LVRX_UI | |
2036 | vf __builtin_vec_lvrx (signed long, const vf *); | |
2037 | LVRX LVRX_VF | |
2038 | vf __builtin_vec_lvrx (signed long, const float *); | |
2039 | LVRX LVRX_F | |
2040 | ||
2041 | [VEC_LVRXL, vec_lvrxl, __builtin_vec_lvrxl, __PPU__] | |
2042 | vbc __builtin_vec_lvrxl (signed long, const vbc *); | |
2043 | LVRXL LVRXL_VBC | |
2044 | vsc __builtin_vec_lvrxl (signed long, const vsc *); | |
2045 | LVRXL LVRXL_VSC | |
2046 | vsc __builtin_vec_lvrxl (signed long, const signed char *); | |
2047 | LVRXL LVRXL_SC | |
2048 | vuc __builtin_vec_lvrxl (signed long, const vuc *); | |
2049 | LVRXL LVRXL_VUC | |
2050 | vuc __builtin_vec_lvrxl (signed long, const unsigned char *); | |
2051 | LVRXL LVRXL_UC | |
2052 | vbs __builtin_vec_lvrxl (signed long, const vbs *); | |
2053 | LVRXL LVRXL_VBS | |
2054 | vss __builtin_vec_lvrxl (signed long, const vss *); | |
2055 | LVRXL LVRXL_VSS | |
2056 | vss __builtin_vec_lvrxl (signed long, const signed short *); | |
2057 | LVRXL LVRXL_SS | |
2058 | vus __builtin_vec_lvrxl (signed long, const vus *); | |
2059 | LVRXL LVRXL_VUS | |
2060 | vus __builtin_vec_lvrxl (signed long, const unsigned short *); | |
2061 | LVRXL LVRXL_US | |
2062 | vp __builtin_vec_lvrxl (signed long, const vp *); | |
2063 | LVRXL LVRXL_VP | |
2064 | vbi __builtin_vec_lvrxl (signed long, const vbi *); | |
2065 | LVRXL LVRXL_VBI | |
2066 | vsi __builtin_vec_lvrxl (signed long, const vsi *); | |
2067 | LVRXL LVRXL_VSI | |
2068 | vsi __builtin_vec_lvrxl (signed long, const signed int *); | |
2069 | LVRXL LVRXL_SI | |
2070 | vui __builtin_vec_lvrxl (signed long, const vui *); | |
2071 | LVRXL LVRXL_VUI | |
2072 | vui __builtin_vec_lvrxl (signed long, const unsigned int *); | |
2073 | LVRXL LVRXL_UI | |
2074 | vf __builtin_vec_lvrxl (signed long, const vf *); | |
2075 | LVRXL LVRXL_VF | |
2076 | vf __builtin_vec_lvrxl (signed long, const float *); | |
2077 | LVRXL LVRXL_F | |
2078 | ||
2079 | [VEC_LVSL, vec_lvsl, __builtin_vec_lvsl] | |
2080 | vuc __builtin_vec_lvsl (signed long, const unsigned char *); | |
2081 | LVSL LVSL_UC | |
2082 | vuc __builtin_vec_lvsl (signed long, const signed char *); | |
2083 | LVSL LVSL_SC | |
2084 | vuc __builtin_vec_lvsl (signed long, const char *); | |
2085 | LVSL LVSL_STR | |
2086 | vuc __builtin_vec_lvsl (signed long, const unsigned short *); | |
2087 | LVSL LVSL_US | |
2088 | vuc __builtin_vec_lvsl (signed long, const signed short *); | |
2089 | LVSL LVSL_SS | |
2090 | vuc __builtin_vec_lvsl (signed long, const unsigned int *); | |
2091 | LVSL LVSL_UI | |
2092 | vuc __builtin_vec_lvsl (signed long, const signed int *); | |
2093 | LVSL LVSL_SI | |
2094 | vuc __builtin_vec_lvsl (signed long, const unsigned long *); | |
2095 | LVSL LVSL_UL | |
2096 | vuc __builtin_vec_lvsl (signed long, const signed long *); | |
2097 | LVSL LVSL_SL | |
2098 | vuc __builtin_vec_lvsl (signed long, const unsigned long long *); | |
2099 | LVSL LVSL_ULL | |
2100 | vuc __builtin_vec_lvsl (signed long, const signed long long *); | |
2101 | LVSL LVSL_SLL | |
2102 | vuc __builtin_vec_lvsl (signed long, const float *); | |
2103 | LVSL LVSL_F | |
2104 | vuc __builtin_vec_lvsl (signed long, const double *); | |
2105 | LVSL LVSL_D | |
2106 | ||
2107 | [VEC_LVSR, vec_lvsr, __builtin_vec_lvsr] | |
2108 | vuc __builtin_vec_lvsr (signed long, const unsigned char *); | |
2109 | LVSR LVSR_UC | |
2110 | vuc __builtin_vec_lvsr (signed long, const signed char *); | |
2111 | LVSR LVSR_SC | |
2112 | vuc __builtin_vec_lvsr (signed long, const char *); | |
2113 | LVSR LVSR_STR | |
2114 | vuc __builtin_vec_lvsr (signed long, const unsigned short *); | |
2115 | LVSR LVSR_US | |
2116 | vuc __builtin_vec_lvsr (signed long, const signed short *); | |
2117 | LVSR LVSR_SS | |
2118 | vuc __builtin_vec_lvsr (signed long, const unsigned int *); | |
2119 | LVSR LVSR_UI | |
2120 | vuc __builtin_vec_lvsr (signed long, const signed int *); | |
2121 | LVSR LVSR_SI | |
2122 | vuc __builtin_vec_lvsr (signed long, const unsigned long *); | |
2123 | LVSR LVSR_UL | |
2124 | vuc __builtin_vec_lvsr (signed long, const signed long *); | |
2125 | LVSR LVSR_SL | |
2126 | vuc __builtin_vec_lvsr (signed long, const unsigned long long *); | |
2127 | LVSR LVSR_ULL | |
2128 | vuc __builtin_vec_lvsr (signed long, const signed long long *); | |
2129 | LVSR LVSR_SLL | |
2130 | vuc __builtin_vec_lvsr (signed long, const float *); | |
2131 | LVSR LVSR_F | |
2132 | vuc __builtin_vec_lvsr (signed long, const double *); | |
2133 | LVSR LVSR_D | |
2134 | ||
7e836079 | 2135 | [VEC_LXVL, vec_xl_len, __builtin_vec_lxvl] |
e2693a72 BS |
2136 | vsc __builtin_vec_lxvl (const signed char *, unsigned int); |
2137 | LXVL LXVL_VSC | |
2138 | vuc __builtin_vec_lxvl (const unsigned char *, unsigned int); | |
2139 | LXVL LXVL_VUC | |
2140 | vss __builtin_vec_lxvl (const signed short *, unsigned int); | |
2141 | LXVL LXVL_VSS | |
2142 | vus __builtin_vec_lxvl (const unsigned short *, unsigned int); | |
2143 | LXVL LXVL_VUS | |
2144 | vsi __builtin_vec_lxvl (const signed int *, unsigned int); | |
2145 | LXVL LXVL_VSI | |
2146 | vui __builtin_vec_lxvl (const unsigned int *, unsigned int); | |
2147 | LXVL LXVL_VUI | |
2148 | vsll __builtin_vec_lxvl (const signed long long *, unsigned int); | |
2149 | LXVL LXVL_VSLL | |
2150 | vull __builtin_vec_lxvl (const unsigned long long *, unsigned int); | |
2151 | LXVL LXVL_VULL | |
2152 | vsq __builtin_vec_lxvl (const signed __int128 *, unsigned int); | |
2153 | LXVL LXVL_VSQ | |
2154 | vuq __builtin_vec_lxvl (const unsigned __int128 *, unsigned int); | |
2155 | LXVL LXVL_VUQ | |
2156 | vf __builtin_vec_lxvl (const float *, unsigned int); | |
2157 | LXVL LXVL_VF | |
2158 | vd __builtin_vec_lxvl (const double *, unsigned int); | |
2159 | LXVL LXVL_VD | |
2160 | ||
2161 | [VEC_MADD, vec_madd, __builtin_vec_madd] | |
2162 | vss __builtin_vec_madd (vss, vss, vss); | |
2163 | VMLADDUHM VMLADDUHM_VSS | |
2164 | vss __builtin_vec_madd (vss, vus, vus); | |
2165 | VMLADDUHM VMLADDUHM_VSSVUS | |
2166 | vss __builtin_vec_madd (vus, vss, vss); | |
2167 | VMLADDUHM VMLADDUHM_VUSVSS | |
2168 | vus __builtin_vec_madd (vus, vus, vus); | |
2169 | VMLADDUHM VMLADDUHM_VUS | |
2170 | vf __builtin_vec_madd (vf, vf, vf); | |
2171 | VMADDFP | |
2172 | vd __builtin_vec_madd (vd, vd, vd); | |
2173 | XVMADDDP | |
2174 | ||
2175 | [VEC_MADDS, vec_madds, __builtin_vec_madds] | |
2176 | vss __builtin_vec_madds (vss, vss, vss); | |
2177 | VMHADDSHS | |
2178 | ||
2179 | [VEC_MAX, vec_max, __builtin_vec_max] | |
2180 | vsc __builtin_vec_max (vsc, vsc); | |
2181 | VMAXSB | |
2182 | vuc __builtin_vec_max (vuc, vuc); | |
2183 | VMAXUB | |
2184 | vss __builtin_vec_max (vss, vss); | |
2185 | VMAXSH | |
2186 | vus __builtin_vec_max (vus, vus); | |
2187 | VMAXUH | |
2188 | vsi __builtin_vec_max (vsi, vsi); | |
2189 | VMAXSW | |
2190 | vui __builtin_vec_max (vui, vui); | |
2191 | VMAXUW | |
2192 | vsll __builtin_vec_max (vsll, vsll); | |
2193 | VMAXSD | |
2194 | vull __builtin_vec_max (vull, vull); | |
2195 | VMAXUD | |
2196 | vf __builtin_vec_max (vf, vf); | |
2197 | VMAXFP | |
2198 | vd __builtin_vec_max (vd, vd); | |
2199 | XVMAXDP | |
2200 | ; The following variants are deprecated. | |
2201 | vsc __builtin_vec_max (vsc, vbc); | |
2202 | VMAXSB VMAXSB_SB | |
2203 | vsc __builtin_vec_max (vbc, vsc); | |
2204 | VMAXSB VMAXSB_BS | |
2205 | vuc __builtin_vec_max (vuc, vbc); | |
2206 | VMAXUB VMAXUB_UB | |
2207 | vuc __builtin_vec_max (vbc, vuc); | |
2208 | VMAXUB VMAXUB_BU | |
2209 | vss __builtin_vec_max (vss, vbs); | |
2210 | VMAXSH VMAXSH_SB | |
2211 | vss __builtin_vec_max (vbs, vss); | |
2212 | VMAXSH VMAXSH_BS | |
2213 | vus __builtin_vec_max (vus, vbs); | |
2214 | VMAXUH VMAXUH_UB | |
2215 | vus __builtin_vec_max (vbs, vus); | |
2216 | VMAXUH VMAXUH_BU | |
2217 | vsi __builtin_vec_max (vsi, vbi); | |
2218 | VMAXSW VMAXSW_SB | |
2219 | vsi __builtin_vec_max (vbi, vsi); | |
2220 | VMAXSW VMAXSW_BS | |
2221 | vui __builtin_vec_max (vui, vbi); | |
2222 | VMAXUW VMAXUW_UB | |
2223 | vui __builtin_vec_max (vbi, vui); | |
2224 | VMAXUW VMAXUW_BU | |
2225 | vsll __builtin_vec_max (vsll, vbll); | |
2226 | VMAXSD VMAXSD_SB | |
2227 | vsll __builtin_vec_max (vbll, vsll); | |
2228 | VMAXSD VMAXSD_BS | |
2229 | vull __builtin_vec_max (vull, vbll); | |
2230 | VMAXUD VMAXUD_UB | |
2231 | vull __builtin_vec_max (vbll, vull); | |
2232 | VMAXUD VMAXUD_BU | |
2233 | ||
7e836079 | 2234 | [VEC_MERGEE, vec_mergee, __builtin_vec_vmrgew] |
e2693a72 BS |
2235 | vsi __builtin_vec_vmrgew (vsi, vsi); |
2236 | VMRGEW_V4SI VMRGEW_VSI | |
2237 | vui __builtin_vec_vmrgew (vui, vui); | |
2238 | VMRGEW_V4SI VMRGEW_VUI | |
2239 | vbi __builtin_vec_vmrgew (vbi, vbi); | |
2240 | VMRGEW_V4SI VMRGEW_VBI | |
2241 | vsll __builtin_vec_vmrgew (vsll, vsll); | |
2242 | VMRGEW_V2DI VMRGEW_VSLL | |
2243 | vull __builtin_vec_vmrgew (vull, vull); | |
2244 | VMRGEW_V2DI VMRGEW_VULL | |
2245 | vbll __builtin_vec_vmrgew (vbll, vbll); | |
2246 | VMRGEW_V2DI VMRGEW_VBLL | |
2247 | vf __builtin_vec_vmrgew (vf, vf); | |
2248 | VMRGEW_V4SF | |
2249 | vd __builtin_vec_vmrgew (vd, vd); | |
2250 | VMRGEW_V2DF | |
2251 | ||
2252 | [VEC_MERGEH, vec_mergeh, __builtin_vec_mergeh] | |
2253 | vbc __builtin_vec_mergeh (vbc, vbc); | |
2254 | VMRGHB VMRGHB_VBC | |
2255 | vsc __builtin_vec_mergeh (vsc, vsc); | |
2256 | VMRGHB VMRGHB_VSC | |
2257 | vuc __builtin_vec_mergeh (vuc, vuc); | |
2258 | VMRGHB VMRGHB_VUC | |
2259 | vbs __builtin_vec_mergeh (vbs, vbs); | |
2260 | VMRGHH VMRGHH_VBS | |
2261 | vss __builtin_vec_mergeh (vss, vss); | |
2262 | VMRGHH VMRGHH_VSS | |
2263 | vus __builtin_vec_mergeh (vus, vus); | |
2264 | VMRGHH VMRGHH_VUS | |
2265 | vp __builtin_vec_mergeh (vp, vp); | |
2266 | VMRGHH VMRGHH_VP | |
2267 | vbi __builtin_vec_mergeh (vbi, vbi); | |
2268 | VMRGHW VMRGHW_VBI | |
2269 | vsi __builtin_vec_mergeh (vsi, vsi); | |
2270 | VMRGHW VMRGHW_VSI | |
2271 | vui __builtin_vec_mergeh (vui, vui); | |
2272 | VMRGHW VMRGHW_VUI | |
2273 | vbll __builtin_vec_mergeh (vbll, vbll); | |
2274 | VEC_MERGEH_V2DI VEC_MERGEH_VBLL | |
2275 | vsll __builtin_vec_mergeh (vsll, vsll); | |
2276 | VEC_MERGEH_V2DI VEC_MERGEH_VSLL | |
2277 | vull __builtin_vec_mergeh (vull, vull); | |
2278 | VEC_MERGEH_V2DI VEC_MERGEH_VULL | |
2279 | vf __builtin_vec_mergeh (vf, vf); | |
2280 | VMRGHW VMRGHW_VF | |
2281 | vd __builtin_vec_mergeh (vd, vd); | |
2282 | VEC_MERGEH_V2DF | |
2283 | ; The following variants are deprecated. | |
2284 | vsll __builtin_vec_mergeh (vsll, vbll); | |
2285 | VEC_MERGEH_V2DI VEC_MERGEH_VSLL_VBLL | |
2286 | vsll __builtin_vec_mergeh (vbll, vsll); | |
2287 | VEC_MERGEH_V2DI VEC_MERGEH_VBLL_VSLL | |
2288 | vull __builtin_vec_mergeh (vull, vbll); | |
2289 | VEC_MERGEH_V2DI VEC_MERGEH_VULL_VBLL | |
2290 | vull __builtin_vec_mergeh (vbll, vull); | |
2291 | VEC_MERGEH_V2DI VEC_MERGEH_VBLL_VULL | |
2292 | ||
2293 | [VEC_MERGEL, vec_mergel, __builtin_vec_mergel] | |
2294 | vbc __builtin_vec_mergel (vbc, vbc); | |
2295 | VMRGLB VMRGLB_VBC | |
2296 | vsc __builtin_vec_mergel (vsc, vsc); | |
2297 | VMRGLB VMRGLB_VSC | |
2298 | vuc __builtin_vec_mergel (vuc, vuc); | |
2299 | VMRGLB VMRGLB_VUC | |
2300 | vbs __builtin_vec_mergel (vbs, vbs); | |
2301 | VMRGLH VMRGLH_VBS | |
2302 | vss __builtin_vec_mergel (vss, vss); | |
2303 | VMRGLH VMRGLH_VSS | |
2304 | vus __builtin_vec_mergel (vus, vus); | |
2305 | VMRGLH VMRGLH_VUS | |
2306 | vp __builtin_vec_mergel (vp, vp); | |
2307 | VMRGLH VMRGLH_VP | |
2308 | vbi __builtin_vec_mergel (vbi, vbi); | |
2309 | VMRGLW VMRGLW_VBI | |
2310 | vsi __builtin_vec_mergel (vsi, vsi); | |
2311 | VMRGLW VMRGLW_VSI | |
2312 | vui __builtin_vec_mergel (vui, vui); | |
2313 | VMRGLW VMRGLW_VUI | |
2314 | vbll __builtin_vec_mergel (vbll, vbll); | |
2315 | VEC_MERGEL_V2DI VEC_MERGEL_VBLL | |
2316 | vsll __builtin_vec_mergel (vsll, vsll); | |
2317 | VEC_MERGEL_V2DI VEC_MERGEL_VSLL | |
2318 | vull __builtin_vec_mergel (vull, vull); | |
2319 | VEC_MERGEL_V2DI VEC_MERGEL_VULL | |
2320 | vf __builtin_vec_mergel (vf, vf); | |
2321 | VMRGLW VMRGLW_VF | |
2322 | vd __builtin_vec_mergel (vd, vd); | |
2323 | VEC_MERGEL_V2DF | |
2324 | ; The following variants are deprecated. | |
2325 | vsll __builtin_vec_mergel (vsll, vbll); | |
2326 | VEC_MERGEL_V2DI VEC_MERGEL_VSLL_VBLL | |
2327 | vsll __builtin_vec_mergel (vbll, vsll); | |
2328 | VEC_MERGEL_V2DI VEC_MERGEL_VBLL_VSLL | |
2329 | vull __builtin_vec_mergel (vull, vbll); | |
2330 | VEC_MERGEL_V2DI VEC_MERGEL_VULL_VBLL | |
2331 | vull __builtin_vec_mergel (vbll, vull); | |
2332 | VEC_MERGEL_V2DI VEC_MERGEL_VBLL_VULL | |
2333 | ||
7e836079 | 2334 | [VEC_MERGEO, vec_mergeo, __builtin_vec_vmrgow] |
e2693a72 BS |
2335 | vsi __builtin_vec_vmrgow (vsi, vsi); |
2336 | VMRGOW_V4SI VMRGOW_VSI | |
2337 | vui __builtin_vec_vmrgow (vui, vui); | |
2338 | VMRGOW_V4SI VMRGOW_VUI | |
2339 | vbi __builtin_vec_vmrgow (vbi, vbi); | |
2340 | VMRGOW_V4SI VMRGOW_VBI | |
2341 | vsll __builtin_vec_vmrgow (vsll, vsll); | |
2342 | VMRGOW_V2DI VMRGOW_VSLL | |
2343 | vull __builtin_vec_vmrgow (vull, vull); | |
2344 | VMRGOW_V2DI VMRGOW_VULL | |
2345 | vbll __builtin_vec_vmrgow (vbll, vbll); | |
2346 | VMRGOW_V2DI VMRGOW_VBLL | |
2347 | vf __builtin_vec_vmrgow (vf, vf); | |
2348 | VMRGOW_V4SF | |
2349 | vd __builtin_vec_vmrgow (vd, vd); | |
2350 | VMRGOW_V2DF | |
2351 | ||
2352 | [VEC_MFVSCR, vec_mfvscr, __builtin_vec_mfvscr] | |
2353 | vus __builtin_vec_mfvscr (); | |
2354 | MFVSCR | |
2355 | ||
2356 | [VEC_MIN, vec_min, __builtin_vec_min] | |
2357 | vsc __builtin_vec_min (vsc, vsc); | |
2358 | VMINSB | |
2359 | vuc __builtin_vec_min (vuc, vuc); | |
2360 | VMINUB | |
2361 | vss __builtin_vec_min (vss, vss); | |
2362 | VMINSH | |
2363 | vus __builtin_vec_min (vus, vus); | |
2364 | VMINUH | |
2365 | vsi __builtin_vec_min (vsi, vsi); | |
2366 | VMINSW | |
2367 | vui __builtin_vec_min (vui, vui); | |
2368 | VMINUW | |
2369 | vsll __builtin_vec_min (vsll, vsll); | |
2370 | VMINSD | |
2371 | vull __builtin_vec_min (vull, vull); | |
2372 | VMINUD | |
2373 | vf __builtin_vec_min (vf, vf); | |
2374 | VMINFP | |
2375 | vd __builtin_vec_min (vd, vd); | |
2376 | XVMINDP | |
2377 | ; The following variants are deprecated. | |
2378 | vsc __builtin_vec_min (vsc, vbc); | |
2379 | VMINSB VMINSB_SB | |
2380 | vsc __builtin_vec_min (vbc, vsc); | |
2381 | VMINSB VMINSB_BS | |
2382 | vuc __builtin_vec_min (vuc, vbc); | |
2383 | VMINUB VMINUB_UB | |
2384 | vuc __builtin_vec_min (vbc, vuc); | |
2385 | VMINUB VMINUB_BU | |
2386 | vss __builtin_vec_min (vss, vbs); | |
2387 | VMINSH VMINSH_SB | |
2388 | vss __builtin_vec_min (vbs, vss); | |
2389 | VMINSH VMINSH_BS | |
2390 | vus __builtin_vec_min (vus, vbs); | |
2391 | VMINUH VMINUH_UB | |
2392 | vus __builtin_vec_min (vbs, vus); | |
2393 | VMINUH VMINUH_BU | |
2394 | vsi __builtin_vec_min (vsi, vbi); | |
2395 | VMINSW VMINSW_SB | |
2396 | vsi __builtin_vec_min (vbi, vsi); | |
2397 | VMINSW VMINSW_BS | |
2398 | vui __builtin_vec_min (vui, vbi); | |
2399 | VMINUW VMINUW_UB | |
2400 | vui __builtin_vec_min (vbi, vui); | |
2401 | VMINUW VMINUW_BU | |
2402 | vsll __builtin_vec_min (vsll, vbll); | |
2403 | VMINSD VMINSD_SB | |
2404 | vsll __builtin_vec_min (vbll, vsll); | |
2405 | VMINSD VMINSD_BS | |
2406 | vull __builtin_vec_min (vull, vbll); | |
2407 | VMINUD VMINUD_UB | |
2408 | vull __builtin_vec_min (vbll, vull); | |
2409 | VMINUD VMINUD_BU | |
2410 | ||
2411 | [VEC_MLADD, vec_mladd, __builtin_vec_mladd] | |
2412 | vss __builtin_vec_mladd (vss, vss, vss); | |
2413 | VMLADDUHM VMLADDUHM_VSS2 | |
2414 | vss __builtin_vec_mladd (vss, vus, vus); | |
2415 | VMLADDUHM VMLADDUHM_VSSVUS2 | |
2416 | vss __builtin_vec_mladd (vus, vss, vss); | |
2417 | VMLADDUHM VMLADDUHM_VUSVSS2 | |
2418 | vus __builtin_vec_mladd (vus, vus, vus); | |
2419 | VMLADDUHM VMLADDUHM_VUS2 | |
2420 | ||
7e836079 | 2421 | [VEC_MOD, vec_mod, __builtin_vec_mod] |
e2693a72 BS |
2422 | vsi __builtin_vec_mod (vsi, vsi); |
2423 | VMODSW | |
2424 | vui __builtin_vec_mod (vui, vui); | |
2425 | VMODUW | |
2426 | vsll __builtin_vec_mod (vsll, vsll); | |
2427 | VMODSD | |
2428 | vull __builtin_vec_mod (vull, vull); | |
2429 | VMODUD | |
2430 | vsq __builtin_vec_mod (vsq, vsq); | |
2431 | MODS_V1TI | |
2432 | vuq __builtin_vec_mod (vuq, vuq); | |
2433 | MODU_V1TI | |
2434 | ||
2435 | [VEC_MRADDS, vec_mradds, __builtin_vec_mradds] | |
2436 | vss __builtin_vec_mradds (vss, vss, vss); | |
2437 | VMHRADDSHS | |
2438 | ||
7e836079 | 2439 | [VEC_MSUB, vec_msub, __builtin_vec_msub] |
e2693a72 BS |
2440 | vf __builtin_vec_msub (vf, vf, vf); |
2441 | XVMSUBSP | |
2442 | vd __builtin_vec_msub (vd, vd, vd); | |
2443 | XVMSUBDP | |
2444 | ||
2445 | [VEC_MSUM, vec_msum, __builtin_vec_msum] | |
2446 | vui __builtin_vec_msum (vuc, vuc, vui); | |
2447 | VMSUMUBM | |
2448 | vsi __builtin_vec_msum (vsc, vuc, vsi); | |
2449 | VMSUMMBM | |
2450 | vui __builtin_vec_msum (vus, vus, vui); | |
2451 | VMSUMUHM | |
2452 | vsi __builtin_vec_msum (vss, vss, vsi); | |
2453 | VMSUMSHM | |
2454 | vsq __builtin_vec_msum (vsll, vsll, vsq); | |
2455 | VMSUMUDM VMSUMUDM_S | |
2456 | vuq __builtin_vec_msum (vull, vull, vuq); | |
2457 | VMSUMUDM VMSUMUDM_U | |
2458 | ||
943d631a BS |
2459 | [VEC_MSUMC, vec_msumc, __builtin_vec_msumc] |
2460 | vuq __builtin_vec_msumc (vull, vull, vuq); | |
2461 | VMSUMCUD | |
2462 | ||
e2693a72 BS |
2463 | [VEC_MSUMS, vec_msums, __builtin_vec_msums] |
2464 | vui __builtin_vec_msums (vus, vus, vui); | |
2465 | VMSUMUHS | |
2466 | vsi __builtin_vec_msums (vss, vss, vsi); | |
2467 | VMSUMSHS | |
2468 | ||
2469 | [VEC_MTVSCR, vec_mtvscr, __builtin_vec_mtvscr] | |
2470 | void __builtin_vec_mtvscr (vbc); | |
2471 | MTVSCR MTVSCR_VBC | |
2472 | void __builtin_vec_mtvscr (vsc); | |
2473 | MTVSCR MTVSCR_VSC | |
2474 | void __builtin_vec_mtvscr (vuc); | |
2475 | MTVSCR MTVSCR_VUC | |
2476 | void __builtin_vec_mtvscr (vbs); | |
2477 | MTVSCR MTVSCR_VBS | |
2478 | void __builtin_vec_mtvscr (vss); | |
2479 | MTVSCR MTVSCR_VSS | |
2480 | void __builtin_vec_mtvscr (vus); | |
2481 | MTVSCR MTVSCR_VUS | |
2482 | void __builtin_vec_mtvscr (vp); | |
2483 | MTVSCR MTVSCR_VP | |
2484 | void __builtin_vec_mtvscr (vbi); | |
2485 | MTVSCR MTVSCR_VBI | |
2486 | void __builtin_vec_mtvscr (vsi); | |
2487 | MTVSCR MTVSCR_VSI | |
2488 | void __builtin_vec_mtvscr (vui); | |
2489 | MTVSCR MTVSCR_VUI | |
2490 | ||
e53b6e56 | 2491 | ; Note that the entries for VEC_MUL are currently ignored. See rs6000-c.cc: |
e2693a72 BS |
2492 | ; altivec_resolve_overloaded_builtin, where there is special-case code for |
2493 | ; VEC_MUL. TODO: Is this really necessary? Investigate. Seven missing | |
2494 | ; prototypes here...no corresponding builtins. Also added "vmulld" in P10 | |
2495 | ; which could be used instead of MUL_V2DI, conditionally? | |
2496 | [VEC_MUL, vec_mul, __builtin_vec_mul] | |
2497 | vsll __builtin_vec_mul (vsll, vsll); | |
2498 | MUL_V2DI | |
2499 | vf __builtin_vec_mul (vf, vf); | |
2500 | XVMULSP | |
2501 | vd __builtin_vec_mul (vd, vd); | |
2502 | XVMULDP | |
2503 | ||
2504 | [VEC_MULE, vec_mule, __builtin_vec_mule] | |
2505 | vss __builtin_vec_mule (vsc, vsc); | |
2506 | VMULESB | |
2507 | vus __builtin_vec_mule (vuc, vuc); | |
2508 | VMULEUB | |
2509 | vsi __builtin_vec_mule (vss, vss); | |
2510 | VMULESH | |
2511 | vui __builtin_vec_mule (vus, vus); | |
2512 | VMULEUH | |
2513 | vsll __builtin_vec_mule (vsi, vsi); | |
2514 | VMULESW | |
2515 | vull __builtin_vec_mule (vui, vui); | |
2516 | VMULEUW | |
2517 | vsq __builtin_vec_mule (vsll, vsll); | |
2518 | VMULESD | |
2519 | vuq __builtin_vec_mule (vull, vull); | |
2520 | VMULEUD | |
2521 | ||
7e836079 | 2522 | [VEC_MULH, vec_mulh, __builtin_vec_mulh] |
e2693a72 BS |
2523 | vsi __builtin_vec_mulh (vsi, vsi); |
2524 | VMULHSW | |
2525 | vui __builtin_vec_mulh (vui, vui); | |
2526 | VMULHUW | |
2527 | vsll __builtin_vec_mulh (vsll, vsll); | |
2528 | VMULHSD | |
2529 | vull __builtin_vec_mulh (vull, vull); | |
2530 | VMULHUD | |
2531 | ||
2532 | [VEC_MULO, vec_mulo, __builtin_vec_mulo] | |
2533 | vss __builtin_vec_mulo (vsc, vsc); | |
2534 | VMULOSB | |
2535 | vus __builtin_vec_mulo (vuc, vuc); | |
2536 | VMULOUB | |
2537 | vsi __builtin_vec_mulo (vss, vss); | |
2538 | VMULOSH | |
2539 | vui __builtin_vec_mulo (vus, vus); | |
2540 | VMULOUH | |
2541 | vsll __builtin_vec_mulo (vsi, vsi); | |
2542 | VMULOSW | |
2543 | vull __builtin_vec_mulo (vui, vui); | |
2544 | VMULOUW | |
2545 | vsq __builtin_vec_mulo (vsll, vsll); | |
2546 | VMULOSD | |
2547 | vuq __builtin_vec_mulo (vull, vull); | |
2548 | VMULOUD | |
2549 | ||
2550 | [VEC_NABS, vec_nabs, __builtin_vec_nabs] | |
2551 | vsc __builtin_vec_nabs (vsc); | |
2552 | NABS_V16QI | |
2553 | vss __builtin_vec_nabs (vss); | |
2554 | NABS_V8HI | |
2555 | vsi __builtin_vec_nabs (vsi); | |
2556 | NABS_V4SI | |
2557 | vsll __builtin_vec_nabs (vsll); | |
2558 | NABS_V2DI | |
2559 | vf __builtin_vec_nabs (vf); | |
2560 | NABS_V4SF | |
2561 | vd __builtin_vec_nabs (vd); | |
2562 | NABS_V2DF | |
2563 | ||
7e836079 | 2564 | [VEC_NAND, vec_nand, __builtin_vec_nand] |
e2693a72 BS |
2565 | vsc __builtin_vec_nand (vsc, vsc); |
2566 | NAND_V16QI | |
2567 | vuc __builtin_vec_nand (vuc, vuc); | |
2568 | NAND_V16QI_UNS NAND_VUC | |
2569 | vbc __builtin_vec_nand (vbc, vbc); | |
2570 | NAND_V16QI_UNS NAND_VBC | |
2571 | vss __builtin_vec_nand (vss, vss); | |
2572 | NAND_V8HI | |
2573 | vus __builtin_vec_nand (vus, vus); | |
2574 | NAND_V8HI_UNS NAND_VUS | |
2575 | vbs __builtin_vec_nand (vbs, vbs); | |
2576 | NAND_V8HI_UNS NAND_VBS | |
2577 | vsi __builtin_vec_nand (vsi, vsi); | |
2578 | NAND_V4SI | |
2579 | vui __builtin_vec_nand (vui, vui); | |
2580 | NAND_V4SI_UNS NAND_VUI | |
2581 | vbi __builtin_vec_nand (vbi, vbi); | |
2582 | NAND_V4SI_UNS NAND_VBI | |
2583 | vsll __builtin_vec_nand (vsll, vsll); | |
2584 | NAND_V2DI | |
2585 | vull __builtin_vec_nand (vull, vull); | |
2586 | NAND_V2DI_UNS NAND_VULL | |
2587 | vbll __builtin_vec_nand (vbll, vbll); | |
2588 | NAND_V2DI_UNS NAND_VBLL | |
2589 | vf __builtin_vec_nand (vf, vf); | |
2590 | NAND_V4SF | |
2591 | vd __builtin_vec_nand (vd, vd); | |
2592 | NAND_V2DF | |
2593 | ; The following variants are deprecated. | |
2594 | vsc __builtin_vec_nand (vbc, vsc); | |
2595 | NAND_V16QI NAND_VBC_VSC | |
2596 | vsc __builtin_vec_nand (vsc, vbc); | |
2597 | NAND_V16QI NAND_VSC_VBC | |
2598 | vuc __builtin_vec_nand (vbc, vuc); | |
2599 | NAND_V16QI_UNS NAND_VBC_VUC | |
2600 | vuc __builtin_vec_nand (vuc, vbc); | |
2601 | NAND_V16QI_UNS NAND_VUC_VBC | |
2602 | vss __builtin_vec_nand (vbs, vss); | |
2603 | NAND_V8HI NAND_VBS_VSS | |
2604 | vss __builtin_vec_nand (vss, vbs); | |
2605 | NAND_V8HI NAND_VSS_VBS | |
2606 | vus __builtin_vec_nand (vbs, vus); | |
2607 | NAND_V8HI_UNS NAND_VBS_VUS | |
2608 | vus __builtin_vec_nand (vus, vbs); | |
2609 | NAND_V8HI_UNS NAND_VUS_VBS | |
2610 | vsi __builtin_vec_nand (vbi, vsi); | |
2611 | NAND_V4SI NAND_VBI_VSI | |
2612 | vsi __builtin_vec_nand (vsi, vbi); | |
2613 | NAND_V4SI NAND_VSI_VBI | |
2614 | vui __builtin_vec_nand (vbi, vui); | |
2615 | NAND_V4SI_UNS NAND_VBI_VUI | |
2616 | vui __builtin_vec_nand (vui, vbi); | |
2617 | NAND_V4SI_UNS NAND_VUI_VBI | |
2618 | vsll __builtin_vec_nand (vbll, vsll); | |
2619 | NAND_V2DI NAND_VBLL_VSLL | |
2620 | vsll __builtin_vec_nand (vsll, vbll); | |
2621 | NAND_V2DI NAND_VSLL_VBLL | |
2622 | vull __builtin_vec_nand (vbll, vull); | |
2623 | NAND_V2DI_UNS NAND_VBLL_VULL | |
2624 | vull __builtin_vec_nand (vull, vbll); | |
2625 | NAND_V2DI_UNS NAND_VULL_VBLL | |
2626 | ||
7e836079 | 2627 | [VEC_NCIPHER_BE, vec_ncipher_be, __builtin_vec_vncipher_be] |
e2693a72 BS |
2628 | vuc __builtin_vec_vncipher_be (vuc, vuc); |
2629 | VNCIPHER_BE | |
2630 | ||
7e836079 | 2631 | [VEC_NCIPHERLAST_BE, vec_ncipherlast_be, __builtin_vec_vncipherlast_be] |
e2693a72 BS |
2632 | vuc __builtin_vec_vncipherlast_be (vuc, vuc); |
2633 | VNCIPHERLAST_BE | |
2634 | ||
7e836079 | 2635 | [VEC_NEARBYINT, vec_nearbyint, __builtin_vec_nearbyint] |
e2693a72 BS |
2636 | vf __builtin_vec_nearbyint (vf); |
2637 | XVRSPI XVRSPI_NBI | |
2638 | vd __builtin_vec_nearbyint (vd); | |
2639 | XVRDPI XVRDPI_NBI | |
2640 | ||
2641 | [VEC_NEG, vec_neg, __builtin_vec_neg] | |
2642 | vsc __builtin_vec_neg (vsc); | |
2643 | NEG_V16QI | |
2644 | vss __builtin_vec_neg (vss); | |
2645 | NEG_V8HI | |
2646 | vsi __builtin_vec_neg (vsi); | |
2647 | NEG_V4SI | |
2648 | vsll __builtin_vec_neg (vsll); | |
2649 | NEG_V2DI | |
2650 | vf __builtin_vec_neg (vf); | |
2651 | NEG_V4SF | |
2652 | vd __builtin_vec_neg (vd); | |
2653 | NEG_V2DF | |
2654 | ||
7e836079 | 2655 | [VEC_NMADD, vec_nmadd, __builtin_vec_nmadd] |
e2693a72 BS |
2656 | vf __builtin_vec_nmadd (vf, vf, vf); |
2657 | XVNMADDSP | |
2658 | vd __builtin_vec_nmadd (vd, vd, vd); | |
2659 | XVNMADDDP | |
2660 | ||
2661 | [VEC_NMSUB, vec_nmsub, __builtin_vec_nmsub] | |
2662 | vf __builtin_vec_nmsub (vf, vf, vf); | |
2663 | VNMSUBFP | |
2664 | vd __builtin_vec_nmsub (vd, vd, vd); | |
2665 | XVNMSUBDP | |
2666 | ||
2667 | [VEC_NOR, vec_nor, __builtin_vec_nor] | |
2668 | vsc __builtin_vec_nor (vsc, vsc); | |
2669 | VNOR_V16QI | |
2670 | vuc __builtin_vec_nor (vuc, vuc); | |
2671 | VNOR_V16QI_UNS VNOR_V16QI_U | |
2672 | vbc __builtin_vec_nor (vbc, vbc); | |
2673 | VNOR_V16QI_UNS VNOR_V16QI_B | |
2674 | vss __builtin_vec_nor (vss, vss); | |
2675 | VNOR_V8HI | |
2676 | vus __builtin_vec_nor (vus, vus); | |
2677 | VNOR_V8HI_UNS VNOR_V8HI_U | |
2678 | vbs __builtin_vec_nor (vbs, vbs); | |
2679 | VNOR_V8HI_UNS VNOR_V8HI_B | |
2680 | vsi __builtin_vec_nor (vsi, vsi); | |
2681 | VNOR_V4SI | |
2682 | vui __builtin_vec_nor (vui, vui); | |
2683 | VNOR_V4SI_UNS VNOR_V4SI_U | |
2684 | vbi __builtin_vec_nor (vbi, vbi); | |
2685 | VNOR_V4SI_UNS VNOR_V4SI_B | |
2686 | vsll __builtin_vec_nor (vsll, vsll); | |
2687 | VNOR_V2DI | |
2688 | vull __builtin_vec_nor (vull, vull); | |
2689 | VNOR_V2DI_UNS VNOR_V2DI_U | |
2690 | vbll __builtin_vec_nor (vbll, vbll); | |
2691 | VNOR_V2DI_UNS VNOR_V2DI_B | |
2692 | vsq __builtin_vec_nor (vsq, vsq); | |
2693 | VNOR_V1TI VNOR_V1TI_S | |
2694 | vuq __builtin_vec_nor (vuq, vuq); | |
2695 | VNOR_V1TI_UNS VNOR_V1TI_U | |
2696 | vf __builtin_vec_nor (vf, vf); | |
2697 | VNOR_V4SF | |
2698 | vd __builtin_vec_nor (vd, vd); | |
2699 | VNOR_V2DF | |
2700 | ; The following variants are deprecated. | |
2701 | vsll __builtin_vec_nor (vsll, vbll); | |
2702 | VNOR_V2DI VNOR_VSLL_VBLL | |
2703 | vsll __builtin_vec_nor (vbll, vsll); | |
2704 | VNOR_V2DI VNOR_VBLL_VSLL | |
2705 | vull __builtin_vec_nor (vull, vbll); | |
2706 | VNOR_V2DI_UNS VNOR_VULL_VBLL | |
2707 | vull __builtin_vec_nor (vbll, vull); | |
2708 | VNOR_V2DI_UNS VNOR_VBLL_VULL | |
2709 | vsq __builtin_vec_nor (vsq, vbq); | |
2710 | VNOR_V1TI VNOR_VSQ_VBQ | |
2711 | vsq __builtin_vec_nor (vbq, vsq); | |
2712 | VNOR_V1TI VNOR_VBQ_VSQ | |
2713 | vuq __builtin_vec_nor (vuq, vbq); | |
2714 | VNOR_V1TI_UNS VNOR_VUQ_VBQ | |
2715 | vuq __builtin_vec_nor (vbq, vuq); | |
2716 | VNOR_V1TI_UNS VNOR_VBQ_VUQ | |
2717 | ||
2718 | [VEC_OR, vec_or, __builtin_vec_or] | |
2719 | vsc __builtin_vec_or (vsc, vsc); | |
2720 | VOR_V16QI | |
2721 | vuc __builtin_vec_or (vuc, vuc); | |
2722 | VOR_V16QI_UNS VOR_V16QI_U | |
2723 | vbc __builtin_vec_or (vbc, vbc); | |
2724 | VOR_V16QI_UNS VOR_V16QI_B | |
2725 | vss __builtin_vec_or (vss, vss); | |
2726 | VOR_V8HI | |
2727 | vus __builtin_vec_or (vus, vus); | |
2728 | VOR_V8HI_UNS VOR_V8HI_U | |
2729 | vbs __builtin_vec_or (vbs, vbs); | |
2730 | VOR_V8HI_UNS VOR_V8HI_B | |
2731 | vsi __builtin_vec_or (vsi, vsi); | |
2732 | VOR_V4SI | |
2733 | vui __builtin_vec_or (vui, vui); | |
2734 | VOR_V4SI_UNS VOR_V4SI_U | |
2735 | vbi __builtin_vec_or (vbi, vbi); | |
2736 | VOR_V4SI_UNS VOR_V4SI_B | |
2737 | vsll __builtin_vec_or (vsll, vsll); | |
2738 | VOR_V2DI | |
2739 | vull __builtin_vec_or (vull, vull); | |
2740 | VOR_V2DI_UNS VOR_V2DI_U | |
2741 | vbll __builtin_vec_or (vbll, vbll); | |
2742 | VOR_V2DI_UNS VOR_V2DI_B | |
2743 | vf __builtin_vec_or (vf, vf); | |
2744 | VOR_V4SF | |
2745 | vd __builtin_vec_or (vd, vd); | |
2746 | VOR_V2DF | |
2747 | ; The following variants are deprecated. | |
2748 | vsc __builtin_vec_or (vsc, vbc); | |
2749 | VOR_V16QI VOR_VSC_VBC | |
2750 | vsc __builtin_vec_or (vbc, vsc); | |
2751 | VOR_V16QI VOR_VBC_VSC | |
2752 | vuc __builtin_vec_or (vuc, vbc); | |
2753 | VOR_V16QI_UNS VOR_V16QI_UB | |
2754 | vuc __builtin_vec_or (vbc, vuc); | |
2755 | VOR_V16QI_UNS VOR_V16QI_BU | |
2756 | vss __builtin_vec_or (vss, vbs); | |
2757 | VOR_V8HI VOR_VSS_VBS | |
2758 | vss __builtin_vec_or (vbs, vss); | |
2759 | VOR_V8HI VOR_VBS_VSS | |
2760 | vus __builtin_vec_or (vus, vbs); | |
2761 | VOR_V8HI_UNS VOR_V8HI_UB | |
2762 | vus __builtin_vec_or (vbs, vus); | |
2763 | VOR_V8HI_UNS VOR_V8HI_BU | |
2764 | vsi __builtin_vec_or (vsi, vbi); | |
2765 | VOR_V4SI VOR_VSI_VBI | |
2766 | vsi __builtin_vec_or (vbi, vsi); | |
2767 | VOR_V4SI VOR_VBI_VSI | |
2768 | vui __builtin_vec_or (vui, vbi); | |
2769 | VOR_V4SI_UNS VOR_V4SI_UB | |
2770 | vui __builtin_vec_or (vbi, vui); | |
2771 | VOR_V4SI_UNS VOR_V4SI_BU | |
2772 | vsll __builtin_vec_or (vsll, vbll); | |
2773 | VOR_V2DI VOR_VSLL_VBLL | |
2774 | vsll __builtin_vec_or (vbll, vsll); | |
2775 | VOR_V2DI VOR_VBLL_VSLL | |
2776 | vull __builtin_vec_or (vull, vbll); | |
2777 | VOR_V2DI_UNS VOR_V2DI_UB | |
2778 | vull __builtin_vec_or (vbll, vull); | |
2779 | VOR_V2DI_UNS VOR_V2DI_BU | |
2780 | vf __builtin_vec_or (vf, vbi); | |
2781 | VOR_V4SF VOR_VF_VBI | |
2782 | vf __builtin_vec_or (vbi, vf); | |
2783 | VOR_V4SF VOR_VBI_VF | |
2784 | vd __builtin_vec_or (vd, vbll); | |
2785 | VOR_V2DF VOR_VD_VBLL | |
2786 | vd __builtin_vec_or (vbll, vd); | |
2787 | VOR_V2DF VOR_VBLL_VD | |
2788 | ||
7e836079 | 2789 | [VEC_ORC, vec_orc, __builtin_vec_orc] |
e2693a72 BS |
2790 | vsc __builtin_vec_orc (vsc, vsc); |
2791 | ORC_V16QI | |
2792 | vuc __builtin_vec_orc (vuc, vuc); | |
2793 | ORC_V16QI_UNS ORC_VUC | |
2794 | vbc __builtin_vec_orc (vbc, vbc); | |
2795 | ORC_V16QI_UNS ORC_VBC | |
2796 | vss __builtin_vec_orc (vss, vss); | |
2797 | ORC_V8HI | |
2798 | vus __builtin_vec_orc (vus, vus); | |
2799 | ORC_V8HI_UNS ORC_VUS | |
2800 | vbs __builtin_vec_orc (vbs, vbs); | |
2801 | ORC_V8HI_UNS ORC_VBS | |
2802 | vsi __builtin_vec_orc (vsi, vsi); | |
2803 | ORC_V4SI | |
2804 | vui __builtin_vec_orc (vui, vui); | |
2805 | ORC_V4SI_UNS ORC_VUI | |
2806 | vbi __builtin_vec_orc (vbi, vbi); | |
2807 | ORC_V4SI_UNS ORC_VBI | |
2808 | vsll __builtin_vec_orc (vsll, vsll); | |
2809 | ORC_V2DI | |
2810 | vull __builtin_vec_orc (vull, vull); | |
2811 | ORC_V2DI_UNS ORC_VULL | |
2812 | vbll __builtin_vec_orc (vbll, vbll); | |
2813 | ORC_V2DI_UNS ORC_VBLL | |
2814 | vf __builtin_vec_orc (vf, vf); | |
2815 | ORC_V4SF | |
2816 | vd __builtin_vec_orc (vd, vd); | |
2817 | ORC_V2DF | |
2818 | ; The following variants are deprecated. | |
2819 | vsc __builtin_vec_orc (vbc, vsc); | |
2820 | ORC_V16QI ORC_VBC_VSC | |
2821 | vsc __builtin_vec_orc (vsc, vbc); | |
2822 | ORC_V16QI ORC_VSC_VBC | |
2823 | vuc __builtin_vec_orc (vbc, vuc); | |
2824 | ORC_V16QI_UNS ORC_VBC_VUC | |
2825 | vuc __builtin_vec_orc (vuc, vbc); | |
2826 | ORC_V16QI_UNS ORC_VUC_VBC | |
2827 | vss __builtin_vec_orc (vbs, vss); | |
2828 | ORC_V8HI ORC_VBS_VSS | |
2829 | vss __builtin_vec_orc (vss, vbs); | |
2830 | ORC_V8HI ORC_VSS_VBS | |
2831 | vus __builtin_vec_orc (vbs, vus); | |
2832 | ORC_V8HI_UNS ORC_VBS_VUS | |
2833 | vus __builtin_vec_orc (vus, vbs); | |
2834 | ORC_V8HI_UNS ORC_VUS_VBS | |
2835 | vsi __builtin_vec_orc (vbi, vsi); | |
2836 | ORC_V4SI ORC_VBI_VSI | |
2837 | vsi __builtin_vec_orc (vsi, vbi); | |
2838 | ORC_V4SI ORC_VSI_VBI | |
2839 | vui __builtin_vec_orc (vbi, vui); | |
2840 | ORC_V4SI_UNS ORC_VBI_VUI | |
2841 | vui __builtin_vec_orc (vui, vbi); | |
2842 | ORC_V4SI_UNS ORC_VUI_VBI | |
2843 | vsll __builtin_vec_orc (vbll, vsll); | |
2844 | ORC_V2DI ORC_VBLL_VSLL | |
2845 | vsll __builtin_vec_orc (vsll, vbll); | |
2846 | ORC_V2DI ORC_VSLL_VBLL | |
2847 | vull __builtin_vec_orc (vbll, vull); | |
2848 | ORC_V2DI_UNS ORC_VBLL_VULL | |
2849 | vull __builtin_vec_orc (vull, vbll); | |
2850 | ORC_V2DI_UNS ORC_VULL_VBLL | |
2851 | ||
2852 | [VEC_PACK, vec_pack, __builtin_vec_pack] | |
2853 | vsc __builtin_vec_pack (vss, vss); | |
2854 | VPKUHUM VPKUHUM_VSS | |
2855 | vuc __builtin_vec_pack (vus, vus); | |
2856 | VPKUHUM VPKUHUM_VUS | |
2857 | vbc __builtin_vec_pack (vbs, vbs); | |
2858 | VPKUHUM VPKUHUM_VBS | |
2859 | vss __builtin_vec_pack (vsi, vsi); | |
2860 | VPKUWUM VPKUWUM_VSI | |
2861 | vus __builtin_vec_pack (vui, vui); | |
2862 | VPKUWUM VPKUWUM_VUI | |
2863 | vbs __builtin_vec_pack (vbi, vbi); | |
2864 | VPKUWUM VPKUWUM_VBI | |
2865 | vsi __builtin_vec_pack (vsll, vsll); | |
2866 | VPKUDUM VPKUDUM_VSLL | |
2867 | vui __builtin_vec_pack (vull, vull); | |
2868 | VPKUDUM VPKUDUM_VULL | |
2869 | vbi __builtin_vec_pack (vbll, vbll); | |
2870 | VPKUDUM VPKUDUM_VBLL | |
2871 | vf __builtin_vec_pack (vd, vd); | |
2872 | FLOAT2_V2DF FLOAT2_V2DF_PACK | |
2873 | ||
2874 | [VEC_PACKPX, vec_packpx, __builtin_vec_packpx] | |
2875 | vp __builtin_vec_packpx (vui, vui); | |
2876 | VPKPX | |
2877 | ||
2878 | [VEC_PACKS, vec_packs, __builtin_vec_packs] | |
2879 | vuc __builtin_vec_packs (vus, vus); | |
2880 | VPKUHUS VPKUHUS_S | |
2881 | vsc __builtin_vec_packs (vss, vss); | |
2882 | VPKSHSS | |
2883 | vus __builtin_vec_packs (vui, vui); | |
2884 | VPKUWUS VPKUWUS_S | |
2885 | vss __builtin_vec_packs (vsi, vsi); | |
2886 | VPKSWSS | |
2887 | vui __builtin_vec_packs (vull, vull); | |
2888 | VPKUDUS VPKUDUS_S | |
2889 | vsi __builtin_vec_packs (vsll, vsll); | |
2890 | VPKSDSS | |
2891 | ||
2892 | [VEC_PACKSU, vec_packsu, __builtin_vec_packsu] | |
2893 | vuc __builtin_vec_packsu (vus, vus); | |
2894 | VPKUHUS VPKUHUS_U | |
2895 | vuc __builtin_vec_packsu (vss, vss); | |
2896 | VPKSHUS | |
2897 | vus __builtin_vec_packsu (vui, vui); | |
2898 | VPKUWUS VPKUWUS_U | |
2899 | vus __builtin_vec_packsu (vsi, vsi); | |
2900 | VPKSWUS | |
2901 | vui __builtin_vec_packsu (vull, vull); | |
2902 | VPKUDUS VPKUDUS_U | |
2903 | vui __builtin_vec_packsu (vsll, vsll); | |
2904 | VPKSDUS | |
2905 | ||
7e836079 | 2906 | [VEC_PDEP, vec_pdep, __builtin_vec_vpdepd] |
e2693a72 BS |
2907 | vull __builtin_vec_vpdepd (vull, vull); |
2908 | VPDEPD | |
2909 | ||
2910 | [VEC_PERM, vec_perm, __builtin_vec_perm] | |
2911 | vsc __builtin_vec_perm (vsc, vsc, vuc); | |
2912 | VPERM_16QI | |
2913 | vuc __builtin_vec_perm (vuc, vuc, vuc); | |
2914 | VPERM_16QI_UNS VPERM_16QI_VUC | |
2915 | vbc __builtin_vec_perm (vbc, vbc, vuc); | |
2916 | VPERM_16QI_UNS VPERM_16QI_VBC | |
2917 | vss __builtin_vec_perm (vss, vss, vuc); | |
2918 | VPERM_8HI | |
2919 | vus __builtin_vec_perm (vus, vus, vuc); | |
2920 | VPERM_8HI_UNS VPERM_8HI_VUS | |
2921 | vbs __builtin_vec_perm (vbs, vbs, vuc); | |
2922 | VPERM_8HI_UNS VPERM_8HI_VBS | |
2923 | vp __builtin_vec_perm (vp, vp, vuc); | |
2924 | VPERM_8HI_UNS VPERM_8HI_VP | |
2925 | vsi __builtin_vec_perm (vsi, vsi, vuc); | |
2926 | VPERM_4SI | |
2927 | vui __builtin_vec_perm (vui, vui, vuc); | |
2928 | VPERM_4SI_UNS VPERM_4SI_VUI | |
2929 | vbi __builtin_vec_perm (vbi, vbi, vuc); | |
2930 | VPERM_4SI_UNS VPERM_4SI_VBI | |
2931 | vsll __builtin_vec_perm (vsll, vsll, vuc); | |
2932 | VPERM_2DI | |
2933 | vull __builtin_vec_perm (vull, vull, vuc); | |
2934 | VPERM_2DI_UNS VPERM_2DI_VULL | |
2935 | vbll __builtin_vec_perm (vbll, vbll, vuc); | |
2936 | VPERM_2DI_UNS VPERM_2DI_VBLL | |
2937 | vf __builtin_vec_perm (vf, vf, vuc); | |
2938 | VPERM_4SF | |
2939 | vd __builtin_vec_perm (vd, vd, vuc); | |
2940 | VPERM_2DF | |
2941 | vsq __builtin_vec_perm (vsq, vsq, vuc); | |
2942 | VPERM_1TI | |
2943 | vuq __builtin_vec_perm (vuq, vuq, vuc); | |
2944 | VPERM_1TI_UNS | |
2945 | ; The following variants are deprecated. | |
2946 | vsc __builtin_vec_perm (vsc, vuc, vuc); | |
2947 | VPERM_16QI VPERM_VSC_VUC_VUC | |
2948 | vbc __builtin_vec_perm (vbc, vbc, vbc); | |
2949 | VPERM_16QI VPERM_VBC_VBC_VBC | |
2950 | ||
7e836079 | 2951 | [VEC_PERMX, vec_permx, __builtin_vec_xxpermx] |
e2693a72 BS |
2952 | vsc __builtin_vec_xxpermx (vsc, vsc, vuc, const int); |
2953 | XXPERMX_UV2DI XXPERMX_VSC | |
2954 | vuc __builtin_vec_xxpermx (vuc, vuc, vuc, const int); | |
2955 | XXPERMX_UV2DI XXPERMX_VUC | |
2956 | vss __builtin_vec_xxpermx (vss, vss, vuc, const int); | |
2957 | XXPERMX_UV2DI XXPERMX_VSS | |
2958 | vus __builtin_vec_xxpermx (vus, vus, vuc, const int); | |
2959 | XXPERMX_UV2DI XXPERMX_VUS | |
2960 | vsi __builtin_vec_xxpermx (vsi, vsi, vuc, const int); | |
2961 | XXPERMX_UV2DI XXPERMX_VSI | |
2962 | vui __builtin_vec_xxpermx (vui, vui, vuc, const int); | |
2963 | XXPERMX_UV2DI XXPERMX_VUI | |
2964 | vsll __builtin_vec_xxpermx (vsll, vsll, vuc, const int); | |
2965 | XXPERMX_UV2DI XXPERMX_VSLL | |
2966 | vull __builtin_vec_xxpermx (vull, vull, vuc, const int); | |
2967 | XXPERMX_UV2DI XXPERMX_VULL | |
2968 | vf __builtin_vec_xxpermx (vf, vf, vuc, const int); | |
2969 | XXPERMX_UV2DI XXPERMX_VF | |
2970 | vd __builtin_vec_xxpermx (vd, vd, vuc, const int); | |
2971 | XXPERMX_UV2DI XXPERMX_VD | |
2972 | ||
2973 | [VEC_PERMXOR, vec_permxor, __builtin_vec_vpermxor] | |
2974 | vsc __builtin_vec_vpermxor (vsc, vsc, vsc); | |
2975 | VPERMXOR VPERMXOR_VSC | |
2976 | vuc __builtin_vec_vpermxor (vuc, vuc, vuc); | |
2977 | VPERMXOR VPERMXOR_VUC | |
2978 | vbc __builtin_vec_vpermxor (vbc, vbc, vbc); | |
2979 | VPERMXOR VPERMXOR_VBC | |
2980 | ||
7e836079 | 2981 | [VEC_PEXT, vec_pext, __builtin_vec_vpextd] |
e2693a72 BS |
2982 | vull __builtin_vec_vpextd (vull, vull); |
2983 | VPEXTD | |
2984 | ||
2985 | [VEC_PMSUM, vec_pmsum_be, __builtin_vec_vpmsum] | |
2986 | vus __builtin_vec_vpmsum (vuc, vuc); | |
2987 | VPMSUMB VPMSUMB_V | |
2988 | vui __builtin_vec_vpmsum (vus, vus); | |
2989 | VPMSUMH VPMSUMH_V | |
2990 | vull __builtin_vec_vpmsum (vui, vui); | |
2991 | VPMSUMW VPMSUMW_V | |
2992 | vuq __builtin_vec_vpmsum (vull, vull); | |
2993 | VPMSUMD VPMSUMD_V | |
2994 | ||
7e836079 | 2995 | [VEC_POPCNT, vec_popcnt, __builtin_vec_vpopcntu] |
e2693a72 BS |
2996 | vuc __builtin_vec_vpopcntu (vsc); |
2997 | VPOPCNTB | |
2998 | vuc __builtin_vec_vpopcntu (vuc); | |
2999 | VPOPCNTUB | |
3000 | vus __builtin_vec_vpopcntu (vss); | |
3001 | VPOPCNTH | |
3002 | vus __builtin_vec_vpopcntu (vus); | |
3003 | VPOPCNTUH | |
3004 | vui __builtin_vec_vpopcntu (vsi); | |
3005 | VPOPCNTW | |
3006 | vui __builtin_vec_vpopcntu (vui); | |
3007 | VPOPCNTUW | |
3008 | vull __builtin_vec_vpopcntu (vsll); | |
3009 | VPOPCNTD | |
3010 | vull __builtin_vec_vpopcntu (vull); | |
3011 | VPOPCNTUD | |
3012 | ||
7e836079 | 3013 | [VEC_PARITY_LSBB, vec_parity_lsbb, __builtin_vec_vparity_lsbb] |
e2693a72 BS |
3014 | vui __builtin_vec_vparity_lsbb (vsi); |
3015 | VPRTYBW VPRTYBW_S | |
3016 | vui __builtin_vec_vparity_lsbb (vui); | |
3017 | VPRTYBW VPRTYBW_U | |
3018 | vull __builtin_vec_vparity_lsbb (vsll); | |
3019 | VPRTYBD VPRTYBD_S | |
3020 | vull __builtin_vec_vparity_lsbb (vull); | |
3021 | VPRTYBD VPRTYBD_U | |
3022 | vuq __builtin_vec_vparity_lsbb (vsq); | |
3023 | VPRTYBQ VPRTYBQ_S | |
3024 | vuq __builtin_vec_vparity_lsbb (vuq); | |
3025 | VPRTYBQ VPRTYBQ_U | |
3026 | ||
3027 | ; There are no actual builtins for vec_promote. There is special handling for | |
e53b6e56 | 3028 | ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
e2693a72 BS |
3029 | ; is replaced by a constructor. The single overload here causes |
3030 | ; __builtin_vec_promote to be registered with the front end so that can happen. | |
3031 | [VEC_PROMOTE, vec_promote, __builtin_vec_promote] | |
dfedfc30 | 3032 | vsi __builtin_vec_promote (vsi, const int); |
e2693a72 BS |
3033 | ABS_V4SI PROMOTE_FAKERY |
3034 | ||
3035 | [VEC_RE, vec_re, __builtin_vec_re] | |
3036 | vf __builtin_vec_re (vf); | |
3037 | VREFP | |
3038 | vd __builtin_vec_re (vd); | |
3039 | XVREDP | |
3040 | ||
3041 | [VEC_RECIP, vec_recipdiv, __builtin_vec_recipdiv] | |
3042 | vf __builtin_vec_recipdiv (vf, vf); | |
3043 | RECIP_V4SF | |
3044 | vd __builtin_vec_recipdiv (vd, vd); | |
3045 | RECIP_V2DF | |
3046 | ||
7e836079 | 3047 | [VEC_REPLACE_ELT, vec_replace_elt, __builtin_vec_replace_elt] |
e2693a72 BS |
3048 | vui __builtin_vec_replace_elt (vui, unsigned int, const int); |
3049 | VREPLACE_ELT_UV4SI | |
3050 | vsi __builtin_vec_replace_elt (vsi, signed int, const int); | |
3051 | VREPLACE_ELT_V4SI | |
3052 | vull __builtin_vec_replace_elt (vull, unsigned long long, const int); | |
3053 | VREPLACE_ELT_UV2DI | |
3054 | vsll __builtin_vec_replace_elt (vsll, signed long long, const int); | |
3055 | VREPLACE_ELT_V2DI | |
3056 | vf __builtin_vec_replace_elt (vf, float, const int); | |
3057 | VREPLACE_ELT_V4SF | |
3058 | vd __builtin_vec_replace_elt (vd, double, const int); | |
3059 | VREPLACE_ELT_V2DF | |
3060 | ||
7e836079 | 3061 | [VEC_REPLACE_UN, vec_replace_unaligned, __builtin_vec_replace_un] |
b51795c8 CL |
3062 | vuc __builtin_vec_replace_un (vuc, unsigned int, const int); |
3063 | VREPLACE_UN_USI | |
3064 | vuc __builtin_vec_replace_un (vuc, signed int, const int); | |
3065 | VREPLACE_UN_SI | |
3066 | vuc __builtin_vec_replace_un (vuc, unsigned long long, const int); | |
3067 | VREPLACE_UN_UDI | |
3068 | vuc __builtin_vec_replace_un (vuc, signed long long, const int); | |
3069 | VREPLACE_UN_DI | |
3070 | vuc __builtin_vec_replace_un (vuc, float, const int); | |
3071 | VREPLACE_UN_SF | |
3072 | vuc __builtin_vec_replace_un (vuc, double, const int); | |
3073 | VREPLACE_UN_DF | |
e2693a72 | 3074 | |
7e836079 | 3075 | [VEC_REVB, vec_revb, __builtin_vec_revb] |
e2693a72 BS |
3076 | vss __builtin_vec_revb (vss); |
3077 | REVB_V8HI REVB_VSS | |
3078 | vus __builtin_vec_revb (vus); | |
3079 | REVB_V8HI REVB_VUS | |
3080 | vsi __builtin_vec_revb (vsi); | |
3081 | REVB_V4SI REVB_VSI | |
3082 | vui __builtin_vec_revb (vui); | |
3083 | REVB_V4SI REVB_VUI | |
3084 | vsll __builtin_vec_revb (vsll); | |
3085 | REVB_V2DI REVB_VSLL | |
3086 | vull __builtin_vec_revb (vull); | |
3087 | REVB_V2DI REVB_VULL | |
3088 | vsq __builtin_vec_revb (vsq); | |
3089 | REVB_V1TI REVB_VSQ | |
3090 | vuq __builtin_vec_revb (vuq); | |
3091 | REVB_V1TI REVB_VUQ | |
3092 | vf __builtin_vec_revb (vf); | |
3093 | REVB_V4SF | |
3094 | vd __builtin_vec_revb (vd); | |
3095 | REVB_V2DF | |
3096 | ; The following variants are deprecated. | |
3097 | vsc __builtin_vec_revb (vsc); | |
3098 | REVB_V16QI REVB_VSC | |
3099 | vuc __builtin_vec_revb (vuc); | |
3100 | REVB_V16QI REVB_VUC | |
3101 | vbc __builtin_vec_revb (vbc); | |
3102 | REVB_V16QI REVB_VBC | |
3103 | vbs __builtin_vec_revb (vbs); | |
3104 | REVB_V8HI REVB_VBS | |
3105 | vbi __builtin_vec_revb (vbi); | |
3106 | REVB_V4SI REVB_VBI | |
3107 | vbll __builtin_vec_revb (vbll); | |
3108 | REVB_V2DI REVB_VBLL | |
3109 | ||
3110 | [VEC_REVE, vec_reve, __builtin_vec_vreve] | |
3111 | vsc __builtin_vec_vreve (vsc); | |
3112 | VREVE_V16QI VREVE_VSC | |
3113 | vuc __builtin_vec_vreve (vuc); | |
3114 | VREVE_V16QI VREVE_VUC | |
3115 | vbc __builtin_vec_vreve (vbc); | |
3116 | VREVE_V16QI VREVE_VBC | |
3117 | vss __builtin_vec_vreve (vss); | |
3118 | VREVE_V8HI VREVE_VSS | |
3119 | vus __builtin_vec_vreve (vus); | |
3120 | VREVE_V8HI VREVE_VUS | |
3121 | vbs __builtin_vec_vreve (vbs); | |
3122 | VREVE_V8HI VREVE_VBS | |
3123 | vsi __builtin_vec_vreve (vsi); | |
3124 | VREVE_V4SI VREVE_VSI | |
3125 | vui __builtin_vec_vreve (vui); | |
3126 | VREVE_V4SI VREVE_VUI | |
3127 | vbi __builtin_vec_vreve (vbi); | |
3128 | VREVE_V4SI VREVE_VBI | |
3129 | vsll __builtin_vec_vreve (vsll); | |
3130 | VREVE_V2DI VREVE_VSLL | |
3131 | vull __builtin_vec_vreve (vull); | |
3132 | VREVE_V2DI VREVE_VULL | |
3133 | vbll __builtin_vec_vreve (vbll); | |
3134 | VREVE_V2DI VREVE_VBLL | |
3135 | vf __builtin_vec_vreve (vf); | |
3136 | VREVE_V4SF | |
3137 | vd __builtin_vec_vreve (vd); | |
3138 | VREVE_V2DF | |
3139 | ||
7e836079 | 3140 | [VEC_RINT, vec_rint, __builtin_vec_rint] |
e2693a72 BS |
3141 | vf __builtin_vec_rint (vf); |
3142 | XVRSPIC | |
3143 | vd __builtin_vec_rint (vd); | |
3144 | XVRDPIC | |
3145 | ||
3146 | [VEC_RL, vec_rl, __builtin_vec_rl] | |
3147 | vsc __builtin_vec_rl (vsc, vuc); | |
3148 | VRLB VRLB_VSC | |
3149 | vuc __builtin_vec_rl (vuc, vuc); | |
3150 | VRLB VRLB_VUC | |
3151 | vss __builtin_vec_rl (vss, vus); | |
3152 | VRLH VRLH_VSS | |
3153 | vus __builtin_vec_rl (vus, vus); | |
3154 | VRLH VRLH_VUS | |
3155 | vsi __builtin_vec_rl (vsi, vui); | |
3156 | VRLW VRLW_VSI | |
3157 | vui __builtin_vec_rl (vui, vui); | |
3158 | VRLW VRLW_VUI | |
3159 | vsll __builtin_vec_rl (vsll, vull); | |
3160 | VRLD VRLD_VSLL | |
3161 | vull __builtin_vec_rl (vull, vull); | |
3162 | VRLD VRLD_VULL | |
3163 | vsq __builtin_vec_rl (vsq, vuq); | |
3164 | VRLQ VRLQ_VSQ | |
3165 | vuq __builtin_vec_rl (vuq, vuq); | |
3166 | VRLQ VRLQ_VUQ | |
3167 | ||
7e836079 | 3168 | [VEC_RLMI, vec_rlmi, __builtin_vec_rlmi] |
e2693a72 BS |
3169 | vui __builtin_vec_rlmi (vui, vui, vui); |
3170 | VRLWMI | |
3171 | vull __builtin_vec_rlmi (vull, vull, vull); | |
3172 | VRLDMI | |
3173 | vsq __builtin_vec_rlmi (vsq, vsq, vuq); | |
3174 | VRLQMI VRLQMI_VSQ | |
3175 | vuq __builtin_vec_rlmi (vuq, vuq, vuq); | |
3176 | VRLQMI VRLQMI_VUQ | |
3177 | ||
7e836079 | 3178 | [VEC_RLNM, vec_vrlnm, __builtin_vec_rlnm] |
e2693a72 BS |
3179 | vui __builtin_vec_rlnm (vui, vui); |
3180 | VRLWNM | |
3181 | vull __builtin_vec_rlnm (vull, vull); | |
3182 | VRLDNM | |
3183 | vsq __builtin_vec_rlnm (vsq, vuq); | |
3184 | VRLQNM VRLQNM_VSQ | |
3185 | vuq __builtin_vec_rlnm (vuq, vuq); | |
3186 | VRLQNM VRLQNM_VUQ | |
3187 | ||
3188 | [VEC_ROUND, vec_round, __builtin_vec_round] | |
3189 | vf __builtin_vec_round (vf); | |
3190 | VRFIN | |
3191 | vd __builtin_vec_round (vd); | |
3192 | XVRDPI | |
3193 | ||
3194 | [VEC_RSQRT, vec_rsqrt, __builtin_vec_rsqrt] | |
3195 | vf __builtin_vec_rsqrt (vf); | |
3196 | RSQRT_4SF | |
3197 | vd __builtin_vec_rsqrt (vd); | |
3198 | RSQRT_2DF | |
3199 | ||
3200 | [VEC_RSQRTE, vec_rsqrte, __builtin_vec_rsqrte] | |
3201 | vf __builtin_vec_rsqrte (vf); | |
3202 | VRSQRTEFP | |
3203 | vd __builtin_vec_rsqrte (vd); | |
3204 | XVRSQRTEDP | |
3205 | ||
7e836079 | 3206 | [VEC_SBOX_BE, vec_sbox_be, __builtin_vec_sbox_be] |
e2693a72 BS |
3207 | vuc __builtin_vec_sbox_be (vuc); |
3208 | VSBOX_BE | |
3209 | ||
3210 | [VEC_SEL, vec_sel, __builtin_vec_sel] | |
3211 | vsc __builtin_vec_sel (vsc, vsc, vbc); | |
3212 | VSEL_16QI VSEL_16QI_B | |
3213 | vsc __builtin_vec_sel (vsc, vsc, vuc); | |
3214 | VSEL_16QI VSEL_16QI_U | |
3215 | vuc __builtin_vec_sel (vuc, vuc, vbc); | |
3216 | VSEL_16QI_UNS VSEL_16QI_UB | |
3217 | vuc __builtin_vec_sel (vuc, vuc, vuc); | |
3218 | VSEL_16QI_UNS VSEL_16QI_UU | |
3219 | vbc __builtin_vec_sel (vbc, vbc, vbc); | |
3220 | VSEL_16QI_UNS VSEL_16QI_BB | |
3221 | vbc __builtin_vec_sel (vbc, vbc, vuc); | |
3222 | VSEL_16QI_UNS VSEL_16QI_BU | |
3223 | vss __builtin_vec_sel (vss, vss, vbs); | |
3224 | VSEL_8HI VSEL_8HI_B | |
3225 | vss __builtin_vec_sel (vss, vss, vus); | |
3226 | VSEL_8HI VSEL_8HI_U | |
3227 | vus __builtin_vec_sel (vus, vus, vbs); | |
3228 | VSEL_8HI_UNS VSEL_8HI_UB | |
3229 | vus __builtin_vec_sel (vus, vus, vus); | |
3230 | VSEL_8HI_UNS VSEL_8HI_UU | |
3231 | vbs __builtin_vec_sel (vbs, vbs, vbs); | |
3232 | VSEL_8HI_UNS VSEL_8HI_BB | |
3233 | vbs __builtin_vec_sel (vbs, vbs, vus); | |
3234 | VSEL_8HI_UNS VSEL_8HI_BU | |
3235 | vsi __builtin_vec_sel (vsi, vsi, vbi); | |
3236 | VSEL_4SI VSEL_4SI_B | |
3237 | vsi __builtin_vec_sel (vsi, vsi, vui); | |
3238 | VSEL_4SI VSEL_4SI_U | |
3239 | vui __builtin_vec_sel (vui, vui, vbi); | |
3240 | VSEL_4SI_UNS VSEL_4SI_UB | |
3241 | vui __builtin_vec_sel (vui, vui, vui); | |
3242 | VSEL_4SI_UNS VSEL_4SI_UU | |
3243 | vbi __builtin_vec_sel (vbi, vbi, vbi); | |
3244 | VSEL_4SI_UNS VSEL_4SI_BB | |
3245 | vbi __builtin_vec_sel (vbi, vbi, vui); | |
3246 | VSEL_4SI_UNS VSEL_4SI_BU | |
3247 | vsll __builtin_vec_sel (vsll, vsll, vbll); | |
3248 | VSEL_2DI_B VSEL_2DI_B | |
3249 | vsll __builtin_vec_sel (vsll, vsll, vull); | |
3250 | VSEL_2DI_B VSEL_2DI_U | |
3251 | vull __builtin_vec_sel (vull, vull, vbll); | |
3252 | VSEL_2DI_UNS VSEL_2DI_UB | |
3253 | vull __builtin_vec_sel (vull, vull, vull); | |
3254 | VSEL_2DI_UNS VSEL_2DI_UU | |
3255 | vbll __builtin_vec_sel (vbll, vbll, vbll); | |
3256 | VSEL_2DI_UNS VSEL_2DI_BB | |
3257 | vbll __builtin_vec_sel (vbll, vbll, vull); | |
3258 | VSEL_2DI_UNS VSEL_2DI_BU | |
3259 | vf __builtin_vec_sel (vf, vf, vbi); | |
3260 | VSEL_4SF VSEL_4SF_B | |
3261 | vf __builtin_vec_sel (vf, vf, vui); | |
3262 | VSEL_4SF VSEL_4SF_U | |
3263 | vd __builtin_vec_sel (vd, vd, vbll); | |
3264 | VSEL_2DF VSEL_2DF_B | |
3265 | vd __builtin_vec_sel (vd, vd, vull); | |
3266 | VSEL_2DF VSEL_2DF_U | |
3267 | ; The following variants are deprecated. | |
3268 | vsll __builtin_vec_sel (vsll, vsll, vsll); | |
3269 | VSEL_2DI_B VSEL_2DI_S | |
3270 | vull __builtin_vec_sel (vull, vull, vsll); | |
3271 | VSEL_2DI_UNS VSEL_2DI_US | |
3272 | vf __builtin_vec_sel (vf, vf, vf); | |
3273 | VSEL_4SF VSEL_4SF_F | |
3274 | vf __builtin_vec_sel (vf, vf, vsi); | |
3275 | VSEL_4SF VSEL_4SF_S | |
3276 | vd __builtin_vec_sel (vd, vd, vsll); | |
3277 | VSEL_2DF VSEL_2DF_S | |
3278 | vd __builtin_vec_sel (vd, vd, vd); | |
3279 | VSEL_2DF VSEL_2DF_D | |
3280 | ||
3281 | [VEC_SHASIGMA_BE, vec_shasigma_be, __builtin_crypto_vshasigma] | |
3282 | vui __builtin_crypto_vshasigma (vui, const int, const int); | |
3283 | VSHASIGMAW | |
3284 | vull __builtin_crypto_vshasigma (vull, const int, const int); | |
3285 | VSHASIGMAD | |
3286 | ||
3287 | [VEC_SIGNED, vec_signed, __builtin_vec_vsigned] | |
3288 | vsi __builtin_vec_vsigned (vf); | |
3289 | VEC_VSIGNED_V4SF | |
3290 | vsll __builtin_vec_vsigned (vd); | |
3291 | VEC_VSIGNED_V2DF | |
3292 | ||
3293 | [VEC_SIGNED2, vec_signed2, __builtin_vec_vsigned2] | |
3294 | vsi __builtin_vec_vsigned2 (vd, vd); | |
3295 | VEC_VSIGNED2_V2DF | |
3296 | ||
3297 | [VEC_SIGNEDE, vec_signede, __builtin_vec_vsignede] | |
3298 | vsi __builtin_vec_vsignede (vd); | |
3299 | VEC_VSIGNEDE_V2DF | |
3300 | ||
3301 | [VEC_SIGNEDO, vec_signedo, __builtin_vec_vsignedo] | |
3302 | vsi __builtin_vec_vsignedo (vd); | |
3303 | VEC_VSIGNEDO_V2DF | |
3304 | ||
7e836079 | 3305 | [VEC_SIGNEXTI, vec_signexti, __builtin_vec_signexti] |
e2693a72 BS |
3306 | vsi __builtin_vec_signexti (vsc); |
3307 | VSIGNEXTSB2W | |
3308 | vsi __builtin_vec_signexti (vss); | |
3309 | VSIGNEXTSH2W | |
3310 | ||
7e836079 | 3311 | [VEC_SIGNEXTLL, vec_signextll, __builtin_vec_signextll] |
e2693a72 BS |
3312 | vsll __builtin_vec_signextll (vsc); |
3313 | VSIGNEXTSB2D | |
3314 | vsll __builtin_vec_signextll (vss); | |
3315 | VSIGNEXTSH2D | |
3316 | vsll __builtin_vec_signextll (vsi); | |
3317 | VSIGNEXTSW2D | |
3318 | ||
7e836079 | 3319 | [VEC_SIGNEXTQ, vec_signextq, __builtin_vec_signextq] |
e2693a72 BS |
3320 | vsq __builtin_vec_signextq (vsll); |
3321 | VSIGNEXTSD2Q | |
3322 | ||
3323 | [VEC_SL, vec_sl, __builtin_vec_sl] | |
3324 | vsc __builtin_vec_sl (vsc, vuc); | |
3325 | VSLB VSLB_VSC | |
3326 | vuc __builtin_vec_sl (vuc, vuc); | |
3327 | VSLB VSLB_VUC | |
3328 | vss __builtin_vec_sl (vss, vus); | |
3329 | VSLH VSLH_VSS | |
3330 | vus __builtin_vec_sl (vus, vus); | |
3331 | VSLH VSLH_VUS | |
3332 | vsi __builtin_vec_sl (vsi, vui); | |
3333 | VSLW VSLW_VSI | |
3334 | vui __builtin_vec_sl (vui, vui); | |
3335 | VSLW VSLW_VUI | |
3336 | vsll __builtin_vec_sl (vsll, vull); | |
3337 | VSLD VSLD_VSLL | |
3338 | vull __builtin_vec_sl (vull, vull); | |
3339 | VSLD VSLD_VULL | |
3340 | vsq __builtin_vec_sl (vsq, vuq); | |
3341 | VSLQ VSLQ_VSQ | |
3342 | vuq __builtin_vec_sl (vuq, vuq); | |
3343 | VSLQ VSLQ_VUQ | |
3344 | ||
3345 | [VEC_SLD, vec_sld, __builtin_vec_sld] | |
3346 | vsc __builtin_vec_sld (vsc, vsc, const int); | |
3347 | VSLDOI_16QI VSLDOI_VSC | |
3348 | vbc __builtin_vec_sld (vbc, vbc, const int); | |
3349 | VSLDOI_16QI VSLDOI_VBC | |
3350 | vuc __builtin_vec_sld (vuc, vuc, const int); | |
3351 | VSLDOI_16QI VSLDOI_VUC | |
3352 | vss __builtin_vec_sld (vss, vss, const int); | |
3353 | VSLDOI_8HI VSLDOI_VSS | |
3354 | vbs __builtin_vec_sld (vbs, vbs, const int); | |
3355 | VSLDOI_8HI VSLDOI_VBS | |
3356 | vus __builtin_vec_sld (vus, vus, const int); | |
3357 | VSLDOI_8HI VSLDOI_VUS | |
3358 | vp __builtin_vec_sld (vp, vp, const int); | |
3359 | VSLDOI_8HI VSLDOI_VP | |
3360 | vsi __builtin_vec_sld (vsi, vsi, const int); | |
3361 | VSLDOI_4SI VSLDOI_VSI | |
3362 | vbi __builtin_vec_sld (vbi, vbi, const int); | |
3363 | VSLDOI_4SI VSLDOI_VBI | |
3364 | vui __builtin_vec_sld (vui, vui, const int); | |
3365 | VSLDOI_4SI VSLDOI_VUI | |
3366 | vsll __builtin_vec_sld (vsll, vsll, const int); | |
3367 | VSLDOI_2DI VSLDOI_VSLL | |
3368 | vbll __builtin_vec_sld (vbll, vbll, const int); | |
3369 | VSLDOI_2DI VSLDOI_VBLL | |
3370 | vull __builtin_vec_sld (vull, vull, const int); | |
3371 | VSLDOI_2DI VSLDOI_VULL | |
3372 | vf __builtin_vec_sld (vf, vf, const int); | |
3373 | VSLDOI_4SF | |
3374 | vd __builtin_vec_sld (vd, vd, const int); | |
3375 | VSLDOI_2DF | |
3376 | ||
7e836079 | 3377 | [VEC_SLDB, vec_sldb, __builtin_vec_sldb] |
e2693a72 BS |
3378 | vsc __builtin_vec_sldb (vsc, vsc, const int); |
3379 | VSLDB_V16QI VSLDB_VSC | |
3380 | vuc __builtin_vec_sldb (vuc, vuc, const int); | |
3381 | VSLDB_V16QI VSLDB_VUC | |
3382 | vss __builtin_vec_sldb (vss, vss, const int); | |
3383 | VSLDB_V8HI VSLDB_VSS | |
3384 | vus __builtin_vec_sldb (vus, vus, const int); | |
3385 | VSLDB_V8HI VSLDB_VUS | |
3386 | vsi __builtin_vec_sldb (vsi, vsi, const int); | |
3387 | VSLDB_V4SI VSLDB_VSI | |
3388 | vui __builtin_vec_sldb (vui, vui, const int); | |
3389 | VSLDB_V4SI VSLDB_VUI | |
3390 | vsll __builtin_vec_sldb (vsll, vsll, const int); | |
3391 | VSLDB_V2DI VSLDB_VSLL | |
3392 | vull __builtin_vec_sldb (vull, vull, const int); | |
3393 | VSLDB_V2DI VSLDB_VULL | |
3394 | ||
3395 | [VEC_SLDW, vec_sldw, __builtin_vec_sldw] | |
3396 | vsc __builtin_vec_sldw (vsc, vsc, const int); | |
3397 | XXSLDWI_16QI XXSLDWI_VSC | |
3398 | vuc __builtin_vec_sldw (vuc, vuc, const int); | |
3399 | XXSLDWI_16QI XXSLDWI_VUC | |
3400 | vss __builtin_vec_sldw (vss, vss, const int); | |
3401 | XXSLDWI_8HI XXSLDWI_VSS | |
3402 | vus __builtin_vec_sldw (vus, vus, const int); | |
3403 | XXSLDWI_8HI XXSLDWI_VUS | |
3404 | vsi __builtin_vec_sldw (vsi, vsi, const int); | |
3405 | XXSLDWI_4SI XXSLDWI_VSI | |
3406 | vui __builtin_vec_sldw (vui, vui, const int); | |
3407 | XXSLDWI_4SI XXSLDWI_VUI | |
3408 | vsll __builtin_vec_sldw (vsll, vsll, const int); | |
3409 | XXSLDWI_2DI XXSLDWI_VSLL | |
3410 | vull __builtin_vec_sldw (vull, vull, const int); | |
3411 | XXSLDWI_2DI XXSLDWI_VULL | |
afe91e25 BS |
3412 | vf __builtin_vec_sldw (vf, vf, const int); |
3413 | XXSLDWI_4SF XXSLDWI_VF | |
3414 | vd __builtin_vec_sldw (vd, vd, const int); | |
3415 | XXSLDWI_2DF XXSLDWI_VD | |
e2693a72 BS |
3416 | |
3417 | [VEC_SLL, vec_sll, __builtin_vec_sll] | |
3418 | vsc __builtin_vec_sll (vsc, vuc); | |
3419 | VSL VSL_VSC | |
3420 | vuc __builtin_vec_sll (vuc, vuc); | |
3421 | VSL VSL_VUC | |
3422 | vss __builtin_vec_sll (vss, vuc); | |
3423 | VSL VSL_VSS | |
3424 | vus __builtin_vec_sll (vus, vuc); | |
3425 | VSL VSL_VUS | |
3426 | vp __builtin_vec_sll (vp, vuc); | |
3427 | VSL VSL_VP | |
3428 | vsi __builtin_vec_sll (vsi, vuc); | |
3429 | VSL VSL_VSI | |
3430 | vui __builtin_vec_sll (vui, vuc); | |
3431 | VSL VSL_VUI | |
3432 | vsll __builtin_vec_sll (vsll, vuc); | |
3433 | VSL VSL_VSLL | |
3434 | vull __builtin_vec_sll (vull, vuc); | |
3435 | VSL VSL_VULL | |
3436 | ; The following variants are deprecated. | |
3437 | vsc __builtin_vec_sll (vsc, vus); | |
3438 | VSL VSL_VSC_VUS | |
3439 | vsc __builtin_vec_sll (vsc, vui); | |
3440 | VSL VSL_VSC_VUI | |
3441 | vuc __builtin_vec_sll (vuc, vus); | |
3442 | VSL VSL_VUC_VUS | |
3443 | vuc __builtin_vec_sll (vuc, vui); | |
3444 | VSL VSL_VUC_VUI | |
3445 | vbc __builtin_vec_sll (vbc, vuc); | |
3446 | VSL VSL_VBC_VUC | |
3447 | vbc __builtin_vec_sll (vbc, vus); | |
3448 | VSL VSL_VBC_VUS | |
3449 | vbc __builtin_vec_sll (vbc, vui); | |
3450 | VSL VSL_VBC_VUI | |
3451 | vss __builtin_vec_sll (vss, vus); | |
3452 | VSL VSL_VSS_VUS | |
3453 | vss __builtin_vec_sll (vss, vui); | |
3454 | VSL VSL_VSS_VUI | |
3455 | vus __builtin_vec_sll (vus, vus); | |
3456 | VSL VSL_VUS_VUS | |
3457 | vus __builtin_vec_sll (vus, vui); | |
3458 | VSL VSL_VUS_VUI | |
3459 | vbs __builtin_vec_sll (vbs, vuc); | |
3460 | VSL VSL_VBS_VUC | |
3461 | vbs __builtin_vec_sll (vbs, vus); | |
3462 | VSL VSL_VBS_VUS | |
3463 | vbs __builtin_vec_sll (vbs, vui); | |
3464 | VSL VSL_VBS_VUI | |
3465 | vp __builtin_vec_sll (vp, vus); | |
3466 | VSL VSL_VP_VUS | |
3467 | vp __builtin_vec_sll (vp, vui); | |
3468 | VSL VSL_VP_VUI | |
3469 | vsi __builtin_vec_sll (vsi, vus); | |
3470 | VSL VSL_VSI_VUS | |
3471 | vsi __builtin_vec_sll (vsi, vui); | |
3472 | VSL VSL_VSI_VUI | |
3473 | vui __builtin_vec_sll (vui, vus); | |
3474 | VSL VSL_VUI_VUS | |
3475 | vui __builtin_vec_sll (vui, vui); | |
3476 | VSL VSL_VUI_VUI | |
3477 | vbi __builtin_vec_sll (vbi, vuc); | |
3478 | VSL VSL_VBI_VUC | |
3479 | vbi __builtin_vec_sll (vbi, vus); | |
3480 | VSL VSL_VBI_VUS | |
3481 | vbi __builtin_vec_sll (vbi, vui); | |
3482 | VSL VSL_VBI_VUI | |
3483 | vbll __builtin_vec_sll (vbll, vuc); | |
3484 | VSL VSL_VBLL_VUC | |
3485 | vbll __builtin_vec_sll (vbll, vus); | |
3486 | VSL VSL_VBLL_VUS | |
3487 | vbll __builtin_vec_sll (vbll, vull); | |
3488 | VSL VSL_VBLL_VULL | |
3489 | ||
3490 | [VEC_SLO, vec_slo, __builtin_vec_slo] | |
3491 | vsc __builtin_vec_slo (vsc, vsc); | |
3492 | VSLO VSLO_VSCS | |
3493 | vsc __builtin_vec_slo (vsc, vuc); | |
3494 | VSLO VSLO_VSCU | |
3495 | vuc __builtin_vec_slo (vuc, vsc); | |
3496 | VSLO VSLO_VUCS | |
3497 | vuc __builtin_vec_slo (vuc, vuc); | |
3498 | VSLO VSLO_VUCU | |
3499 | vss __builtin_vec_slo (vss, vsc); | |
3500 | VSLO VSLO_VSSS | |
3501 | vss __builtin_vec_slo (vss, vuc); | |
3502 | VSLO VSLO_VSSU | |
3503 | vus __builtin_vec_slo (vus, vsc); | |
3504 | VSLO VSLO_VUSS | |
3505 | vus __builtin_vec_slo (vus, vuc); | |
3506 | VSLO VSLO_VUSU | |
3507 | vp __builtin_vec_slo (vp, vsc); | |
3508 | VSLO VSLO_VPS | |
3509 | vp __builtin_vec_slo (vp, vuc); | |
3510 | VSLO VSLO_VPU | |
3511 | vsi __builtin_vec_slo (vsi, vsc); | |
3512 | VSLO VSLO_VSIS | |
3513 | vsi __builtin_vec_slo (vsi, vuc); | |
3514 | VSLO VSLO_VSIU | |
3515 | vui __builtin_vec_slo (vui, vsc); | |
3516 | VSLO VSLO_VUIS | |
3517 | vui __builtin_vec_slo (vui, vuc); | |
3518 | VSLO VSLO_VUIU | |
3519 | vsll __builtin_vec_slo (vsll, vsc); | |
3520 | VSLO VSLO_VSLLS | |
3521 | vsll __builtin_vec_slo (vsll, vuc); | |
3522 | VSLO VSLO_VSLLU | |
3523 | vull __builtin_vec_slo (vull, vsc); | |
3524 | VSLO VSLO_VULLS | |
3525 | vull __builtin_vec_slo (vull, vuc); | |
3526 | VSLO VSLO_VULLU | |
3527 | vf __builtin_vec_slo (vf, vsc); | |
3528 | VSLO VSLO_VFS | |
3529 | vf __builtin_vec_slo (vf, vuc); | |
3530 | VSLO VSLO_VFU | |
3531 | ||
7e836079 | 3532 | [VEC_SLV, vec_slv, __builtin_vec_vslv] |
e2693a72 BS |
3533 | vuc __builtin_vec_vslv (vuc, vuc); |
3534 | VSLV | |
3535 | ||
3536 | [VEC_SPLAT, vec_splat, __builtin_vec_splat] | |
3537 | vsc __builtin_vec_splat (vsc, signed int); | |
3538 | VSPLTB VSPLTB_VSC | |
3539 | vuc __builtin_vec_splat (vuc, signed int); | |
3540 | VSPLTB VSPLTB_VUC | |
3541 | vbc __builtin_vec_splat (vbc, signed int); | |
3542 | VSPLTB VSPLTB_VBC | |
3543 | vss __builtin_vec_splat (vss, signed int); | |
3544 | VSPLTH VSPLTH_VSS | |
3545 | vus __builtin_vec_splat (vus, signed int); | |
3546 | VSPLTH VSPLTH_VUS | |
3547 | vbs __builtin_vec_splat (vbs, signed int); | |
3548 | VSPLTH VSPLTH_VBS | |
3549 | vp __builtin_vec_splat (vp, signed int); | |
3550 | VSPLTH VSPLTH_VP | |
3551 | vf __builtin_vec_splat (vf, signed int); | |
3552 | VSPLTW VSPLTW_VF | |
3553 | vsi __builtin_vec_splat (vsi, signed int); | |
3554 | VSPLTW VSPLTW_VSI | |
3555 | vui __builtin_vec_splat (vui, signed int); | |
3556 | VSPLTW VSPLTW_VUI | |
3557 | vbi __builtin_vec_splat (vbi, signed int); | |
3558 | VSPLTW VSPLTW_VBI | |
3559 | vd __builtin_vec_splat (vd, signed int); | |
3560 | XXSPLTD_V2DF | |
3561 | vsll __builtin_vec_splat (vsll, signed int); | |
3562 | XXSPLTD_V2DI XXSPLTD_VSLL | |
3563 | vull __builtin_vec_splat (vull, signed int); | |
3564 | XXSPLTD_V2DI XXSPLTD_VULL | |
3565 | vbll __builtin_vec_splat (vbll, signed int); | |
3566 | XXSPLTD_V2DI XXSPLTD_VBLL | |
3567 | ||
3568 | [VEC_SPLAT_S8, vec_splat_s8, __builtin_vec_splat_s8] | |
3569 | vsc __builtin_vec_splat_s8 (signed int); | |
3570 | VSPLTISB | |
3571 | ||
3572 | [VEC_SPLAT_S16, vec_splat_s16, __builtin_vec_splat_s16] | |
3573 | vss __builtin_vec_splat_s16 (signed int); | |
3574 | VSPLTISH | |
3575 | ||
3576 | [VEC_SPLAT_S32, vec_splat_s32, __builtin_vec_splat_s32] | |
3577 | vsi __builtin_vec_splat_s32 (signed int); | |
3578 | VSPLTISW | |
3579 | ||
3580 | ; There are no entries for vec_splat_u{8,16,32}. These are handled | |
3581 | ; in altivec.h with a #define and a cast. | |
3582 | ||
7e836079 | 3583 | [VEC_SPLATI, vec_splati, __builtin_vec_xxspltiw] |
e2693a72 BS |
3584 | vsi __builtin_vec_xxspltiw (signed int); |
3585 | VXXSPLTIW_V4SI | |
3586 | vf __builtin_vec_xxspltiw (float); | |
3587 | VXXSPLTIW_V4SF | |
3588 | ||
7e836079 | 3589 | [VEC_SPLATID, vec_splatid, __builtin_vec_xxspltid] |
e2693a72 BS |
3590 | vd __builtin_vec_xxspltid (float); |
3591 | VXXSPLTIDP | |
3592 | ||
7e836079 | 3593 | [VEC_SPLATI_INS, vec_splati_ins, __builtin_vec_xxsplti32dx] |
e2693a72 BS |
3594 | vsi __builtin_vec_xxsplti32dx (vsi, const int, signed int); |
3595 | VXXSPLTI32DX_V4SI VXXSPLTI32DX_VSI | |
3596 | vui __builtin_vec_xxsplti32dx (vui, const int, unsigned int); | |
3597 | VXXSPLTI32DX_V4SI VXXSPLTI32DX_VUI | |
3598 | vf __builtin_vec_xxsplti32dx (vf, const int, float); | |
3599 | VXXSPLTI32DX_V4SF | |
3600 | ||
3601 | ; There are no actual builtins for vec_splats. There is special handling for | |
e53b6e56 | 3602 | ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
e2693a72 BS |
3603 | ; is replaced by a constructor. The single overload here causes |
3604 | ; __builtin_vec_splats to be registered with the front end so that can happen. | |
3605 | [VEC_SPLATS, vec_splats, __builtin_vec_splats] | |
3606 | vsi __builtin_vec_splats (vsi); | |
3607 | ABS_V4SI SPLATS_FAKERY | |
3608 | ||
7e836079 | 3609 | [VEC_SQRT, vec_sqrt, __builtin_vec_sqrt] |
e2693a72 BS |
3610 | vf __builtin_vec_sqrt (vf); |
3611 | XVSQRTSP | |
3612 | vd __builtin_vec_sqrt (vd); | |
3613 | XVSQRTDP | |
3614 | ||
3615 | [VEC_SR, vec_sr, __builtin_vec_sr] | |
3616 | vsc __builtin_vec_sr (vsc, vuc); | |
3617 | VSRB VSRB_VSC | |
3618 | vuc __builtin_vec_sr (vuc, vuc); | |
3619 | VSRB VSRB_VUC | |
3620 | vss __builtin_vec_sr (vss, vus); | |
3621 | VSRH VSRH_VSS | |
3622 | vus __builtin_vec_sr (vus, vus); | |
3623 | VSRH VSRH_VUS | |
3624 | vsi __builtin_vec_sr (vsi, vui); | |
3625 | VSRW VSRW_VSI | |
3626 | vui __builtin_vec_sr (vui, vui); | |
3627 | VSRW VSRW_VUI | |
3628 | vsll __builtin_vec_sr (vsll, vull); | |
3629 | VSRD VSRD_VSLL | |
3630 | vull __builtin_vec_sr (vull, vull); | |
3631 | VSRD VSRD_VULL | |
3632 | vsq __builtin_vec_sr (vsq, vuq); | |
3633 | VSRQ VSRQ_VSQ | |
3634 | vuq __builtin_vec_sr (vuq, vuq); | |
3635 | VSRQ VSRQ_VUQ | |
3636 | ||
3637 | [VEC_SRA, vec_sra, __builtin_vec_sra] | |
3638 | vsc __builtin_vec_sra (vsc, vuc); | |
3639 | VSRAB VSRAB_VSC | |
3640 | vuc __builtin_vec_sra (vuc, vuc); | |
3641 | VSRAB VSRAB_VUC | |
3642 | vss __builtin_vec_sra (vss, vus); | |
3643 | VSRAH VSRAH_VSS | |
3644 | vus __builtin_vec_sra (vus, vus); | |
3645 | VSRAH VSRAH_VUS | |
3646 | vsi __builtin_vec_sra (vsi, vui); | |
3647 | VSRAW VSRAW_VSI | |
3648 | vui __builtin_vec_sra (vui, vui); | |
3649 | VSRAW VSRAW_VUI | |
3650 | vsll __builtin_vec_sra (vsll, vull); | |
3651 | VSRAD VSRAD_VSLL | |
3652 | vull __builtin_vec_sra (vull, vull); | |
3653 | VSRAD VSRAD_VULL | |
3654 | vsq __builtin_vec_sra (vsq, vuq); | |
3655 | VSRAQ VSRAQ_VSQ | |
3656 | vuq __builtin_vec_sra (vuq, vuq); | |
3657 | VSRAQ VSRAQ_VUQ | |
3658 | ||
7e836079 | 3659 | [VEC_SRDB, vec_srdb, __builtin_vec_srdb] |
e2693a72 BS |
3660 | vsc __builtin_vec_srdb (vsc, vsc, const int); |
3661 | VSRDB_V16QI VSRDB_VSC | |
3662 | vuc __builtin_vec_srdb (vuc, vuc, const int); | |
3663 | VSRDB_V16QI VSRDB_VUC | |
3664 | vss __builtin_vec_srdb (vss, vss, const int); | |
3665 | VSRDB_V8HI VSRDB_VSS | |
3666 | vus __builtin_vec_srdb (vus, vus, const int); | |
3667 | VSRDB_V8HI VSRDB_VUS | |
3668 | vsi __builtin_vec_srdb (vsi, vsi, const int); | |
3669 | VSRDB_V4SI VSRDB_VSI | |
3670 | vui __builtin_vec_srdb (vui, vui, const int); | |
3671 | VSRDB_V4SI VSRDB_VUI | |
3672 | vsll __builtin_vec_srdb (vsll, vsll, const int); | |
3673 | VSRDB_V2DI VSRDB_VSLL | |
3674 | vull __builtin_vec_srdb (vull, vull, const int); | |
3675 | VSRDB_V2DI VSRDB_VULL | |
3676 | ||
3677 | [VEC_SRL, vec_srl, __builtin_vec_srl] | |
3678 | vsc __builtin_vec_srl (vsc, vuc); | |
3679 | VSR VSR_VSC | |
3680 | vuc __builtin_vec_srl (vuc, vuc); | |
3681 | VSR VSR_VUC | |
3682 | vss __builtin_vec_srl (vss, vuc); | |
3683 | VSR VSR_VSS | |
3684 | vus __builtin_vec_srl (vus, vuc); | |
3685 | VSR VSR_VUS | |
3686 | vp __builtin_vec_srl (vp, vuc); | |
3687 | VSR VSR_VP | |
3688 | vsi __builtin_vec_srl (vsi, vuc); | |
3689 | VSR VSR_VSI | |
3690 | vui __builtin_vec_srl (vui, vuc); | |
3691 | VSR VSR_VUI | |
3692 | vsll __builtin_vec_srl (vsll, vuc); | |
3693 | VSR VSR_VSLL | |
3694 | vull __builtin_vec_srl (vull, vuc); | |
3695 | VSR VSR_VULL | |
3696 | ; The following variants are deprecated. | |
3697 | vsc __builtin_vec_srl (vsc, vus); | |
3698 | VSR VSR_VSC_VUS | |
3699 | vsc __builtin_vec_srl (vsc, vui); | |
3700 | VSR VSR_VSC_VUI | |
3701 | vuc __builtin_vec_srl (vuc, vus); | |
3702 | VSR VSR_VUC_VUS | |
3703 | vuc __builtin_vec_srl (vuc, vui); | |
3704 | VSR VSR_VUC_VUI | |
3705 | vbc __builtin_vec_srl (vbc, vuc); | |
3706 | VSR VSR_VBC_VUC | |
3707 | vbc __builtin_vec_srl (vbc, vus); | |
3708 | VSR VSR_VBC_VUS | |
3709 | vbc __builtin_vec_srl (vbc, vui); | |
3710 | VSR VSR_VBC_VUI | |
3711 | vss __builtin_vec_srl (vss, vus); | |
3712 | VSR VSR_VSS_VUS | |
3713 | vss __builtin_vec_srl (vss, vui); | |
3714 | VSR VSR_VSS_VUI | |
3715 | vus __builtin_vec_srl (vus, vus); | |
3716 | VSR VSR_VUS_VUS | |
3717 | vus __builtin_vec_srl (vus, vui); | |
3718 | VSR VSR_VUS_VUI | |
3719 | vbs __builtin_vec_srl (vbs, vuc); | |
3720 | VSR VSR_VBS_VUC | |
3721 | vbs __builtin_vec_srl (vbs, vus); | |
3722 | VSR VSR_VBS_VUS | |
3723 | vbs __builtin_vec_srl (vbs, vui); | |
3724 | VSR VSR_VBS_VUI | |
3725 | vp __builtin_vec_srl (vp, vus); | |
3726 | VSR VSR_VP_VUS | |
3727 | vp __builtin_vec_srl (vp, vui); | |
3728 | VSR VSR_VP_VUI | |
3729 | vsi __builtin_vec_srl (vsi, vus); | |
3730 | VSR VSR_VSI_VUS | |
3731 | vsi __builtin_vec_srl (vsi, vui); | |
3732 | VSR VSR_VSI_VUI | |
3733 | vui __builtin_vec_srl (vui, vus); | |
3734 | VSR VSR_VUI_VUS | |
3735 | vui __builtin_vec_srl (vui, vui); | |
3736 | VSR VSR_VUI_VUI | |
3737 | vbi __builtin_vec_srl (vbi, vuc); | |
3738 | VSR VSR_VBI_VUC | |
3739 | vbi __builtin_vec_srl (vbi, vus); | |
3740 | VSR VSR_VBI_VUS | |
3741 | vbi __builtin_vec_srl (vbi, vui); | |
3742 | VSR VSR_VBI_VUI | |
3743 | ||
3744 | [VEC_SRO, vec_sro, __builtin_vec_sro] | |
3745 | vsc __builtin_vec_sro (vsc, vsc); | |
3746 | VSRO VSRO_VSCS | |
3747 | vsc __builtin_vec_sro (vsc, vuc); | |
3748 | VSRO VSRO_VSCU | |
3749 | vuc __builtin_vec_sro (vuc, vsc); | |
3750 | VSRO VSRO_VUCS | |
3751 | vuc __builtin_vec_sro (vuc, vuc); | |
3752 | VSRO VSRO_VUCU | |
3753 | vss __builtin_vec_sro (vss, vsc); | |
3754 | VSRO VSRO_VSSS | |
3755 | vss __builtin_vec_sro (vss, vuc); | |
3756 | VSRO VSRO_VSSU | |
3757 | vus __builtin_vec_sro (vus, vsc); | |
3758 | VSRO VSRO_VUSS | |
3759 | vus __builtin_vec_sro (vus, vuc); | |
3760 | VSRO VSRO_VUSU | |
3761 | vp __builtin_vec_sro (vp, vsc); | |
3762 | VSRO VSRO_VPS | |
3763 | vp __builtin_vec_sro (vp, vuc); | |
3764 | VSRO VSRO_VPU | |
3765 | vsi __builtin_vec_sro (vsi, vsc); | |
3766 | VSRO VSRO_VSIS | |
3767 | vsi __builtin_vec_sro (vsi, vuc); | |
3768 | VSRO VSRO_VSIU | |
3769 | vui __builtin_vec_sro (vui, vsc); | |
3770 | VSRO VSRO_VUIS | |
3771 | vui __builtin_vec_sro (vui, vuc); | |
3772 | VSRO VSRO_VUIU | |
3773 | vsll __builtin_vec_sro (vsll, vsc); | |
3774 | VSRO VSRO_VSLLS | |
3775 | vsll __builtin_vec_sro (vsll, vuc); | |
3776 | VSRO VSRO_VSLLU | |
3777 | vull __builtin_vec_sro (vull, vsc); | |
3778 | VSRO VSRO_VULLS | |
3779 | vull __builtin_vec_sro (vull, vuc); | |
3780 | VSRO VSRO_VULLU | |
3781 | vf __builtin_vec_sro (vf, vsc); | |
3782 | VSRO VSRO_VFS | |
3783 | vf __builtin_vec_sro (vf, vuc); | |
3784 | VSRO VSRO_VFU | |
3785 | ||
7e836079 | 3786 | [VEC_SRV, vec_srv, __builtin_vec_vsrv] |
e2693a72 BS |
3787 | vuc __builtin_vec_vsrv (vuc, vuc); |
3788 | VSRV | |
3789 | ||
3790 | [VEC_ST, vec_st, __builtin_vec_st] | |
3791 | void __builtin_vec_st (vsc, signed long long, vsc *); | |
3792 | STVX_V16QI STVX_VSC | |
3793 | void __builtin_vec_st (vsc, signed long long, signed char *); | |
3794 | STVX_V16QI STVX_SC | |
3795 | void __builtin_vec_st (vuc, signed long long, vuc *); | |
3796 | STVX_V16QI STVX_VUC | |
3797 | void __builtin_vec_st (vuc, signed long long, unsigned char *); | |
3798 | STVX_V16QI STVX_UC | |
3799 | void __builtin_vec_st (vbc, signed long long, vbc *); | |
3800 | STVX_V16QI STVX_VBC | |
3801 | void __builtin_vec_st (vbc, signed long long, signed char *); | |
3802 | STVX_V16QI STVX_SC_B | |
3803 | void __builtin_vec_st (vbc, signed long long, unsigned char *); | |
3804 | STVX_V16QI STVX_UC_B | |
3805 | void __builtin_vec_st (vss, signed long long, vss *); | |
3806 | STVX_V8HI STVX_VSS | |
3807 | void __builtin_vec_st (vss, signed long long, signed short *); | |
3808 | STVX_V8HI STVX_SS | |
3809 | void __builtin_vec_st (vus, signed long long, vus *); | |
3810 | STVX_V8HI STVX_VUS | |
3811 | void __builtin_vec_st (vus, signed long long, unsigned short *); | |
3812 | STVX_V8HI STVX_US | |
3813 | void __builtin_vec_st (vbs, signed long long, vbs *); | |
3814 | STVX_V8HI STVX_VBS | |
3815 | void __builtin_vec_st (vbs, signed long long, signed short *); | |
3816 | STVX_V8HI STVX_SS_B | |
3817 | void __builtin_vec_st (vbs, signed long long, unsigned short *); | |
3818 | STVX_V8HI STVX_US_B | |
3819 | void __builtin_vec_st (vp, signed long long, vp *); | |
3820 | STVX_V8HI STVX_P | |
3821 | void __builtin_vec_st (vsi, signed long long, vsi *); | |
3822 | STVX_V4SI STVX_VSI | |
3823 | void __builtin_vec_st (vsi, signed long long, signed int *); | |
3824 | STVX_V4SI STVX_SI | |
3825 | void __builtin_vec_st (vui, signed long long, vui *); | |
3826 | STVX_V4SI STVX_VUI | |
3827 | void __builtin_vec_st (vui, signed long long, unsigned int *); | |
3828 | STVX_V4SI STVX_UI | |
3829 | void __builtin_vec_st (vbi, signed long long, vbi *); | |
3830 | STVX_V4SI STVX_VBI | |
3831 | void __builtin_vec_st (vbi, signed long long, signed int *); | |
3832 | STVX_V4SI STVX_SI_B | |
3833 | void __builtin_vec_st (vbi, signed long long, unsigned int *); | |
3834 | STVX_V4SI STVX_UI_B | |
3835 | void __builtin_vec_st (vsll, signed long long, vsll *); | |
3836 | STVX_V2DI STVX_VSLL | |
3837 | void __builtin_vec_st (vsll, signed long long, signed long long *); | |
3838 | STVX_V2DI STVX_SLL | |
3839 | void __builtin_vec_st (vull, signed long long, vull *); | |
3840 | STVX_V2DI STVX_VULL | |
3841 | void __builtin_vec_st (vull, signed long long, unsigned long long *); | |
3842 | STVX_V2DI STVX_ULL | |
3843 | void __builtin_vec_st (vbll, signed long long, vbll *); | |
3844 | STVX_V2DI STVX_VBLL | |
3845 | void __builtin_vec_st (vf, signed long long, vf *); | |
3846 | STVX_V4SF STVX_VF | |
3847 | void __builtin_vec_st (vf, signed long long, float *); | |
3848 | STVX_V4SF STVX_F | |
3849 | void __builtin_vec_st (vd, signed long long, vd *); | |
3850 | STVX_V2DF STVX_VD | |
3851 | void __builtin_vec_st (vd, signed long long, double *); | |
3852 | STVX_V2DF STVX_D | |
3853 | ; The following variants are deprecated. | |
3854 | void __builtin_vec_st (vbll, signed long long, signed long long *); | |
3855 | STVX_V2DI STVX_SLL_B | |
3856 | void __builtin_vec_st (vbll, signed long long, unsigned long long *); | |
3857 | STVX_V2DI STVX_ULL_B | |
3858 | ||
3859 | [VEC_STE, vec_ste, __builtin_vec_ste] | |
3860 | void __builtin_vec_ste (vsc, signed long long, signed char *); | |
3861 | STVEBX STVEBX_S | |
3862 | void __builtin_vec_ste (vuc, signed long long, unsigned char *); | |
3863 | STVEBX STVEBX_U | |
3864 | void __builtin_vec_ste (vbc, signed long long, signed char *); | |
3865 | STVEBX STVEBX_BS | |
3866 | void __builtin_vec_ste (vbc, signed long long, unsigned char *); | |
3867 | STVEBX STVEBX_BU | |
3868 | void __builtin_vec_ste (vss, signed long long, signed short *); | |
3869 | STVEHX STVEHX_S | |
3870 | void __builtin_vec_ste (vus, signed long long, unsigned short *); | |
3871 | STVEHX STVEHX_U | |
3872 | void __builtin_vec_ste (vbs, signed long long, signed short *); | |
3873 | STVEHX STVEHX_BS | |
3874 | void __builtin_vec_ste (vbs, signed long long, unsigned short *); | |
3875 | STVEHX STVEHX_BU | |
3876 | void __builtin_vec_ste (vp, signed long long, signed short *); | |
3877 | STVEHX STVEHX_PS | |
3878 | void __builtin_vec_ste (vp, signed long long, unsigned short *); | |
3879 | STVEHX STVEHX_PU | |
3880 | void __builtin_vec_ste (vsi, signed long long, signed int *); | |
3881 | STVEWX STVEHWX_S | |
3882 | void __builtin_vec_ste (vui, signed long long, unsigned int *); | |
3883 | STVEWX STVEWX_U | |
3884 | void __builtin_vec_ste (vbi, signed long long, signed int *); | |
3885 | STVEWX STVEWX_BS | |
3886 | void __builtin_vec_ste (vbi, signed long long, unsigned int *); | |
3887 | STVEWX STVEWX_BU | |
3888 | void __builtin_vec_ste (vf, signed long long, float *); | |
3889 | STVEWX STVEWX_F | |
3890 | ||
3891 | ; There are no builtins for VEC_STEP; this is handled directly | |
3892 | ; with a constant replacement in rs6000_resolve_overloaded_builtin. | |
3893 | ; The single overload registers __builtin_vec_step with the front end | |
3894 | ; so this can happen. | |
3895 | [VEC_STEP, vec_step, __builtin_vec_step] | |
3896 | signed int __builtin_vec_step (vsi); | |
3897 | VCLZLSBB_V4SI STEP_FAKERY | |
3898 | ||
3899 | [VEC_STL, vec_stl, __builtin_vec_stl] | |
3900 | void __builtin_vec_stl (vsc, signed long long, vsc *); | |
3901 | STVXL_V16QI STVXL_VSC | |
3902 | void __builtin_vec_stl (vsc, signed long long, signed char *); | |
3903 | STVXL_V16QI STVXL_SC | |
3904 | void __builtin_vec_stl (vuc, signed long long, vuc *); | |
3905 | STVXL_V16QI STVXL_VUC | |
3906 | void __builtin_vec_stl (vuc, signed long long, unsigned char *); | |
3907 | STVXL_V16QI STVXL_UC | |
3908 | void __builtin_vec_stl (vbc, signed long long, vbc *); | |
3909 | STVXL_V16QI STVXL_VBC | |
3910 | void __builtin_vec_stl (vbc, signed long long, signed char *); | |
3911 | STVXL_V16QI STVXL_SC_B | |
3912 | void __builtin_vec_stl (vbc, signed long long, unsigned char *); | |
3913 | STVXL_V16QI STVXL_UC_B | |
3914 | void __builtin_vec_stl (vss, signed long long, vss *); | |
3915 | STVXL_V8HI STVXL_VSS | |
3916 | void __builtin_vec_stl (vss, signed long long, signed short *); | |
3917 | STVXL_V8HI STVXL_SS | |
3918 | void __builtin_vec_stl (vus, signed long long, vus *); | |
3919 | STVXL_V8HI STVXL_VUS | |
3920 | void __builtin_vec_stl (vus, signed long long, unsigned short *); | |
3921 | STVXL_V8HI STVXL_US | |
3922 | void __builtin_vec_stl (vbs, signed long long, vbs *); | |
3923 | STVXL_V8HI STVXL_VBS | |
3924 | void __builtin_vec_stl (vbs, signed long long, signed short *); | |
3925 | STVXL_V8HI STVXL_SS_B | |
3926 | void __builtin_vec_stl (vbs, signed long long, unsigned short *); | |
3927 | STVXL_V8HI STVXL_US_B | |
3928 | void __builtin_vec_stl (vp, signed long long, vp *); | |
3929 | STVXL_V8HI STVXL_P | |
3930 | void __builtin_vec_stl (vsi, signed long long, vsi *); | |
3931 | STVXL_V4SI STVXL_VSI | |
3932 | void __builtin_vec_stl (vsi, signed long long, signed int *); | |
3933 | STVXL_V4SI STVXL_SI | |
3934 | void __builtin_vec_stl (vui, signed long long, vui *); | |
3935 | STVXL_V4SI STVXL_VUI | |
3936 | void __builtin_vec_stl (vui, signed long long, unsigned int *); | |
3937 | STVXL_V4SI STVXL_UI | |
3938 | void __builtin_vec_stl (vbi, signed long long, vbi *); | |
3939 | STVXL_V4SI STVXL_VBI | |
3940 | void __builtin_vec_stl (vbi, signed long long, signed int *); | |
3941 | STVXL_V4SI STVXL_SI_B | |
3942 | void __builtin_vec_stl (vbi, signed long long, unsigned int *); | |
3943 | STVXL_V4SI STVXL_UI_B | |
3944 | void __builtin_vec_stl (vsll, signed long long, vsll *); | |
3945 | STVXL_V2DI STVXL_VSLL | |
3946 | void __builtin_vec_stl (vsll, signed long long, signed long long *); | |
3947 | STVXL_V2DI STVXL_SLL | |
3948 | void __builtin_vec_stl (vull, signed long long, vull *); | |
3949 | STVXL_V2DI STVXL_VULL | |
3950 | void __builtin_vec_stl (vull, signed long long, unsigned long long *); | |
3951 | STVXL_V2DI STVXL_ULL | |
3952 | void __builtin_vec_stl (vbll, signed long long, vbll *); | |
3953 | STVXL_V2DI STVXL_VBLL | |
3954 | void __builtin_vec_stl (vbll, signed long long, signed long long *); | |
3955 | STVXL_V2DI STVXL_SLL_B | |
3956 | void __builtin_vec_stl (vbll, signed long long, unsigned long long *); | |
3957 | STVXL_V2DI STVXL_ULL_B | |
3958 | void __builtin_vec_stl (vf, signed long long, vf *); | |
3959 | STVXL_V4SF STVXL_VF | |
3960 | void __builtin_vec_stl (vf, signed long long, float *); | |
3961 | STVXL_V4SF STVXL_F | |
3962 | void __builtin_vec_stl (vd, signed long long, vd *); | |
3963 | STVXL_V2DF STVXL_VD | |
3964 | void __builtin_vec_stl (vd, signed long long, double *); | |
3965 | STVXL_V2DF STVXL_D | |
3966 | ||
7e836079 | 3967 | [VEC_STRIL, vec_stril, __builtin_vec_stril] |
e2693a72 BS |
3968 | vuc __builtin_vec_stril (vuc); |
3969 | VSTRIBL VSTRIBL_U | |
3970 | vsc __builtin_vec_stril (vsc); | |
3971 | VSTRIBL VSTRIBL_S | |
3972 | vus __builtin_vec_stril (vus); | |
3973 | VSTRIHL VSTRIHL_U | |
3974 | vss __builtin_vec_stril (vss); | |
3975 | VSTRIHL VSTRIHL_S | |
3976 | ||
7e836079 | 3977 | [VEC_STRIL_P, vec_stril_p, __builtin_vec_stril_p] |
e2693a72 BS |
3978 | signed int __builtin_vec_stril_p (vuc); |
3979 | VSTRIBL_P VSTRIBL_PU | |
3980 | signed int __builtin_vec_stril_p (vsc); | |
3981 | VSTRIBL_P VSTRIBL_PS | |
3982 | signed int __builtin_vec_stril_p (vus); | |
3983 | VSTRIHL_P VSTRIHL_PU | |
3984 | signed int __builtin_vec_stril_p (vss); | |
3985 | VSTRIHL_P VSTRIHL_PS | |
3986 | ||
7e836079 | 3987 | [VEC_STRIR, vec_strir, __builtin_vec_strir] |
e2693a72 BS |
3988 | vuc __builtin_vec_strir (vuc); |
3989 | VSTRIBR VSTRIBR_U | |
3990 | vsc __builtin_vec_strir (vsc); | |
3991 | VSTRIBR VSTRIBR_S | |
3992 | vus __builtin_vec_strir (vus); | |
3993 | VSTRIHR VSTRIHR_U | |
3994 | vss __builtin_vec_strir (vss); | |
3995 | VSTRIHR VSTRIHR_S | |
3996 | ||
7e836079 | 3997 | [VEC_STRIR_P, vec_strir_p, __builtin_vec_strir_p] |
e2693a72 BS |
3998 | signed int __builtin_vec_strir_p (vuc); |
3999 | VSTRIBR_P VSTRIBR_PU | |
4000 | signed int __builtin_vec_strir_p (vsc); | |
4001 | VSTRIBR_P VSTRIBR_PS | |
4002 | signed int __builtin_vec_strir_p (vus); | |
4003 | VSTRIHR_P VSTRIHR_PU | |
4004 | signed int __builtin_vec_strir_p (vss); | |
4005 | VSTRIHR_P VSTRIHR_PS | |
4006 | ||
4007 | [VEC_STVLX, vec_stvlx, __builtin_vec_stvlx, __PPU__] | |
4008 | void __builtin_vec_stvlx (vbc, signed long long, vbc *); | |
4009 | STVLX STVLX_VBC | |
4010 | void __builtin_vec_stvlx (vsc, signed long long, vsc *); | |
4011 | STVLX STVLX_VSC | |
4012 | void __builtin_vec_stvlx (vsc, signed long long, signed char *); | |
4013 | STVLX STVLX_SC | |
4014 | void __builtin_vec_stvlx (vuc, signed long long, vuc *); | |
4015 | STVLX STVLX_VUC | |
4016 | void __builtin_vec_stvlx (vuc, signed long long, unsigned char *); | |
4017 | STVLX STVLX_UC | |
4018 | void __builtin_vec_stvlx (vbs, signed long long, vbs *); | |
4019 | STVLX STVLX_VBS | |
4020 | void __builtin_vec_stvlx (vss, signed long long, vss *); | |
4021 | STVLX STVLX_VSS | |
4022 | void __builtin_vec_stvlx (vss, signed long long, signed short *); | |
4023 | STVLX STVLX_SS | |
4024 | void __builtin_vec_stvlx (vus, signed long long, vus *); | |
4025 | STVLX STVLX_VUS | |
4026 | void __builtin_vec_stvlx (vus, signed long long, unsigned short *); | |
4027 | STVLX STVLX_US | |
4028 | void __builtin_vec_stvlx (vp, signed long long, vp *); | |
4029 | STVLX STVLX_VP | |
4030 | void __builtin_vec_stvlx (vbi, signed long long, vbi *); | |
4031 | STVLX STVLX_VBI | |
4032 | void __builtin_vec_stvlx (vsi, signed long long, vsi *); | |
4033 | STVLX STVLX_VSI | |
4034 | void __builtin_vec_stvlx (vsi, signed long long, signed int *); | |
4035 | STVLX STVLX_SI | |
4036 | void __builtin_vec_stvlx (vui, signed long long, vui *); | |
4037 | STVLX STVLX_VUI | |
4038 | void __builtin_vec_stvlx (vui, signed long long, unsigned int *); | |
4039 | STVLX STVLX_UI | |
4040 | void __builtin_vec_stvlx (vf, signed long long, vf *); | |
4041 | STVLX STVLX_VF | |
4042 | void __builtin_vec_stvlx (vf, signed long long, float *); | |
4043 | STVLX STVLX_F | |
4044 | ||
4045 | [VEC_STVLXL, vec_stvlxl, __builtin_vec_stvlxl, __PPU__] | |
4046 | void __builtin_vec_stvlxl (vbc, signed long long, vbc *); | |
4047 | STVLXL STVLXL_VBC | |
4048 | void __builtin_vec_stvlxl (vsc, signed long long, vsc *); | |
4049 | STVLXL STVLXL_VSC | |
4050 | void __builtin_vec_stvlxl (vsc, signed long long, signed char *); | |
4051 | STVLXL STVLXL_SC | |
4052 | void __builtin_vec_stvlxl (vuc, signed long long, vuc *); | |
4053 | STVLXL STVLXL_VUC | |
4054 | void __builtin_vec_stvlxl (vuc, signed long long, unsigned char *); | |
4055 | STVLXL STVLXL_UC | |
4056 | void __builtin_vec_stvlxl (vbs, signed long long, vbs *); | |
4057 | STVLXL STVLXL_VBS | |
4058 | void __builtin_vec_stvlxl (vss, signed long long, vss *); | |
4059 | STVLXL STVLXL_VSS | |
4060 | void __builtin_vec_stvlxl (vss, signed long long, signed short *); | |
4061 | STVLXL STVLXL_SS | |
4062 | void __builtin_vec_stvlxl (vus, signed long long, vus *); | |
4063 | STVLXL STVLXL_VUS | |
4064 | void __builtin_vec_stvlxl (vus, signed long long, unsigned short *); | |
4065 | STVLXL STVLXL_US | |
4066 | void __builtin_vec_stvlxl (vp, signed long long, vp *); | |
4067 | STVLXL STVLXL_VP | |
4068 | void __builtin_vec_stvlxl (vbi, signed long long, vbi *); | |
4069 | STVLXL STVLXL_VBI | |
4070 | void __builtin_vec_stvlxl (vsi, signed long long, vsi *); | |
4071 | STVLXL STVLXL_VSI | |
4072 | void __builtin_vec_stvlxl (vsi, signed long long, signed int *); | |
4073 | STVLXL STVLXL_SI | |
4074 | void __builtin_vec_stvlxl (vui, signed long long, vui *); | |
4075 | STVLXL STVLXL_VUI | |
4076 | void __builtin_vec_stvlxl (vui, signed long long, unsigned int *); | |
4077 | STVLXL STVLXL_UI | |
4078 | void __builtin_vec_stvlxl (vf, signed long long, vf *); | |
4079 | STVLXL STVLXL_VF | |
4080 | void __builtin_vec_stvlxl (vf, signed long long, float *); | |
4081 | STVLXL STVLXL_F | |
4082 | ||
4083 | [VEC_STVRX, vec_stvrx, __builtin_vec_stvrx, __PPU__] | |
4084 | void __builtin_vec_stvrx (vbc, signed long long, vbc *); | |
4085 | STVRX STVRX_VBC | |
4086 | void __builtin_vec_stvrx (vsc, signed long long, vsc *); | |
4087 | STVRX STVRX_VSC | |
4088 | void __builtin_vec_stvrx (vsc, signed long long, signed char *); | |
4089 | STVRX STVRX_SC | |
4090 | void __builtin_vec_stvrx (vuc, signed long long, vuc *); | |
4091 | STVRX STVRX_VUC | |
4092 | void __builtin_vec_stvrx (vuc, signed long long, unsigned char *); | |
4093 | STVRX STVRX_UC | |
4094 | void __builtin_vec_stvrx (vbs, signed long long, vbs *); | |
4095 | STVRX STVRX_VBS | |
4096 | void __builtin_vec_stvrx (vss, signed long long, vss *); | |
4097 | STVRX STVRX_VSS | |
4098 | void __builtin_vec_stvrx (vss, signed long long, signed short *); | |
4099 | STVRX STVRX_SS | |
4100 | void __builtin_vec_stvrx (vus, signed long long, vus *); | |
4101 | STVRX STVRX_VUS | |
4102 | void __builtin_vec_stvrx (vus, signed long long, unsigned short *); | |
4103 | STVRX STVRX_US | |
4104 | void __builtin_vec_stvrx (vp, signed long long, vp *); | |
4105 | STVRX STVRX_VP | |
4106 | void __builtin_vec_stvrx (vbi, signed long long, vbi *); | |
4107 | STVRX STVRX_VBI | |
4108 | void __builtin_vec_stvrx (vsi, signed long long, vsi *); | |
4109 | STVRX STVRX_VSI | |
4110 | void __builtin_vec_stvrx (vsi, signed long long, signed int *); | |
4111 | STVRX STVRX_SI | |
4112 | void __builtin_vec_stvrx (vui, signed long long, vui *); | |
4113 | STVRX STVRX_VUI | |
4114 | void __builtin_vec_stvrx (vui, signed long long, unsigned int *); | |
4115 | STVRX STVRX_UI | |
4116 | void __builtin_vec_stvrx (vf, signed long long, vf *); | |
4117 | STVRX STVRX_VF | |
4118 | void __builtin_vec_stvrx (vf, signed long long, float *); | |
4119 | STVRX STVRX_F | |
4120 | ||
4121 | [VEC_STVRXL, vec_stvrxl, __builtin_vec_stvrxl, __PPU__] | |
4122 | void __builtin_vec_stvrxl (vbc, signed long long, vbc *); | |
4123 | STVRXL STVRXL_VBC | |
4124 | void __builtin_vec_stvrxl (vsc, signed long long, vsc *); | |
4125 | STVRXL STVRXL_VSC | |
4126 | void __builtin_vec_stvrxl (vsc, signed long long, signed char *); | |
4127 | STVRXL STVRXL_SC | |
4128 | void __builtin_vec_stvrxl (vuc, signed long long, vuc *); | |
4129 | STVRXL STVRXL_VUC | |
4130 | void __builtin_vec_stvrxl (vuc, signed long long, unsigned char *); | |
4131 | STVRXL STVRXL_UC | |
4132 | void __builtin_vec_stvrxl (vbs, signed long long, vbs *); | |
4133 | STVRXL STVRXL_VBS | |
4134 | void __builtin_vec_stvrxl (vss, signed long long, vss *); | |
4135 | STVRXL STVRXL_VSS | |
4136 | void __builtin_vec_stvrxl (vss, signed long long, signed short *); | |
4137 | STVRXL STVRXL_SS | |
4138 | void __builtin_vec_stvrxl (vus, signed long long, vus *); | |
4139 | STVRXL STVRXL_VUS | |
4140 | void __builtin_vec_stvrxl (vus, signed long long, unsigned short *); | |
4141 | STVRXL STVRXL_US | |
4142 | void __builtin_vec_stvrxl (vp, signed long long, vp *); | |
4143 | STVRXL STVRXL_VP | |
4144 | void __builtin_vec_stvrxl (vbi, signed long long, vbi *); | |
4145 | STVRXL STVRXL_VBI | |
4146 | void __builtin_vec_stvrxl (vsi, signed long long, vsi *); | |
4147 | STVRXL STVRXL_VSI | |
4148 | void __builtin_vec_stvrxl (vsi, signed long long, signed int *); | |
4149 | STVRXL STVRXL_SI | |
4150 | void __builtin_vec_stvrxl (vui, signed long long, vui *); | |
4151 | STVRXL STVRXL_VUI | |
4152 | void __builtin_vec_stvrxl (vui, signed long long, unsigned int *); | |
4153 | STVRXL STVRXL_UI | |
4154 | void __builtin_vec_stvrxl (vf, signed long long, vf *); | |
4155 | STVRXL STVRXL_VF | |
4156 | void __builtin_vec_stvrxl (vf, signed long long, float *); | |
4157 | STVRXL STVRXL_F | |
4158 | ||
7e836079 | 4159 | [VEC_STXVL, vec_xst_len, __builtin_vec_stxvl] |
e2693a72 BS |
4160 | void __builtin_vec_stxvl (vsc, signed char *, unsigned int); |
4161 | STXVL STXVL_VSC | |
4162 | void __builtin_vec_stxvl (vuc, unsigned char *, unsigned int); | |
4163 | STXVL STXVL_VUC | |
4164 | void __builtin_vec_stxvl (vss, signed short *, unsigned int); | |
4165 | STXVL STXVL_VSS | |
4166 | void __builtin_vec_stxvl (vus, unsigned short *, unsigned int); | |
4167 | STXVL STXVL_VUS | |
4168 | void __builtin_vec_stxvl (vsi, signed int *, unsigned int); | |
4169 | STXVL STXVL_VSI | |
4170 | void __builtin_vec_stxvl (vui, unsigned int *, unsigned int); | |
4171 | STXVL STXVL_VUI | |
4172 | void __builtin_vec_stxvl (vsll, signed long long *, unsigned int); | |
4173 | STXVL STXVL_VSLL | |
4174 | void __builtin_vec_stxvl (vull, unsigned long long *, unsigned int); | |
4175 | STXVL STXVL_VULL | |
4176 | void __builtin_vec_stxvl (vsq, signed __int128 *, unsigned int); | |
4177 | STXVL STXVL_VSQ | |
4178 | void __builtin_vec_stxvl (vuq, unsigned __int128 *, unsigned int); | |
4179 | STXVL STXVL_VUQ | |
4180 | void __builtin_vec_stxvl (vf, float *, unsigned int); | |
4181 | STXVL STXVL_VF | |
4182 | void __builtin_vec_stxvl (vd, double *, unsigned int); | |
4183 | STXVL STXVL_VD | |
4184 | ||
4185 | [VEC_SUB, vec_sub, __builtin_vec_sub] | |
4186 | vsc __builtin_vec_sub (vsc, vsc); | |
4187 | VSUBUBM VSUBUBM_VSC | |
4188 | vuc __builtin_vec_sub (vuc, vuc); | |
4189 | VSUBUBM VSUBUBM_VUC | |
4190 | vss __builtin_vec_sub (vss, vss); | |
4191 | VSUBUHM VSUBUHM_VSS | |
4192 | vus __builtin_vec_sub (vus, vus); | |
4193 | VSUBUHM VSUBUHM_VUS | |
4194 | vsi __builtin_vec_sub (vsi, vsi); | |
4195 | VSUBUWM VSUBUWM_VSI | |
4196 | vui __builtin_vec_sub (vui, vui); | |
4197 | VSUBUWM VSUBUWM_VUI | |
4198 | vsll __builtin_vec_sub (vsll, vsll); | |
4199 | VSUBUDM VSUBUDM_VSLL | |
4200 | vull __builtin_vec_sub (vull, vull); | |
4201 | VSUBUDM VSUBUDM_VULL | |
4202 | vsq __builtin_vec_sub (vsq, vsq); | |
4203 | VSUBUQM VSUBUQM_VSQ | |
4204 | vuq __builtin_vec_sub (vuq, vuq); | |
4205 | VSUBUQM VSUBUQM_VUQ | |
4206 | vf __builtin_vec_sub (vf, vf); | |
4207 | VSUBFP | |
4208 | vd __builtin_vec_sub (vd, vd); | |
4209 | XVSUBDP | |
4210 | ; The following variants are deprecated. | |
4211 | vsc __builtin_vec_sub (vsc, vbc); | |
4212 | VSUBUBM VSUBUBM_VSC_VBC | |
4213 | vsc __builtin_vec_sub (vbc, vsc); | |
4214 | VSUBUBM VSUBUBM_VBC_VSC | |
4215 | vuc __builtin_vec_sub (vuc, vbc); | |
4216 | VSUBUBM VSUBUBM_VUC_VBC | |
4217 | vuc __builtin_vec_sub (vbc, vuc); | |
4218 | VSUBUBM VSUBUBM_VBC_VUC | |
4219 | vss __builtin_vec_sub (vss, vbs); | |
4220 | VSUBUHM VSUBUHM_VSS_VBS | |
4221 | vss __builtin_vec_sub (vbs, vss); | |
4222 | VSUBUHM VSUBUHM_VBS_VSS | |
4223 | vus __builtin_vec_sub (vus, vbs); | |
4224 | VSUBUHM VSUBUHM_VUS_VBS | |
4225 | vus __builtin_vec_sub (vbs, vus); | |
4226 | VSUBUHM VSUBUHM_VBS_VUS | |
4227 | vsi __builtin_vec_sub (vsi, vbi); | |
4228 | VSUBUWM VSUBUWM_VSI_VBI | |
4229 | vsi __builtin_vec_sub (vbi, vsi); | |
4230 | VSUBUWM VSUBUWM_VBI_VSI | |
4231 | vui __builtin_vec_sub (vui, vbi); | |
4232 | VSUBUWM VSUBUWM_VUI_VBI | |
4233 | vui __builtin_vec_sub (vbi, vui); | |
4234 | VSUBUWM VSUBUWM_VBI_VUI | |
4235 | vsll __builtin_vec_sub (vsll, vbll); | |
4236 | VSUBUDM VSUBUDM_VSLL_VBLL | |
4237 | vsll __builtin_vec_sub (vbll, vsll); | |
4238 | VSUBUDM VSUBUDM_VBLL_VSLL | |
4239 | vull __builtin_vec_sub (vull, vbll); | |
4240 | VSUBUDM VSUBUDM_VULL_VBLL | |
4241 | vull __builtin_vec_sub (vbll, vull); | |
4242 | VSUBUDM VSUBUDM_VBLL_VULL | |
4243 | ||
4244 | [VEC_SUBC, vec_subc, __builtin_vec_subc] | |
4245 | vsi __builtin_vec_subc (vsi, vsi); | |
4246 | VSUBCUW VSUBCUW_VSI | |
4247 | vui __builtin_vec_subc (vui, vui); | |
4248 | VSUBCUW VSUBCUW_VUI | |
4249 | vsq __builtin_vec_subc (vsq, vsq); | |
4250 | VSUBCUQ VSUBCUQ_VSQ | |
4251 | vuq __builtin_vec_subc (vuq, vuq); | |
4252 | VSUBCUQ VSUBCUQ_VUQ | |
4253 | ||
4254 | ; TODO: Note that the entry for VEC_SUBE currently gets ignored in | |
4255 | ; altivec_resolve_overloaded_builtin. Revisit whether we can remove | |
4256 | ; that. We still need to register the legal builtin forms here. | |
4257 | [VEC_SUBE, vec_sube, __builtin_vec_sube] | |
4258 | vsq __builtin_vec_sube (vsq, vsq, vsq); | |
4259 | VSUBEUQM VSUBEUQM_VSQ | |
4260 | vuq __builtin_vec_sube (vuq, vuq, vuq); | |
4261 | VSUBEUQM VSUBEUQM_VUQ | |
4262 | ||
4263 | ; TODO: Note that the entry for VEC_SUBEC currently gets ignored in | |
4264 | ; altivec_resolve_overloaded_builtin. Revisit whether we can remove | |
4265 | ; that. We still need to register the legal builtin forms here. | |
4266 | [VEC_SUBEC, vec_subec, __builtin_vec_subec] | |
4267 | vsq __builtin_vec_subec (vsq, vsq, vsq); | |
4268 | VSUBECUQ VSUBECUQ_VSQ | |
4269 | vuq __builtin_vec_subec (vuq, vuq, vuq); | |
4270 | VSUBECUQ VSUBECUQ_VUQ | |
4271 | ||
4272 | [VEC_SUBS, vec_subs, __builtin_vec_subs] | |
4273 | vuc __builtin_vec_subs (vuc, vuc); | |
4274 | VSUBUBS | |
4275 | vsc __builtin_vec_subs (vsc, vsc); | |
4276 | VSUBSBS | |
4277 | vus __builtin_vec_subs (vus, vus); | |
4278 | VSUBUHS | |
4279 | vss __builtin_vec_subs (vss, vss); | |
4280 | VSUBSHS | |
4281 | vui __builtin_vec_subs (vui, vui); | |
4282 | VSUBUWS | |
4283 | vsi __builtin_vec_subs (vsi, vsi); | |
4284 | VSUBSWS | |
4285 | ; The following variants are deprecated. | |
4286 | vuc __builtin_vec_subs (vuc, vbc); | |
4287 | VSUBUBS VSUBUBS_UB | |
4288 | vuc __builtin_vec_subs (vbc, vuc); | |
4289 | VSUBUBS VSUBUBS_BU | |
4290 | vsc __builtin_vec_subs (vsc, vbc); | |
4291 | VSUBSBS VSUBSBS_SB | |
4292 | vsc __builtin_vec_subs (vbc, vsc); | |
4293 | VSUBSBS VSUBSBS_BS | |
4294 | vus __builtin_vec_subs (vus, vbs); | |
4295 | VSUBUHS VSUBUHS_UB | |
4296 | vus __builtin_vec_subs (vbs, vus); | |
4297 | VSUBUHS VSUBUHS_BU | |
4298 | vss __builtin_vec_subs (vss, vbs); | |
4299 | VSUBSHS VSUBSHS_SB | |
4300 | vss __builtin_vec_subs (vbs, vss); | |
4301 | VSUBSHS VSUBSHS_BS | |
4302 | vui __builtin_vec_subs (vui, vbi); | |
4303 | VSUBUWS VSUBUWS_UB | |
4304 | vui __builtin_vec_subs (vbi, vui); | |
4305 | VSUBUWS VSUBUWS_BU | |
4306 | vsi __builtin_vec_subs (vsi, vbi); | |
4307 | VSUBSWS VSUBSWS_SB | |
4308 | vsi __builtin_vec_subs (vbi, vsi); | |
4309 | VSUBSWS VSUBSWS_BS | |
4310 | ||
4311 | [VEC_SUM2S, vec_sum2s, __builtin_vec_sum2s] | |
4312 | vsi __builtin_vec_sum2s (vsi, vsi); | |
4313 | VSUM2SWS | |
4314 | ||
4315 | [VEC_SUM4S, vec_sum4s, __builtin_vec_sum4s] | |
4316 | vui __builtin_vec_sum4s (vuc, vui); | |
4317 | VSUM4UBS | |
4318 | vsi __builtin_vec_sum4s (vsc, vsi); | |
4319 | VSUM4SBS | |
4320 | vsi __builtin_vec_sum4s (vss, vsi); | |
4321 | VSUM4SHS | |
4322 | ||
4323 | [VEC_SUMS, vec_sums, __builtin_vec_sums] | |
4324 | vsi __builtin_vec_sums (vsi, vsi); | |
4325 | VSUMSWS | |
4326 | ||
7e836079 | 4327 | [VEC_TERNARYLOGIC, vec_ternarylogic, __builtin_vec_xxeval] |
e2693a72 BS |
4328 | vuc __builtin_vec_xxeval (vuc, vuc, vuc, const int); |
4329 | XXEVAL XXEVAL_VUC | |
4330 | vus __builtin_vec_xxeval (vus, vus, vus, const int); | |
4331 | XXEVAL XXEVAL_VUS | |
4332 | vui __builtin_vec_xxeval (vui, vui, vui, const int); | |
4333 | XXEVAL XXEVAL_VUI | |
4334 | vull __builtin_vec_xxeval (vull, vull, vull, const int); | |
4335 | XXEVAL XXEVAL_VULL | |
4336 | vuq __builtin_vec_xxeval (vuq, vuq, vuq, const int); | |
4337 | XXEVAL XXEVAL_VUQ | |
4338 | ||
7e836079 | 4339 | [VEC_TEST_LSBB_ALL_ONES, vec_test_lsbb_all_ones, __builtin_vec_xvtlsbb_all_ones] |
e2693a72 BS |
4340 | signed int __builtin_vec_xvtlsbb_all_ones (vuc); |
4341 | XVTLSBB_ONES | |
4342 | ||
7e836079 | 4343 | [VEC_TEST_LSBB_ALL_ZEROS, vec_test_lsbb_all_zeros, __builtin_vec_xvtlsbb_all_zeros] |
e2693a72 BS |
4344 | signed int __builtin_vec_xvtlsbb_all_zeros (vuc); |
4345 | XVTLSBB_ZEROS | |
4346 | ||
4347 | [VEC_TRUNC, vec_trunc, __builtin_vec_trunc] | |
4348 | vf __builtin_vec_trunc (vf); | |
4349 | VRFIZ | |
4350 | vd __builtin_vec_trunc (vd); | |
4351 | XVRDPIZ | |
4352 | ||
4353 | [VEC_TSTSFI_GT, SKIP, __builtin_dfp_dtstsfi_gt] | |
4354 | signed int __builtin_dfp_dtstsfi_gt (const int, _Decimal64); | |
4355 | TSTSFI_GT_DD | |
4356 | signed int __builtin_dfp_dtstsfi_gt (const int, _Decimal128); | |
4357 | TSTSFI_GT_TD | |
4358 | ||
4359 | [VEC_TSTSFI_EQ, SKIP, __builtin_dfp_dtstsfi_eq] | |
4360 | signed int __builtin_dfp_dtstsfi_eq (const int, _Decimal64); | |
4361 | TSTSFI_EQ_DD | |
4362 | signed int __builtin_dfp_dtstsfi_eq (const int, _Decimal128); | |
4363 | TSTSFI_EQ_TD | |
4364 | ||
4365 | [VEC_TSTSFI_LT, SKIP, __builtin_dfp_dtstsfi_lt] | |
4366 | signed int __builtin_dfp_dtstsfi_lt (const int, _Decimal64); | |
4367 | TSTSFI_LT_DD | |
4368 | signed int __builtin_dfp_dtstsfi_lt (const int, _Decimal128); | |
4369 | TSTSFI_LT_TD | |
4370 | ||
4371 | [VEC_TSTSFI_OV, SKIP, __builtin_dfp_dtstsfi_ov] | |
4372 | signed int __builtin_dfp_dtstsfi_ov (const int, _Decimal64); | |
4373 | TSTSFI_OV_DD | |
4374 | signed int __builtin_dfp_dtstsfi_ov (const int, _Decimal128); | |
4375 | TSTSFI_OV_TD | |
4376 | ||
4377 | [VEC_UNPACKH, vec_unpackh, __builtin_vec_unpackh] | |
4378 | vss __builtin_vec_unpackh (vsc); | |
4379 | VUPKHSB VUPKHSB_VSC | |
4380 | vbs __builtin_vec_unpackh (vbc); | |
4381 | VUPKHSB VUPKHSB_VBC | |
4382 | vsi __builtin_vec_unpackh (vss); | |
4383 | VUPKHSH VUPKHSH_VSS | |
4384 | vbi __builtin_vec_unpackh (vbs); | |
4385 | VUPKHSH VUPKHSH_VBS | |
4386 | vui __builtin_vec_unpackh (vp); | |
4387 | VUPKHPX | |
4388 | vsll __builtin_vec_unpackh (vsi); | |
4389 | VUPKHSW VUPKHSW_VSI | |
4390 | vbll __builtin_vec_unpackh (vbi); | |
4391 | VUPKHSW VUPKHSW_VBI | |
4392 | vd __builtin_vec_unpackh (vf); | |
4393 | DOUBLEH_V4SF VUPKHF | |
4394 | ||
4395 | [VEC_UNPACKL, vec_unpackl, __builtin_vec_unpackl] | |
4396 | vss __builtin_vec_unpackl (vsc); | |
4397 | VUPKLSB VUPKLSB_VSC | |
4398 | vbs __builtin_vec_unpackl (vbc); | |
4399 | VUPKLSB VUPKLSB_VBC | |
4400 | vsi __builtin_vec_unpackl (vss); | |
4401 | VUPKLSH VUPKLSH_VSS | |
4402 | vbi __builtin_vec_unpackl (vbs); | |
4403 | VUPKLSH VUPKLSH_VBS | |
4404 | vui __builtin_vec_unpackl (vp); | |
4405 | VUPKLPX | |
4406 | vsll __builtin_vec_unpackl (vsi); | |
4407 | VUPKLSW VUPKLSW_VSI | |
4408 | vbll __builtin_vec_unpackl (vbi); | |
4409 | VUPKLSW VUPKLSW_VBI | |
4410 | vd __builtin_vec_unpackl (vf); | |
4411 | DOUBLEL_V4SF VUPKLF | |
4412 | ||
4413 | [VEC_UNSIGNED, vec_unsigned, __builtin_vec_vunsigned] | |
4414 | vui __builtin_vec_vunsigned (vf); | |
4415 | VEC_VUNSIGNED_V4SF | |
4416 | vull __builtin_vec_vunsigned (vd); | |
4417 | VEC_VUNSIGNED_V2DF | |
4418 | ||
4419 | [VEC_UNSIGNED2, vec_unsigned2, __builtin_vec_vunsigned2] | |
4420 | vui __builtin_vec_vunsigned2 (vd, vd); | |
4421 | VEC_VUNSIGNED2_V2DF | |
4422 | ||
4423 | [VEC_UNSIGNEDE, vec_unsignede, __builtin_vec_vunsignede] | |
4424 | vui __builtin_vec_vunsignede (vd); | |
4425 | VEC_VUNSIGNEDE_V2DF | |
4426 | ||
4427 | [VEC_UNSIGNEDO, vec_unsignedo, __builtin_vec_vunsignedo] | |
4428 | vui __builtin_vec_vunsignedo (vd); | |
4429 | VEC_VUNSIGNEDO_V2DF | |
4430 | ||
7e836079 | 4431 | [VEC_VEE, vec_extract_exp, __builtin_vec_extract_exp] |
e2693a72 BS |
4432 | vui __builtin_vec_extract_exp (vf); |
4433 | VEESP | |
4434 | vull __builtin_vec_extract_exp (vd); | |
4435 | VEEDP | |
4436 | ||
7e836079 | 4437 | [VEC_VES, vec_extract_sig, __builtin_vec_extract_sig] |
e2693a72 BS |
4438 | vui __builtin_vec_extract_sig (vf); |
4439 | VESSP | |
4440 | vull __builtin_vec_extract_sig (vd); | |
4441 | VESDP | |
4442 | ||
7e836079 | 4443 | [VEC_VIE, vec_insert_exp, __builtin_vec_insert_exp] |
e2693a72 BS |
4444 | vf __builtin_vec_insert_exp (vf, vui); |
4445 | VIESP VIESP_VF | |
4446 | vf __builtin_vec_insert_exp (vui, vui); | |
4447 | VIESP VIESP_VUI | |
4448 | vd __builtin_vec_insert_exp (vd, vull); | |
4449 | VIEDP VIEDP_VD | |
4450 | vd __builtin_vec_insert_exp (vull, vull); | |
4451 | VIEDP VIEDP_VULL | |
4452 | ||
4453 | ; It is truly unfortunate that vec_vprtyb has an incompatible set of | |
4454 | ; interfaces with vec_parity_lsbb. So we can't even deprecate this. | |
7e836079 | 4455 | [VEC_VPRTYB, vec_vprtyb, __builtin_vec_vprtyb] |
e2693a72 BS |
4456 | vsi __builtin_vec_vprtyb (vsi); |
4457 | VPRTYBW VPRTYB_VSI | |
4458 | vui __builtin_vec_vprtyb (vui); | |
4459 | VPRTYBW VPRTYB_VUI | |
4460 | vsll __builtin_vec_vprtyb (vsll); | |
4461 | VPRTYBD VPRTYB_VSLL | |
4462 | vull __builtin_vec_vprtyb (vull); | |
4463 | VPRTYBD VPRTYB_VULL | |
4464 | vsq __builtin_vec_vprtyb (vsq); | |
4465 | VPRTYBQ VPRTYB_VSQ | |
4466 | vuq __builtin_vec_vprtyb (vuq); | |
4467 | VPRTYBQ VPRTYB_VUQ | |
4468 | signed __int128 __builtin_vec_vprtyb (signed __int128); | |
4469 | VPRTYBQ VPRTYB_SQ | |
4470 | unsigned __int128 __builtin_vec_vprtyb (unsigned __int128); | |
4471 | VPRTYBQ VPRTYB_UQ | |
4472 | ||
7e836079 | 4473 | [VEC_VSCEEQ, scalar_cmp_exp_eq, __builtin_vec_scalar_cmp_exp_eq] |
e2693a72 BS |
4474 | signed int __builtin_vec_scalar_cmp_exp_eq (double, double); |
4475 | VSCEDPEQ | |
4476 | signed int __builtin_vec_scalar_cmp_exp_eq (_Float128, _Float128); | |
4477 | VSCEQPEQ | |
4478 | ||
7e836079 | 4479 | [VEC_VSCEGT, scalar_cmp_exp_gt, __builtin_vec_scalar_cmp_exp_gt] |
e2693a72 BS |
4480 | signed int __builtin_vec_scalar_cmp_exp_gt (double, double); |
4481 | VSCEDPGT | |
4482 | signed int __builtin_vec_scalar_cmp_exp_gt (_Float128, _Float128); | |
4483 | VSCEQPGT | |
4484 | ||
7e836079 | 4485 | [VEC_VSCELT, scalar_cmp_exp_lt, __builtin_vec_scalar_cmp_exp_lt] |
e2693a72 BS |
4486 | signed int __builtin_vec_scalar_cmp_exp_lt (double, double); |
4487 | VSCEDPLT | |
4488 | signed int __builtin_vec_scalar_cmp_exp_lt (_Float128, _Float128); | |
4489 | VSCEQPLT | |
4490 | ||
7e836079 | 4491 | [VEC_VSCEUO, scalar_cmp_exp_unordered, __builtin_vec_scalar_cmp_exp_unordered] |
e2693a72 BS |
4492 | signed int __builtin_vec_scalar_cmp_exp_unordered (double, double); |
4493 | VSCEDPUO | |
4494 | signed int __builtin_vec_scalar_cmp_exp_unordered (_Float128, _Float128); | |
4495 | VSCEQPUO | |
4496 | ||
7e836079 | 4497 | [VEC_VSEE, scalar_extract_exp, __builtin_vec_scalar_extract_exp] |
e2693a72 BS |
4498 | unsigned int __builtin_vec_scalar_extract_exp (double); |
4499 | VSEEDP | |
4500 | unsigned int __builtin_vec_scalar_extract_exp (_Float128); | |
4501 | VSEEQP | |
4502 | ||
7e836079 | 4503 | [VEC_VSES, scalar_extract_sig, __builtin_vec_scalar_extract_sig] |
e2693a72 BS |
4504 | unsigned long long __builtin_vec_scalar_extract_sig (double); |
4505 | VSESDP | |
4506 | unsigned __int128 __builtin_vec_scalar_extract_sig (_Float128); | |
4507 | VSESQP | |
4508 | ||
7e836079 | 4509 | [VEC_VSIE, scalar_insert_exp, __builtin_vec_scalar_insert_exp] |
e2693a72 BS |
4510 | double __builtin_vec_scalar_insert_exp (unsigned long long, unsigned long long); |
4511 | VSIEDP | |
4512 | double __builtin_vec_scalar_insert_exp (double, unsigned long long); | |
4513 | VSIEDPF | |
4514 | _Float128 __builtin_vec_scalar_insert_exp (unsigned __int128, unsigned long long); | |
4515 | VSIEQP | |
4516 | _Float128 __builtin_vec_scalar_insert_exp (_Float128, unsigned long long); | |
4517 | VSIEQPF | |
86df278d CL |
4518 | _Float128 __builtin_vec_scalar_insert_exp (vuq, vull); |
4519 | VSIEQPV | |
4520 | ||
4521 | [VEC_VSEEV, scalar_extract_exp_to_vec, \ | |
4522 | __builtin_vec_scalar_extract_exp_to_vector] | |
4523 | vull __builtin_vec_scalar_extract_exp_to_vector (_Float128); | |
4524 | VSEEQPV | |
4525 | ||
4526 | [VEC_VSESV, scalar_extract_sig_to_vec, \ | |
4527 | __builtin_vec_scalar_extract_sig_to_vector] | |
4528 | vuq __builtin_vec_scalar_extract_sig_to_vector (_Float128); | |
4529 | VSESQPV | |
e2693a72 | 4530 | |
7e836079 | 4531 | [VEC_VSTDC, scalar_test_data_class, __builtin_vec_scalar_test_data_class] |
e2693a72 BS |
4532 | unsigned int __builtin_vec_scalar_test_data_class (float, const int); |
4533 | VSTDCSP | |
4534 | unsigned int __builtin_vec_scalar_test_data_class (double, const int); | |
4535 | VSTDCDP | |
4536 | unsigned int __builtin_vec_scalar_test_data_class (_Float128, const int); | |
4537 | VSTDCQP | |
4538 | ||
7e836079 | 4539 | [VEC_VSTDCN, scalar_test_neg, __builtin_vec_scalar_test_neg] |
e2693a72 BS |
4540 | unsigned int __builtin_vec_scalar_test_neg (float); |
4541 | VSTDCNSP | |
4542 | unsigned int __builtin_vec_scalar_test_neg (double); | |
4543 | VSTDCNDP | |
4544 | unsigned int __builtin_vec_scalar_test_neg (_Float128); | |
4545 | VSTDCNQP | |
4546 | ||
7e836079 | 4547 | [VEC_VTDC, vec_test_data_class, __builtin_vec_test_data_class] |
e2693a72 BS |
4548 | vbi __builtin_vec_test_data_class (vf, const int); |
4549 | VTDCSP | |
4550 | vbll __builtin_vec_test_data_class (vd, const int); | |
4551 | VTDCDP | |
4552 | ||
7e836079 | 4553 | [VEC_XL, vec_xl, __builtin_vec_vsx_ld] |
e2693a72 BS |
4554 | vsc __builtin_vec_vsx_ld (signed long long, const vsc *); |
4555 | LXVW4X_V16QI LXVW4X_VSC | |
4556 | vsc __builtin_vec_vsx_ld (signed long long, const signed char *); | |
4557 | LXVW4X_V16QI LXVW4X_SC | |
4558 | vuc __builtin_vec_vsx_ld (signed long long, const vuc *); | |
4559 | LXVW4X_V16QI LXVW4X_VUC | |
4560 | vuc __builtin_vec_vsx_ld (signed long long, const unsigned char *); | |
4561 | LXVW4X_V16QI LXVW4X_UC | |
4562 | vbc __builtin_vec_vsx_ld (signed long long, const vbc *); | |
4563 | LXVW4X_V16QI LXVW4X_VBC | |
4564 | vss __builtin_vec_vsx_ld (signed long long, const vss *); | |
4565 | LXVW4X_V8HI LXVW4X_VSS | |
4566 | vss __builtin_vec_vsx_ld (signed long long, const signed short *); | |
4567 | LXVW4X_V8HI LXVW4X_SS | |
4568 | vus __builtin_vec_vsx_ld (signed long long, const vus *); | |
4569 | LXVW4X_V8HI LXVW4X_VUS | |
4570 | vus __builtin_vec_vsx_ld (signed long long, const unsigned short *); | |
4571 | LXVW4X_V8HI LXVW4X_US | |
4572 | vbs __builtin_vec_vsx_ld (signed long long, const vbs *); | |
4573 | LXVW4X_V8HI LXVW4X_VBS | |
4574 | vp __builtin_vec_vsx_ld (signed long long, const vp *); | |
4575 | LXVW4X_V8HI LXVW4X_P | |
4576 | vsi __builtin_vec_vsx_ld (signed long long, const vsi *); | |
4577 | LXVW4X_V4SI LXVW4X_VSI | |
4578 | vsi __builtin_vec_vsx_ld (signed long long, const signed int *); | |
4579 | LXVW4X_V4SI LXVW4X_SI | |
4580 | vui __builtin_vec_vsx_ld (signed long long, const vui *); | |
4581 | LXVW4X_V4SI LXVW4X_VUI | |
4582 | vui __builtin_vec_vsx_ld (signed long long, const unsigned int *); | |
4583 | LXVW4X_V4SI LXVW4X_UI | |
4584 | vbi __builtin_vec_vsx_ld (signed long long, const vbi *); | |
4585 | LXVW4X_V4SI LXVW4X_VBI | |
4586 | vsll __builtin_vec_vsx_ld (signed long long, const vsll *); | |
4587 | LXVD2X_V2DI LXVD2X_VSLL | |
4588 | vsll __builtin_vec_vsx_ld (signed long long, const signed long long *); | |
4589 | LXVD2X_V2DI LXVD2X_SLL | |
4590 | vull __builtin_vec_vsx_ld (signed long long, const vull *); | |
4591 | LXVD2X_V2DI LXVD2X_VULL | |
4592 | vull __builtin_vec_vsx_ld (signed long long, const unsigned long long *); | |
4593 | LXVD2X_V2DI LXVD2X_ULL | |
4594 | vbll __builtin_vec_vsx_ld (signed long long, const vbll *); | |
4595 | LXVD2X_V2DI LXVD2X_VBLL | |
4596 | vsq __builtin_vec_vsx_ld (signed long long, const vsq *); | |
4597 | LXVD2X_V1TI LXVD2X_VSQ | |
4598 | vsq __builtin_vec_vsx_ld (signed long long, const signed __int128 *); | |
4599 | LXVD2X_V1TI LXVD2X_SQ | |
4600 | vuq __builtin_vec_vsx_ld (signed long long, const unsigned __int128 *); | |
4601 | LXVD2X_V1TI LXVD2X_UQ | |
4602 | vf __builtin_vec_vsx_ld (signed long long, const vf *); | |
4603 | LXVW4X_V4SF LXVW4X_VF | |
4604 | vf __builtin_vec_vsx_ld (signed long long, const float *); | |
4605 | LXVW4X_V4SF LXVW4X_F | |
4606 | vd __builtin_vec_vsx_ld (signed long long, const vd *); | |
4607 | LXVD2X_V2DF LXVD2X_VD | |
4608 | vd __builtin_vec_vsx_ld (signed long long, const double *); | |
4609 | LXVD2X_V2DF LXVD2X_D | |
4610 | ||
7e836079 | 4611 | [VEC_XL_BE, vec_xl_be, __builtin_vec_xl_be] |
e2693a72 BS |
4612 | vsc __builtin_vec_xl_be (signed long long, const vsc *); |
4613 | LD_ELEMREV_V16QI LD_ELEMREV_VSC | |
4614 | vsc __builtin_vec_xl_be (signed long long, const signed char *); | |
4615 | LD_ELEMREV_V16QI LD_ELEMREV_SC | |
4616 | vuc __builtin_vec_xl_be (signed long long, const vuc *); | |
4617 | LD_ELEMREV_V16QI LD_ELEMREV_VUC | |
4618 | vuc __builtin_vec_xl_be (signed long long, const unsigned char *); | |
4619 | LD_ELEMREV_V16QI LD_ELEMREV_UC | |
4620 | vss __builtin_vec_xl_be (signed long long, const vss *); | |
4621 | LD_ELEMREV_V8HI LD_ELEMREV_VSS | |
4622 | vss __builtin_vec_xl_be (signed long long, const signed short *); | |
4623 | LD_ELEMREV_V8HI LD_ELEMREV_SS | |
4624 | vus __builtin_vec_xl_be (signed long long, const vus *); | |
4625 | LD_ELEMREV_V8HI LD_ELEMREV_VUS | |
4626 | vus __builtin_vec_xl_be (signed long long, const unsigned short *); | |
4627 | LD_ELEMREV_V8HI LD_ELEMREV_US | |
4628 | vsi __builtin_vec_xl_be (signed long long, const vsi *); | |
4629 | LD_ELEMREV_V4SI LD_ELEMREV_VSI | |
4630 | vsi __builtin_vec_xl_be (signed long long, const signed int *); | |
4631 | LD_ELEMREV_V4SI LD_ELEMREV_SI | |
4632 | vui __builtin_vec_xl_be (signed long long, const vui *); | |
4633 | LD_ELEMREV_V4SI LD_ELEMREV_VUI | |
4634 | vui __builtin_vec_xl_be (signed long long, const unsigned int *); | |
4635 | LD_ELEMREV_V4SI LD_ELEMREV_UI | |
4636 | vsll __builtin_vec_xl_be (signed long long, const vsll *); | |
4637 | LD_ELEMREV_V2DI LD_ELEMREV_VSLL | |
4638 | vsll __builtin_vec_xl_be (signed long long, const signed long long *); | |
4639 | LD_ELEMREV_V2DI LD_ELEMREV_SLL | |
4640 | vull __builtin_vec_xl_be (signed long long, const vull *); | |
4641 | LD_ELEMREV_V2DI LD_ELEMREV_VULL | |
4642 | vull __builtin_vec_xl_be (signed long long, const unsigned long long *); | |
4643 | LD_ELEMREV_V2DI LD_ELEMREV_ULL | |
4644 | vsq __builtin_vec_xl_be (signed long long, const signed __int128 *); | |
4645 | LD_ELEMREV_V1TI LD_ELEMREV_SQ | |
4646 | vuq __builtin_vec_xl_be (signed long long, const unsigned __int128 *); | |
4647 | LD_ELEMREV_V1TI LD_ELEMREV_UQ | |
4648 | vf __builtin_vec_xl_be (signed long long, const vf *); | |
4649 | LD_ELEMREV_V4SF LD_ELEMREV_VF | |
4650 | vf __builtin_vec_xl_be (signed long long, const float *); | |
4651 | LD_ELEMREV_V4SF LD_ELEMREV_F | |
4652 | vd __builtin_vec_xl_be (signed long long, const vd *); | |
4653 | LD_ELEMREV_V2DF LD_ELEMREV_VD | |
4654 | vd __builtin_vec_xl_be (signed long long, const double *); | |
4655 | LD_ELEMREV_V2DF LD_ELEMREV_DD | |
4656 | ||
7e836079 | 4657 | [VEC_XL_LEN_R, vec_xl_len_r, __builtin_vec_xl_len_r] |
e2693a72 BS |
4658 | vuc __builtin_vsx_xl_len_r (const unsigned char *, unsigned int); |
4659 | XL_LEN_R | |
4660 | ||
7e836079 | 4661 | [VEC_XL_SEXT, vec_xl_sext, __builtin_vec_xl_sext] |
e2693a72 BS |
4662 | vsq __builtin_vec_xl_sext (signed long long, const signed char *); |
4663 | SE_LXVRBX | |
4664 | vsq __builtin_vec_xl_sext (signed long long, const signed short *); | |
4665 | SE_LXVRHX | |
4666 | vsq __builtin_vec_xl_sext (signed long long, const signed int *); | |
4667 | SE_LXVRWX | |
4668 | vsq __builtin_vec_xl_sext (signed long long, const signed long long *); | |
4669 | SE_LXVRDX | |
4670 | ||
7e836079 | 4671 | [VEC_XL_ZEXT, vec_xl_zext, __builtin_vec_xl_zext] |
e2693a72 BS |
4672 | vuq __builtin_vec_xl_zext (signed long long, const unsigned char *); |
4673 | ZE_LXVRBX | |
4674 | vuq __builtin_vec_xl_zext (signed long long, const unsigned short *); | |
4675 | ZE_LXVRHX | |
4676 | vuq __builtin_vec_xl_zext (signed long long, const unsigned int *); | |
4677 | ZE_LXVRWX | |
4678 | vuq __builtin_vec_xl_zext (signed long long, const unsigned long long *); | |
4679 | ZE_LXVRDX | |
4680 | ||
4681 | [VEC_XOR, vec_xor, __builtin_vec_xor] | |
4682 | vsc __builtin_vec_xor (vsc, vsc); | |
4683 | VXOR_V16QI | |
4684 | vuc __builtin_vec_xor (vuc, vuc); | |
4685 | VXOR_V16QI_UNS VXOR_VUC | |
4686 | vbc __builtin_vec_xor (vbc, vbc); | |
4687 | VXOR_V16QI_UNS VXOR_VBC | |
4688 | vss __builtin_vec_xor (vss, vss); | |
4689 | VXOR_V8HI | |
4690 | vus __builtin_vec_xor (vus, vus); | |
4691 | VXOR_V8HI_UNS VXOR_VUS | |
4692 | vbs __builtin_vec_xor (vbs, vbs); | |
4693 | VXOR_V8HI_UNS VXOR_VBS | |
4694 | vsi __builtin_vec_xor (vsi, vsi); | |
4695 | VXOR_V4SI | |
4696 | vui __builtin_vec_xor (vui, vui); | |
4697 | VXOR_V4SI_UNS VXOR_VUI | |
4698 | vbi __builtin_vec_xor (vbi, vbi); | |
4699 | VXOR_V4SI_UNS VXOR_VBI | |
4700 | vsll __builtin_vec_xor (vsll, vsll); | |
4701 | VXOR_V2DI | |
4702 | vull __builtin_vec_xor (vull, vull); | |
4703 | VXOR_V2DI_UNS VXOR_VULL | |
4704 | vbll __builtin_vec_xor (vbll, vbll); | |
4705 | VXOR_V2DI_UNS VXOR_VBLL | |
4706 | vf __builtin_vec_xor (vf, vf); | |
4707 | VXOR_V4SF | |
4708 | vd __builtin_vec_xor (vd, vd); | |
4709 | VXOR_V2DF | |
4710 | ; The following variants are deprecated. | |
4711 | vsc __builtin_vec_xor (vsc, vbc); | |
4712 | VXOR_V16QI VXOR_VSC_VBC | |
4713 | vsc __builtin_vec_xor (vbc, vsc); | |
4714 | VXOR_V16QI VXOR_VBC_VSC | |
4715 | vsc __builtin_vec_xor (vsc, vuc); | |
4716 | VXOR_V16QI VXOR_VSC_VUC | |
4717 | vuc __builtin_vec_xor (vuc, vbc); | |
4718 | VXOR_V16QI_UNS VXOR_VUC_VBC | |
4719 | vuc __builtin_vec_xor (vbc, vuc); | |
4720 | VXOR_V16QI_UNS VXOR_VBC_VUC | |
4721 | vuc __builtin_vec_xor (vuc, vsc); | |
4722 | VXOR_V16QI_UNS VXOR_VUC_VSC | |
4723 | vss __builtin_vec_xor (vss, vbs); | |
4724 | VXOR_V8HI VXOR_VSS_VBS | |
4725 | vss __builtin_vec_xor (vbs, vss); | |
4726 | VXOR_V8HI VXOR_VBS_VSS | |
4727 | vus __builtin_vec_xor (vus, vbs); | |
4728 | VXOR_V8HI_UNS VXOR_VUS_VBS | |
4729 | vus __builtin_vec_xor (vbs, vus); | |
4730 | VXOR_V8HI_UNS VXOR_VBS_VUS | |
4731 | vsi __builtin_vec_xor (vsi, vbi); | |
4732 | VXOR_V4SI VXOR_VSI_VBI | |
4733 | vsi __builtin_vec_xor (vbi, vsi); | |
4734 | VXOR_V4SI VXOR_VBI_VSI | |
4735 | vui __builtin_vec_xor (vui, vbi); | |
4736 | VXOR_V4SI_UNS VXOR_VUI_VBI | |
4737 | vui __builtin_vec_xor (vbi, vui); | |
4738 | VXOR_V4SI_UNS VXOR_VBI_VUI | |
4739 | vsll __builtin_vec_xor (vsll, vbll); | |
4740 | VXOR_V2DI VXOR_VSLL_VBLL | |
4741 | vsll __builtin_vec_xor (vbll, vsll); | |
4742 | VXOR_V2DI VXOR_VBLL_VSLL | |
4743 | vull __builtin_vec_xor (vull, vbll); | |
4744 | VXOR_V2DI_UNS VXOR_VULL_VBLL | |
4745 | vull __builtin_vec_xor (vbll, vull); | |
4746 | VXOR_V2DI_UNS VXOR_VBLL_VULL | |
4747 | vf __builtin_vec_xor (vf, vbi); | |
4748 | VXOR_V4SF VXOR_VF_VBI | |
4749 | vf __builtin_vec_xor (vbi, vf); | |
4750 | VXOR_V4SF VXOR_VBI_VF | |
4751 | vd __builtin_vec_xor (vd, vbll); | |
4752 | VXOR_V2DF VXOR_VD_VBLL | |
4753 | vd __builtin_vec_xor (vbll, vd); | |
4754 | VXOR_V2DF VXOR_VBLL_VD | |
4755 | ||
7e836079 | 4756 | [VEC_XST, vec_xst, __builtin_vec_vsx_st] |
e2693a72 BS |
4757 | void __builtin_vec_vsx_st (vsc, signed long long, vsc *); |
4758 | STXVW4X_V16QI STXVW4X_VSC | |
4759 | void __builtin_vec_vsx_st (vsc, signed long long, signed char *); | |
4760 | STXVW4X_V16QI STXVW4X_SC | |
4761 | void __builtin_vec_vsx_st (vuc, signed long long, vuc *); | |
4762 | STXVW4X_V16QI STXVW4X_VUC | |
4763 | void __builtin_vec_vsx_st (vuc, signed long long, unsigned char *); | |
4764 | STXVW4X_V16QI STXVW4X_UC | |
4765 | void __builtin_vec_vsx_st (vbc, signed long long, vbc *); | |
4766 | STXVW4X_V16QI STXVW4X_VBC | |
4767 | void __builtin_vec_vsx_st (vbc, signed long long, signed char *); | |
4768 | STXVW4X_V16QI STXVW4X_VBC_S | |
4769 | void __builtin_vec_vsx_st (vbc, signed long long, unsigned char *); | |
4770 | STXVW4X_V16QI STXVW4X_VBC_U | |
4771 | void __builtin_vec_vsx_st (vss, signed long long, vss *); | |
4772 | STXVW4X_V8HI STXVW4X_VSS | |
4773 | void __builtin_vec_vsx_st (vss, signed long long, signed short *); | |
4774 | STXVW4X_V8HI STXVW4X_SS | |
4775 | void __builtin_vec_vsx_st (vus, signed long long, vus *); | |
4776 | STXVW4X_V8HI STXVW4X_VUS | |
4777 | void __builtin_vec_vsx_st (vus, signed long long, unsigned short *); | |
4778 | STXVW4X_V8HI STXVW4X_US | |
4779 | void __builtin_vec_vsx_st (vbs, signed long long, vbs *); | |
4780 | STXVW4X_V8HI STXVW4X_VBS | |
4781 | void __builtin_vec_vsx_st (vbs, signed long long, signed short *); | |
4782 | STXVW4X_V8HI STXVW4X_VBS_S | |
4783 | void __builtin_vec_vsx_st (vbs, signed long long, unsigned short *); | |
4784 | STXVW4X_V8HI STXVW4X_VBS_U | |
4785 | void __builtin_vec_vsx_st (vp, signed long long, vp *); | |
4786 | STXVW4X_V8HI STXVW4X_VP | |
4787 | void __builtin_vec_vsx_st (vsi, signed long long, vsi *); | |
4788 | STXVW4X_V4SI STXVW4X_VSI | |
4789 | void __builtin_vec_vsx_st (vsi, signed long long, signed int *); | |
4790 | STXVW4X_V4SI STXVW4X_SI | |
4791 | void __builtin_vec_vsx_st (vui, signed long long, vui *); | |
4792 | STXVW4X_V4SI STXVW4X_VUI | |
4793 | void __builtin_vec_vsx_st (vui, signed long long, unsigned int *); | |
4794 | STXVW4X_V4SI STXVW4X_UI | |
4795 | void __builtin_vec_vsx_st (vbi, signed long long, vbi *); | |
4796 | STXVW4X_V4SI STXVW4X_VBI | |
4797 | void __builtin_vec_vsx_st (vbi, signed long long, signed int *); | |
4798 | STXVW4X_V4SI STXVW4X_VBI_S | |
4799 | void __builtin_vec_vsx_st (vbi, signed long long, unsigned int *); | |
4800 | STXVW4X_V4SI STXVW4X_VBI_U | |
4801 | void __builtin_vec_vsx_st (vsll, signed long long, vsll *); | |
4802 | STXVD2X_V2DI STXVD2X_VSLL | |
4803 | void __builtin_vec_vsx_st (vsll, signed long long, signed long long *); | |
4804 | STXVD2X_V2DI STXVD2X_SLL | |
4805 | void __builtin_vec_vsx_st (vull, signed long long, vull *); | |
4806 | STXVD2X_V2DI STXVD2X_VULL | |
4807 | void __builtin_vec_vsx_st (vull, signed long long, unsigned long long *); | |
4808 | STXVD2X_V2DI STXVD2X_ULL | |
4809 | void __builtin_vec_vsx_st (vbll, signed long long, vbll *); | |
4810 | STXVD2X_V2DI STXVD2X_VBLL | |
4811 | void __builtin_vec_vsx_st (vsq, signed long long, signed __int128 *); | |
4812 | STXVD2X_V1TI STXVD2X_SQ | |
4813 | void __builtin_vec_vsx_st (vuq, signed long long, unsigned __int128 *); | |
4814 | STXVD2X_V1TI STXVD2X_UQ | |
4815 | void __builtin_vec_vsx_st (vf, signed long long, vf *); | |
4816 | STXVW4X_V4SF STXVW4X_VF | |
4817 | void __builtin_vec_vsx_st (vf, signed long long, float *); | |
4818 | STXVW4X_V4SF STXVW4X_F | |
4819 | void __builtin_vec_vsx_st (vd, signed long long, vd *); | |
4820 | STXVD2X_V2DF STXVD2X_VD | |
4821 | void __builtin_vec_vsx_st (vd, signed long long, double *); | |
4822 | STXVD2X_V2DF STXVD2X_D | |
4823 | ||
7e836079 | 4824 | [VEC_XST_BE, vec_xst_be, __builtin_vec_xst_be] |
e2693a72 BS |
4825 | void __builtin_vec_xst_be (vsc, signed long long, vsc *); |
4826 | ST_ELEMREV_V16QI ST_ELEMREV_VSC | |
4827 | void __builtin_vec_xst_be (vsc, signed long long, signed char *); | |
4828 | ST_ELEMREV_V16QI ST_ELEMREV_SC_ | |
4829 | void __builtin_vec_xst_be (vuc, signed long long, vuc *); | |
4830 | ST_ELEMREV_V16QI ST_ELEMREV_VUC | |
4831 | void __builtin_vec_xst_be (vuc, signed long long, unsigned char *); | |
4832 | ST_ELEMREV_V16QI ST_ELEMREV_UC | |
4833 | void __builtin_vec_xst_be (vss, signed long long, vss *); | |
4834 | ST_ELEMREV_V8HI ST_ELEMREV_VSS | |
4835 | void __builtin_vec_xst_be (vss, signed long long, signed short *); | |
4836 | ST_ELEMREV_V8HI ST_ELEMREV_SS | |
4837 | void __builtin_vec_xst_be (vus, signed long long, vus *); | |
4838 | ST_ELEMREV_V8HI ST_ELEMREV_VUS | |
4839 | void __builtin_vec_xst_be (vus, signed long long, unsigned short *); | |
4840 | ST_ELEMREV_V8HI ST_ELEMREV_US | |
4841 | void __builtin_vec_xst_be (vsi, signed long long, vsi *); | |
4842 | ST_ELEMREV_V4SI ST_ELEMREV_VSI | |
4843 | void __builtin_vec_xst_be (vsi, signed long long, signed int *); | |
4844 | ST_ELEMREV_V4SI ST_ELEMREV_SI | |
4845 | void __builtin_vec_xst_be (vui, signed long long, vui *); | |
4846 | ST_ELEMREV_V4SI ST_ELEMREV_VUI | |
4847 | void __builtin_vec_xst_be (vui, signed long long, unsigned int *); | |
4848 | ST_ELEMREV_V4SI ST_ELEMREV_UI | |
4849 | void __builtin_vec_xst_be (vsll, signed long long, vsll *); | |
4850 | ST_ELEMREV_V2DI ST_ELEMREV_VSLL | |
4851 | void __builtin_vec_xst_be (vsll, signed long long, signed long long *); | |
4852 | ST_ELEMREV_V2DI ST_ELEMREV_SLL | |
4853 | void __builtin_vec_xst_be (vull, signed long long, vull *); | |
4854 | ST_ELEMREV_V2DI ST_ELEMREV_VULL | |
4855 | void __builtin_vec_xst_be (vull, signed long long, unsigned long long *); | |
4856 | ST_ELEMREV_V2DI ST_ELEMREV_ULL | |
4857 | void __builtin_vec_xst_be (vsq, signed long long, signed __int128 *); | |
4858 | ST_ELEMREV_V1TI ST_ELEMREV_SQ | |
4859 | void __builtin_vec_xst_be (vuq, signed long long, unsigned __int128 *); | |
4860 | ST_ELEMREV_V1TI ST_ELEMREV_UQ | |
4861 | void __builtin_vec_xst_be (vf, signed long long, vf *); | |
4862 | ST_ELEMREV_V4SF ST_ELEMREV_VF | |
4863 | void __builtin_vec_xst_be (vf, signed long long, float *); | |
4864 | ST_ELEMREV_V4SF ST_ELEMREV_F | |
4865 | void __builtin_vec_xst_be (vd, signed long long, vd *); | |
4866 | ST_ELEMREV_V2DF ST_ELEMREV_VD | |
4867 | void __builtin_vec_xst_be (vd, signed long long, double *); | |
4868 | ST_ELEMREV_V2DF ST_ELEMREV_D | |
4869 | ||
7e836079 | 4870 | [VEC_XST_LEN_R, vec_xst_len_r, __builtin_vec_xst_len_r] |
e2693a72 BS |
4871 | void __builtin_vsx_xst_len_r (vuc, unsigned char *, unsigned int); |
4872 | XST_LEN_R | |
4873 | ||
7e836079 | 4874 | [VEC_XST_TRUNC, vec_xst_trunc, __builtin_vec_xst_trunc] |
e2693a72 BS |
4875 | void __builtin_vec_xst_trunc (vsq, signed long long, signed char *); |
4876 | TR_STXVRBX TR_STXVRBX_S | |
4877 | void __builtin_vec_xst_trunc (vuq, signed long long, unsigned char *); | |
4878 | TR_STXVRBX TR_STXVRBX_U | |
4879 | void __builtin_vec_xst_trunc (vsq, signed long long, signed short *); | |
4880 | TR_STXVRHX TR_STXVRHX_S | |
4881 | void __builtin_vec_xst_trunc (vuq, signed long long, unsigned short *); | |
4882 | TR_STXVRHX TR_STXVRHX_U | |
4883 | void __builtin_vec_xst_trunc (vsq, signed long long, signed int *); | |
4884 | TR_STXVRWX TR_STXVRWX_S | |
4885 | void __builtin_vec_xst_trunc (vuq, signed long long, unsigned int *); | |
4886 | TR_STXVRWX TR_STXVRWX_U | |
4887 | void __builtin_vec_xst_trunc (vsq, signed long long, signed long long *); | |
4888 | TR_STXVRDX TR_STXVRDX_S | |
4889 | void __builtin_vec_xst_trunc (vuq, signed long long, unsigned long long *); | |
4890 | TR_STXVRDX TR_STXVRDX_U | |
4891 | ||
7e836079 | 4892 | [VEC_XXPERMDI, vec_xxpermdi, __builtin_vsx_xxpermdi] |
e2693a72 BS |
4893 | vsc __builtin_vsx_xxpermdi (vsc, vsc, const int); |
4894 | XXPERMDI_16QI XXPERMDI_VSC | |
4895 | vuc __builtin_vsx_xxpermdi (vuc, vuc, const int); | |
4896 | XXPERMDI_16QI XXPERMDI_VUC | |
4897 | vss __builtin_vsx_xxpermdi (vss, vss, const int); | |
4898 | XXPERMDI_8HI XXPERMDI_VSS | |
4899 | vus __builtin_vsx_xxpermdi (vus, vus, const int); | |
4900 | XXPERMDI_8HI XXPERMDI_VUS | |
4901 | vsi __builtin_vsx_xxpermdi (vsi, vsi, const int); | |
4902 | XXPERMDI_4SI XXPERMDI_VSI | |
4903 | vui __builtin_vsx_xxpermdi (vui, vui, const int); | |
4904 | XXPERMDI_4SI XXPERMDI_VUI | |
4905 | vsll __builtin_vsx_xxpermdi (vsll, vsll, const int); | |
4906 | XXPERMDI_2DI XXPERMDI_VSLL | |
4907 | vull __builtin_vsx_xxpermdi (vull, vull, const int); | |
4908 | XXPERMDI_2DI XXPERMDI_VULL | |
4909 | vf __builtin_vsx_xxpermdi (vf, vf, const int); | |
4910 | XXPERMDI_4SF XXPERMDI_VF | |
4911 | vd __builtin_vsx_xxpermdi (vd, vd, const int); | |
4912 | XXPERMDI_2DF XXPERMDI_VD | |
4913 | ||
7e836079 | 4914 | [VEC_XXSLDWI, vec_xxsldwi, __builtin_vsx_xxsldwi] |
e2693a72 BS |
4915 | vsc __builtin_vsx_xxsldwi (vsc, vsc, const int); |
4916 | XXSLDWI_16QI XXSLDWI_VSC2 | |
4917 | vuc __builtin_vsx_xxsldwi (vuc, vuc, const int); | |
4918 | XXSLDWI_16QI XXSLDWI_VUC2 | |
4919 | vss __builtin_vsx_xxsldwi (vss, vss, const int); | |
4920 | XXSLDWI_8HI XXSLDWI_VSS2 | |
4921 | vus __builtin_vsx_xxsldwi (vus, vus, const int); | |
4922 | XXSLDWI_8HI XXSLDWI_VUS2 | |
4923 | vsi __builtin_vsx_xxsldwi (vsi, vsi, const int); | |
4924 | XXSLDWI_4SI XXSLDWI_VSI2 | |
4925 | vui __builtin_vsx_xxsldwi (vui, vui, const int); | |
4926 | XXSLDWI_4SI XXSLDWI_VUI2 | |
4927 | vsll __builtin_vsx_xxsldwi (vsll, vsll, const int); | |
4928 | XXSLDWI_2DI XXSLDWI_VSLL2 | |
4929 | vull __builtin_vsx_xxsldwi (vull, vull, const int); | |
4930 | XXSLDWI_2DI XXSLDWI_VULL2 | |
4931 | vf __builtin_vsx_xxsldwi (vf, vf, const int); | |
4932 | XXSLDWI_4SF XXSLDWI_VF2 | |
4933 | vd __builtin_vsx_xxsldwi (vd, vd, const int); | |
4934 | XXSLDWI_2DF XXSLDWI_VD2 | |
4935 | ||
4936 | ||
4937 | ; ************************************************************************** | |
4938 | ; ************************************************************************** | |
4939 | ; **** Deprecated overloads that should never have existed at all **** | |
4940 | ; ************************************************************************** | |
4941 | ; ************************************************************************** | |
4942 | ||
4943 | [VEC_LVEBX, vec_lvebx, __builtin_vec_lvebx] | |
4944 | vsc __builtin_vec_lvebx (signed long, signed char *); | |
4945 | LVEBX LVEBX_DEPR1 | |
4946 | vuc __builtin_vec_lvebx (signed long, unsigned char *); | |
4947 | LVEBX LVEBX_DEPR2 | |
4948 | ||
4949 | [VEC_LVEHX, vec_lvehx, __builtin_vec_lvehx] | |
4950 | vss __builtin_vec_lvehx (signed long, signed short *); | |
4951 | LVEHX LVEHX_DEPR1 | |
4952 | vus __builtin_vec_lvehx (signed long, unsigned short *); | |
4953 | LVEHX LVEHX_DEPR2 | |
4954 | ||
4955 | [VEC_LVEWX, vec_lvewx, __builtin_vec_lvewx] | |
4956 | vf __builtin_vec_lvewx (signed long, float *); | |
4957 | LVEWX LVEWX_DEPR1 | |
4958 | vsi __builtin_vec_lvewx (signed long, signed int *); | |
4959 | LVEWX LVEWX_DEPR2 | |
4960 | vui __builtin_vec_lvewx (signed long, unsigned int *); | |
4961 | LVEWX LVEWX_DEPR3 | |
4962 | vsi __builtin_vec_lvewx (signed long, signed long *); | |
4963 | LVEWX LVEWX_DEPR4 | |
4964 | vui __builtin_vec_lvewx (signed long, unsigned long *); | |
4965 | LVEWX LVEWX_DEPR5 | |
4966 | ||
4967 | [VEC_STVEBX, vec_stvebx, __builtin_vec_stvebx] | |
4968 | void __builtin_vec_stvebx (vsc, signed long, signed char *); | |
4969 | STVEBX STVEBX_DEPR1 | |
4970 | void __builtin_vec_stvebx (vuc, signed long, unsigned char *); | |
4971 | STVEBX STVEBX_DEPR2 | |
4972 | void __builtin_vec_stvebx (vbc, signed long, signed char *); | |
4973 | STVEBX STVEBX_DEPR3 | |
4974 | void __builtin_vec_stvebx (vbc, signed long, signed char *); | |
4975 | STVEBX STVEBX_DEPR4 | |
4976 | void __builtin_vec_stvebx (vsc, signed long, void *); | |
4977 | STVEBX STVEBX_DEPR5 | |
4978 | void __builtin_vec_stvebx (vuc, signed long, void *); | |
4979 | STVEBX STVEBX_DEPR6 | |
4980 | ||
4981 | [VEC_STVEHX, vec_stvehx, __builtin_vec_stvehx] | |
4982 | void __builtin_vec_stvehx (vss, signed long, signed short *); | |
4983 | STVEHX STVEHX_DEPR1 | |
4984 | void __builtin_vec_stvehx (vus, signed long, unsigned short *); | |
4985 | STVEHX STVEHX_DEPR2 | |
4986 | void __builtin_vec_stvehx (vbs, signed long, signed short *); | |
4987 | STVEHX STVEHX_DEPR3 | |
4988 | void __builtin_vec_stvehx (vbs, signed long, signed short *); | |
4989 | STVEHX STVEHX_DEPR4 | |
4990 | void __builtin_vec_stvehx (vss, signed long, void *); | |
4991 | STVEHX STVEHX_DEPR5 | |
4992 | void __builtin_vec_stvehx (vus, signed long, void *); | |
4993 | STVEHX STVEHX_DEPR6 | |
4994 | ||
4995 | [VEC_STVEWX, vec_stvewx, __builtin_vec_stvewx] | |
4996 | void __builtin_vec_stvewx (vf, signed long, float *); | |
4997 | STVEWX STVEWX_DEPR1 | |
4998 | void __builtin_vec_stvewx (vsi, signed long, signed int *); | |
4999 | STVEWX STVEWX_DEPR2 | |
5000 | void __builtin_vec_stvewx (vui, signed long, unsigned int *); | |
5001 | STVEWX STVEWX_DEPR3 | |
5002 | void __builtin_vec_stvewx (vbi, signed long, signed int *); | |
5003 | STVEWX STVEWX_DEPR4 | |
5004 | void __builtin_vec_stvewx (vbi, signed long, unsigned int *); | |
5005 | STVEWX STVEWX_DEPR5 | |
5006 | void __builtin_vec_stvewx (vf, signed long, void *); | |
5007 | STVEWX STVEWX_DEPR6 | |
5008 | void __builtin_vec_stvewx (vsi, signed long, void *); | |
5009 | STVEWX STVEWX_DEPR7 | |
5010 | void __builtin_vec_stvewx (vui, signed long, void *); | |
5011 | STVEWX STVEWX_DEPR8 | |
5012 | ||
7e836079 | 5013 | [VEC_TSTSFI_EQ_DD, SKIP, __builtin_dfp_dtstsfi_eq_dd] |
e2693a72 BS |
5014 | signed int __builtin_dfp_dtstsfi_eq_dd (const int, _Decimal64); |
5015 | TSTSFI_EQ_DD TSTSFI_EQ_DD_DEPR1 | |
5016 | ||
7e836079 | 5017 | [VEC_TSTSFI_EQ_TD, SKIP, __builtin_dfp_dtstsfi_eq_td] |
e2693a72 BS |
5018 | signed int __builtin_dfp_dtstsfi_eq_td (const int, _Decimal128); |
5019 | TSTSFI_EQ_TD TSTSFI_EQ_TD_DEPR1 | |
5020 | ||
7e836079 | 5021 | [VEC_TSTSFI_GT_DD, SKIP, __builtin_dfp_dtstsfi_gt_dd] |
e2693a72 BS |
5022 | signed int __builtin_dfp_dtstsfi_gt_dd (const int, _Decimal64); |
5023 | TSTSFI_GT_DD TSTSFI_GT_DD_DEPR1 | |
5024 | ||
7e836079 | 5025 | [VEC_TSTSFI_GT_TD, SKIP, __builtin_dfp_dtstsfi_gt_td] |
e2693a72 BS |
5026 | signed int __builtin_dfp_dtstsfi_gt_td (const int, _Decimal128); |
5027 | TSTSFI_GT_TD TSTSFI_GT_TD_DEPR1 | |
5028 | ||
7e836079 | 5029 | [VEC_TSTSFI_LT_DD, SKIP, __builtin_dfp_dtstsfi_lt_dd] |
e2693a72 BS |
5030 | signed int __builtin_dfp_dtstsfi_lt_dd (const int, _Decimal64); |
5031 | TSTSFI_LT_DD TSTSFI_LT_DD_DEPR1 | |
5032 | ||
7e836079 | 5033 | [VEC_TSTSFI_LT_TD, SKIP, __builtin_dfp_dtstsfi_lt_td] |
e2693a72 BS |
5034 | signed int __builtin_dfp_dtstsfi_lt_td (const int, _Decimal128); |
5035 | TSTSFI_LT_TD TSTSFI_LT_TD_DEPR1 | |
5036 | ||
7e836079 | 5037 | [VEC_TSTSFI_OV_DD, SKIP, __builtin_dfp_dtstsfi_ov_dd] |
e2693a72 BS |
5038 | signed int __builtin_dfp_dtstsfi_ov_dd (const int, _Decimal64); |
5039 | TSTSFI_OV_DD TSTSFI_OV_DD_DEPR1 | |
5040 | ||
7e836079 | 5041 | [VEC_TSTSFI_OV_TD, SKIP, __builtin_dfp_dtstsfi_ov_td] |
e2693a72 BS |
5042 | signed int __builtin_dfp_dtstsfi_ov_td (const int, _Decimal128); |
5043 | TSTSFI_OV_TD TSTSFI_OV_TD_DEPR1 | |
5044 | ||
7e836079 | 5045 | [VEC_VADDCUQ, vec_vaddcuq, __builtin_vec_vaddcuq] |
e2693a72 BS |
5046 | vsq __builtin_vec_vaddcuq (vsq, vsq); |
5047 | VADDCUQ VADDCUQ_DEPR1 | |
5048 | vuq __builtin_vec_vaddcuq (vuq, vuq); | |
5049 | VADDCUQ VADDCUQ_DEPR2 | |
5050 | ||
7e836079 | 5051 | [VEC_VADDECUQ, vec_vaddecuq, __builtin_vec_vaddecuq] |
e2693a72 BS |
5052 | vsq __builtin_vec_vaddecuq (vsq, vsq, vsq); |
5053 | VADDECUQ VADDECUQ_DEPR1 | |
5054 | vuq __builtin_vec_vaddecuq (vuq, vuq, vuq); | |
5055 | VADDECUQ VADDECUQ_DEPR2 | |
5056 | ||
7e836079 | 5057 | [VEC_VADDEUQM, vec_vaddeuqm, __builtin_vec_vaddeuqm] |
e2693a72 BS |
5058 | vsq __builtin_vec_vaddeuqm (vsq, vsq, vsq); |
5059 | VADDEUQM VADDEUQM_DEPR1 | |
5060 | vuq __builtin_vec_vaddeuqm (vuq, vuq, vuq); | |
5061 | VADDEUQM VADDEUQM_DEPR2 | |
5062 | ||
5063 | [VEC_VADDFP, vec_vaddfp, __builtin_vec_vaddfp] | |
5064 | vf __builtin_vec_vaddfp (vf, vf); | |
5065 | VADDFP VADDFP_DEPR1 | |
5066 | ||
5067 | [VEC_VADDSBS, vec_vaddsbs, __builtin_vec_vaddsbs] | |
5068 | vsc __builtin_vec_vaddsbs (vsc, vsc); | |
5069 | VADDSBS VADDSBS_DEPR1 | |
5070 | vsc __builtin_vec_vaddsbs (vbc, vsc); | |
5071 | VADDSBS VADDSBS_DEPR2 | |
5072 | vsc __builtin_vec_vaddsbs (vsc, vbc); | |
5073 | VADDSBS VADDSBS_DEPR3 | |
5074 | ||
5075 | [VEC_VADDSHS, vec_vaddshs, __builtin_vec_vaddshs] | |
5076 | vss __builtin_vec_vaddshs (vss, vss); | |
5077 | VADDSHS VADDSHS_DEPR1 | |
5078 | vss __builtin_vec_vaddshs (vbs, vss); | |
5079 | VADDSHS VADDSHS_DEPR2 | |
5080 | vss __builtin_vec_vaddshs (vss, vbs); | |
5081 | VADDSHS VADDSHS_DEPR3 | |
5082 | ||
5083 | [VEC_VADDSWS, vec_vaddsws, __builtin_vec_vaddsws] | |
5084 | vsi __builtin_vec_vaddsws (vsi, vsi); | |
5085 | VADDSWS VADDSWS_DEPR1 | |
5086 | vsi __builtin_vec_vaddsws (vbi, vsi); | |
5087 | VADDSWS VADDSWS_DEPR2 | |
5088 | vsi __builtin_vec_vaddsws (vsi, vbi); | |
5089 | VADDSWS VADDSWS_DEPR3 | |
5090 | ||
5091 | [VEC_VADDUBM, vec_vaddubm, __builtin_vec_vaddubm] | |
5092 | vsc __builtin_vec_vaddubm (vsc, vsc); | |
5093 | VADDUBM VADDUBM_DEPR1 | |
5094 | vuc __builtin_vec_vaddubm (vsc, vuc); | |
5095 | VADDUBM VADDUBM_DEPR2 | |
5096 | vuc __builtin_vec_vaddubm (vuc, vsc); | |
5097 | VADDUBM VADDUBM_DEPR3 | |
5098 | vuc __builtin_vec_vaddubm (vuc, vuc); | |
5099 | VADDUBM VADDUBM_DEPR4 | |
5100 | vsc __builtin_vec_vaddubm (vbc, vsc); | |
5101 | VADDUBM VADDUBM_DEPR5 | |
5102 | vsc __builtin_vec_vaddubm (vsc, vbc); | |
5103 | VADDUBM VADDUBM_DEPR6 | |
5104 | vuc __builtin_vec_vaddubm (vbc, vuc); | |
5105 | VADDUBM VADDUBM_DEPR7 | |
5106 | vuc __builtin_vec_vaddubm (vuc, vbc); | |
5107 | VADDUBM VADDUBM_DEPR8 | |
5108 | ||
5109 | [VEC_VADDUBS, vec_vaddubs, __builtin_vec_vaddubs] | |
5110 | vuc __builtin_vec_vaddubs (vsc, vuc); | |
5111 | VADDUBS VADDUBS_DEPR1 | |
5112 | vuc __builtin_vec_vaddubs (vuc, vsc); | |
5113 | VADDUBS VADDUBS_DEPR2 | |
5114 | vuc __builtin_vec_vaddubs (vuc, vuc); | |
5115 | VADDUBS VADDUBS_DEPR3 | |
5116 | vuc __builtin_vec_vaddubs (vbc, vuc); | |
5117 | VADDUBS VADDUBS_DEPR4 | |
5118 | vuc __builtin_vec_vaddubs (vuc, vbc); | |
5119 | VADDUBS VADDUBS_DEPR5 | |
5120 | ||
7e836079 | 5121 | [VEC_VADDUDM, vec_vaddudm, __builtin_vec_vaddudm] |
e2693a72 BS |
5122 | vsll __builtin_vec_vaddudm (vbll, vsll); |
5123 | VADDUDM VADDUDM_DEPR1 | |
5124 | vsll __builtin_vec_vaddudm (vsll, vbll); | |
5125 | VADDUDM VADDUDM_DEPR2 | |
5126 | vsll __builtin_vec_vaddudm (vsll, vsll); | |
5127 | VADDUDM VADDUDM_DEPR3 | |
5128 | vull __builtin_vec_vaddudm (vbll, vull); | |
5129 | VADDUDM VADDUDM_DEPR4 | |
5130 | vull __builtin_vec_vaddudm (vull, vbll); | |
5131 | VADDUDM VADDUDM_DEPR5 | |
5132 | vull __builtin_vec_vaddudm (vull, vull); | |
5133 | VADDUDM VADDUDM_DEPR6 | |
5134 | ||
5135 | [VEC_VADDUHM, vec_vadduhm, __builtin_vec_vadduhm] | |
5136 | vss __builtin_vec_vadduhm (vss, vss); | |
5137 | VADDUHM VADDUHM_DEPR1 | |
5138 | vus __builtin_vec_vadduhm (vss, vus); | |
5139 | VADDUHM VADDUHM_DEPR2 | |
5140 | vus __builtin_vec_vadduhm (vus, vss); | |
5141 | VADDUHM VADDUHM_DEPR3 | |
5142 | vus __builtin_vec_vadduhm (vus, vus); | |
5143 | VADDUHM VADDUHM_DEPR4 | |
5144 | vss __builtin_vec_vadduhm (vbs, vss); | |
5145 | VADDUHM VADDUHM_DEPR5 | |
5146 | vss __builtin_vec_vadduhm (vss, vbs); | |
5147 | VADDUHM VADDUHM_DEPR6 | |
5148 | vus __builtin_vec_vadduhm (vbs, vus); | |
5149 | VADDUHM VADDUHM_DEPR7 | |
5150 | vus __builtin_vec_vadduhm (vus, vbs); | |
5151 | VADDUHM VADDUHM_DEPR8 | |
5152 | ||
5153 | [VEC_VADDUHS, vec_vadduhs, __builtin_vec_vadduhs] | |
5154 | vus __builtin_vec_vadduhs (vss, vus); | |
5155 | VADDUHS VADDUHS_DEPR1 | |
5156 | vus __builtin_vec_vadduhs (vus, vss); | |
5157 | VADDUHS VADDUHS_DEPR2 | |
5158 | vus __builtin_vec_vadduhs (vus, vus); | |
5159 | VADDUHS VADDUHS_DEPR3 | |
5160 | vus __builtin_vec_vadduhs (vbs, vus); | |
5161 | VADDUHS VADDUHS_DEPR4 | |
5162 | vus __builtin_vec_vadduhs (vus, vbs); | |
5163 | VADDUHS VADDUHS_DEPR5 | |
5164 | ||
7e836079 | 5165 | [VEC_VADDUQM, vec_vadduqm, __builtin_vec_vadduqm] |
e2693a72 BS |
5166 | vsq __builtin_vec_vadduqm (vsq, vsq); |
5167 | VADDUQM VADDUQM_DEPR1 | |
5168 | vuq __builtin_vec_vadduqm (vuq, vuq); | |
5169 | VADDUQM VADDUQM_DEPR2 | |
5170 | ||
5171 | [VEC_VADDUWM, vec_vadduwm, __builtin_vec_vadduwm] | |
5172 | vsi __builtin_vec_vadduwm (vsi, vsi); | |
5173 | VADDUWM VADDUWM_DEPR1 | |
5174 | vui __builtin_vec_vadduwm (vsi, vui); | |
5175 | VADDUWM VADDUWM_DEPR2 | |
5176 | vui __builtin_vec_vadduwm (vui, vsi); | |
5177 | VADDUWM VADDUWM_DEPR3 | |
5178 | vui __builtin_vec_vadduwm (vui, vui); | |
5179 | VADDUWM VADDUWM_DEPR4 | |
5180 | vsi __builtin_vec_vadduwm (vbi, vsi); | |
5181 | VADDUWM VADDUWM_DEPR5 | |
5182 | vsi __builtin_vec_vadduwm (vsi, vbi); | |
5183 | VADDUWM VADDUWM_DEPR6 | |
5184 | vui __builtin_vec_vadduwm (vbi, vui); | |
5185 | VADDUWM VADDUWM_DEPR7 | |
5186 | vui __builtin_vec_vadduwm (vui, vbi); | |
5187 | VADDUWM VADDUWM_DEPR8 | |
5188 | ||
5189 | [VEC_VADDUWS, vec_vadduws, __builtin_vec_vadduws] | |
5190 | vui __builtin_vec_vadduws (vsi, vui); | |
5191 | VADDUWS VADDUWS_DEPR1 | |
5192 | vui __builtin_vec_vadduws (vui, vsi); | |
5193 | VADDUWS VADDUWS_DEPR2 | |
5194 | vui __builtin_vec_vadduws (vui, vui); | |
5195 | VADDUWS VADDUWS_DEPR3 | |
5196 | vui __builtin_vec_vadduws (vbi, vui); | |
5197 | VADDUWS VADDUWS_DEPR4 | |
5198 | vui __builtin_vec_vadduws (vui, vbi); | |
5199 | VADDUWS VADDUWS_DEPR5 | |
5200 | ||
5201 | [VEC_VADUB, vec_absdb, __builtin_vec_vadub] | |
5202 | vuc __builtin_vec_vadub (vuc, vuc); | |
5203 | VADUB VADUB_DEPR1 | |
5204 | ||
5205 | [VEC_VADUH, vec_absdh, __builtin_vec_vaduh] | |
5206 | vus __builtin_vec_vaduh (vus, vus); | |
5207 | VADUH VADUH_DEPR1 | |
5208 | ||
5209 | [VEC_VADUW, vec_absdw, __builtin_vec_vaduw] | |
5210 | vui __builtin_vec_vaduw (vui, vui); | |
5211 | VADUW VADUW_DEPR1 | |
5212 | ||
5213 | [VEC_VAVGSB, vec_vavgsb, __builtin_vec_vavgsb] | |
5214 | vsc __builtin_vec_vavgsb (vsc, vsc); | |
5215 | VAVGSB VAVGSB_DEPR1 | |
5216 | ||
5217 | [VEC_VAVGSH, vec_vavgsh, __builtin_vec_vavgsh] | |
5218 | vss __builtin_vec_vavgsh (vss, vss); | |
5219 | VAVGSH VAVGSH_DEPR1 | |
5220 | ||
5221 | [VEC_VAVGSW, vec_vavgsw, __builtin_vec_vavgsw] | |
5222 | vsi __builtin_vec_vavgsw (vsi, vsi); | |
5223 | VAVGSW VAVGSW_DEPR1 | |
5224 | ||
5225 | [VEC_VAVGUB, vec_vavgub, __builtin_vec_vavgub] | |
5226 | vuc __builtin_vec_vavgub (vuc, vuc); | |
5227 | VAVGUB VAVGUB_DEPR1 | |
5228 | ||
5229 | [VEC_VAVGUH, vec_vavguh, __builtin_vec_vavguh] | |
5230 | vus __builtin_vec_vavguh (vus, vus); | |
5231 | VAVGUH VAVGUH_DEPR1 | |
5232 | ||
5233 | [VEC_VAVGUW, vec_vavguw, __builtin_vec_vavguw] | |
5234 | vui __builtin_vec_vavguw (vui, vui); | |
5235 | VAVGUW VAVGUW_DEPR1 | |
5236 | ||
7e836079 | 5237 | [VEC_VBPERMQ, vec_vbpermq, __builtin_vec_vbpermq] |
e2693a72 BS |
5238 | vull __builtin_vec_vbpermq (vull, vuc); |
5239 | VBPERMQ VBPERMQ_DEPR1 | |
5240 | vsll __builtin_vec_vbpermq (vsc, vsc); | |
5241 | VBPERMQ VBPERMQ_DEPR2 | |
5242 | vull __builtin_vec_vbpermq (vuc, vuc); | |
5243 | VBPERMQ VBPERMQ_DEPR3 | |
5244 | vull __builtin_vec_vbpermq (vuq, vuc); | |
5245 | VBPERMQ VBPERMQ_DEPR4 | |
5246 | ||
5247 | [VEC_VCFSX, vec_vcfsx, __builtin_vec_vcfsx] | |
5248 | vf __builtin_vec_vcfsx (vsi, const int); | |
5249 | VCFSX VCFSX_DEPR1 | |
5250 | ||
5251 | [VEC_VCFUX, vec_vcfux, __builtin_vec_vcfux] | |
5252 | vf __builtin_vec_vcfux (vui, const int); | |
5253 | VCFUX VCFUX_DEPR1 | |
5254 | ||
7e836079 | 5255 | [VEC_VCLZB, vec_vclzb, __builtin_vec_vclzb] |
e2693a72 BS |
5256 | vsc __builtin_vec_vclzb (vsc); |
5257 | VCLZB VCLZB_DEPR1 | |
5258 | vuc __builtin_vec_vclzb (vuc); | |
5259 | VCLZB VCLZB_DEPR2 | |
5260 | ||
7e836079 | 5261 | [VEC_VCLZD, vec_vclzd, __builtin_vec_vclzd] |
e2693a72 BS |
5262 | vsll __builtin_vec_vclzd (vsll); |
5263 | VCLZD VCLZD_DEPR1 | |
5264 | vull __builtin_vec_vclzd (vull); | |
5265 | VCLZD VCLZD_DEPR2 | |
5266 | ||
7e836079 | 5267 | [VEC_VCLZH, vec_vclzh, __builtin_vec_vclzh] |
e2693a72 BS |
5268 | vss __builtin_vec_vclzh (vss); |
5269 | VCLZH VCLZH_DEPR1 | |
5270 | vus __builtin_vec_vclzh (vus); | |
5271 | VCLZH VCLZH_DEPR2 | |
5272 | ||
7e836079 | 5273 | [VEC_VCLZW, vec_vclzw, __builtin_vec_vclzw] |
e2693a72 BS |
5274 | vsi __builtin_vec_vclzw (vsi); |
5275 | VCLZW VCLZW_DEPR1 | |
5276 | vui __builtin_vec_vclzw (vui); | |
5277 | VCLZW VCLZW_DEPR2 | |
5278 | ||
5279 | [VEC_VCMPEQFP, vec_vcmpeqfp, __builtin_vec_vcmpeqfp] | |
5280 | vbi __builtin_vec_vcmpeqfp (vf, vf); | |
5281 | VCMPEQFP VCMPEQFP_DEPR1 | |
5282 | ||
5283 | [VEC_VCMPEQUB, vec_vcmpequb, __builtin_vec_vcmpequb] | |
5284 | vbc __builtin_vec_vcmpequb (vsc, vsc); | |
5285 | VCMPEQUB VCMPEQUB_DEPR1 | |
5286 | vbc __builtin_vec_vcmpequb (vuc, vuc); | |
5287 | VCMPEQUB VCMPEQUB_DEPR2 | |
5288 | ||
5289 | [VEC_VCMPEQUH, vec_vcmpequh, __builtin_vec_vcmpequh] | |
5290 | vbs __builtin_vec_vcmpequh (vss, vss); | |
5291 | VCMPEQUH VCMPEQUH_DEPR1 | |
5292 | vbs __builtin_vec_vcmpequh (vus, vus); | |
5293 | VCMPEQUH VCMPEQUH_DEPR2 | |
5294 | ||
5295 | [VEC_VCMPEQUW, vec_vcmpequw, __builtin_vec_vcmpequw] | |
5296 | vbi __builtin_vec_vcmpequw (vsi, vsi); | |
5297 | VCMPEQUW VCMPEQUW_DEPR1 | |
5298 | vbi __builtin_vec_vcmpequw (vui, vui); | |
5299 | VCMPEQUW VCMPEQUW_DEPR2 | |
5300 | ||
5301 | [VEC_VCMPGTFP, vec_vcmpgtfp, __builtin_vec_vcmpgtfp] | |
5302 | vbi __builtin_vec_vcmpgtfp (vf, vf); | |
5303 | VCMPGTFP VCMPGTFP_DEPR1 | |
5304 | ||
5305 | [VEC_VCMPGTSB, vec_vcmpgtsb, __builtin_vec_vcmpgtsb] | |
5306 | vbc __builtin_vec_vcmpgtsb (vsc, vsc); | |
5307 | VCMPGTSB VCMPGTSB_DEPR1 | |
5308 | ||
5309 | [VEC_VCMPGTSH, vec_vcmpgtsh, __builtin_vec_vcmpgtsh] | |
5310 | vbs __builtin_vec_vcmpgtsh (vss, vss); | |
5311 | VCMPGTSH VCMPGTSH_DEPR1 | |
5312 | ||
5313 | [VEC_VCMPGTSW, vec_vcmpgtsw, __builtin_vec_vcmpgtsw] | |
5314 | vbi __builtin_vec_vcmpgtsw (vsi, vsi); | |
5315 | VCMPGTSW VCMPGTSW_DEPR1 | |
5316 | ||
5317 | [VEC_VCMPGTUB, vec_vcmpgtub, __builtin_vec_vcmpgtub] | |
5318 | vbc __builtin_vec_vcmpgtub (vuc, vuc); | |
5319 | VCMPGTUB VCMPGTUB_DEPR1 | |
5320 | ||
5321 | [VEC_VCMPGTUH, vec_vcmpgtuh, __builtin_vec_vcmpgtuh] | |
5322 | vbs __builtin_vec_vcmpgtuh (vus, vus); | |
5323 | VCMPGTUH VCMPGTUH_DEPR1 | |
5324 | ||
5325 | [VEC_VCMPGTUW, vec_vcmpgtuw, __builtin_vec_vcmpgtuw] | |
5326 | vbi __builtin_vec_vcmpgtuw (vui, vui); | |
5327 | VCMPGTUW VCMPGTUW_DEPR1 | |
5328 | ||
7e836079 | 5329 | [VEC_VCTZB, vec_vctzb, __builtin_vec_vctzb] |
e2693a72 BS |
5330 | vsc __builtin_vec_vctzb (vsc); |
5331 | VCTZB VCTZB_DEPR1 | |
5332 | vuc __builtin_vec_vctzb (vuc); | |
5333 | VCTZB VCTZB_DEPR2 | |
5334 | ||
7e836079 | 5335 | [VEC_VCTZD, vec_vctzd, __builtin_vec_vctzd] |
e2693a72 BS |
5336 | vsll __builtin_vec_vctzd (vsll); |
5337 | VCTZD VCTZD_DEPR1 | |
5338 | vull __builtin_vec_vctzd (vull); | |
5339 | VCTZD VCTZD_DEPR2 | |
5340 | ||
7e836079 | 5341 | [VEC_VCTZH, vec_vctzh, __builtin_vec_vctzh] |
e2693a72 BS |
5342 | vss __builtin_vec_vctzh (vss); |
5343 | VCTZH VCTZH_DEPR1 | |
5344 | vus __builtin_vec_vctzh (vus); | |
5345 | VCTZH VCTZH_DEPR2 | |
5346 | ||
7e836079 | 5347 | [VEC_VCTZW, vec_vctzw, __builtin_vec_vctzw] |
e2693a72 BS |
5348 | vsi __builtin_vec_vctzw (vsi); |
5349 | VCTZW VCTZW_DEPR1 | |
5350 | vui __builtin_vec_vctzw (vui); | |
5351 | VCTZW VCTZW_DEPR2 | |
5352 | ||
7e836079 | 5353 | [VEC_VEEDP, vec_extract_exp_dp, __builtin_vec_extract_exp_dp] |
e2693a72 BS |
5354 | vull __builtin_vec_extract_exp_dp (vd); |
5355 | VEEDP VEEDP_DEPR1 | |
5356 | ||
7e836079 | 5357 | [VEC_VEESP, vec_extract_exp_sp, __builtin_vec_extract_exp_sp] |
e2693a72 BS |
5358 | vui __builtin_vec_extract_exp_sp (vf); |
5359 | VEESP VEESP_DEPR1 | |
5360 | ||
7e836079 | 5361 | [VEC_VESDP, vec_extract_sig_dp, __builtin_vec_extract_sig_dp] |
e2693a72 BS |
5362 | vull __builtin_vec_extract_sig_dp (vd); |
5363 | VESDP VESDP_DEPR1 | |
5364 | ||
7e836079 | 5365 | [VEC_VESSP, vec_extract_sig_sp, __builtin_vec_extract_sig_sp] |
e2693a72 BS |
5366 | vui __builtin_vec_extract_sig_sp (vf); |
5367 | VESSP VESSP_DEPR1 | |
5368 | ||
7e836079 | 5369 | [VEC_VIEDP, vec_insert_exp_dp, __builtin_vec_insert_exp_dp] |
e2693a72 BS |
5370 | vd __builtin_vec_insert_exp_dp (vd, vull); |
5371 | VIEDP VIEDP_DEPR1 | |
5372 | vd __builtin_vec_insert_exp_dp (vull, vull); | |
5373 | VIEDP VIEDP_DEPR2 | |
5374 | ||
7e836079 | 5375 | [VEC_VIESP, vec_insert_exp_sp, __builtin_vec_insert_exp_sp] |
e2693a72 BS |
5376 | vf __builtin_vec_insert_exp_sp (vf, vui); |
5377 | VIESP VIESP_DEPR1 | |
5378 | vf __builtin_vec_insert_exp_sp (vui, vui); | |
5379 | VIESP VIESP_DEPR2 | |
5380 | ||
5381 | [VEC_VMAXFP, vec_vmaxfp, __builtin_vec_vmaxfp] | |
5382 | vf __builtin_vec_vmaxfp (vf, vf); | |
5383 | VMAXFP VMAXFP_DEPR1 | |
5384 | ||
5385 | [VEC_VMAXSB, vec_vmaxsb, __builtin_vec_vmaxsb] | |
5386 | vsc __builtin_vec_vmaxsb (vsc, vsc); | |
5387 | VMAXSB VMAXSB_DEPR1 | |
5388 | vsc __builtin_vec_vmaxsb (vbc, vsc); | |
5389 | VMAXSB VMAXSB_DEPR2 | |
5390 | vsc __builtin_vec_vmaxsb (vsc, vbc); | |
5391 | VMAXSB VMAXSB_DEPR3 | |
5392 | ||
5393 | [VEC_VMAXSD, vec_vmaxsd, __builtin_vec_vmaxsd] | |
5394 | vsll __builtin_vec_vmaxsd (vsll, vsll); | |
5395 | VMAXSD VMAXSD_DEPR1 | |
5396 | vsll __builtin_vec_vmaxsd (vbll, vsll); | |
5397 | VMAXSD VMAXSD_DEPR2 | |
5398 | vsll __builtin_vec_vmaxsd (vsll, vbll); | |
5399 | VMAXSD VMAXSD_DEPR3 | |
5400 | ||
5401 | [VEC_VMAXSH, vec_vmaxsh, __builtin_vec_vmaxsh] | |
5402 | vss __builtin_vec_vmaxsh (vss, vss); | |
5403 | VMAXSH VMAXSH_DEPR1 | |
5404 | vss __builtin_vec_vmaxsh (vbs, vss); | |
5405 | VMAXSH VMAXSH_DEPR2 | |
5406 | vss __builtin_vec_vmaxsh (vss, vbs); | |
5407 | VMAXSH VMAXSH_DEPR3 | |
5408 | ||
5409 | [VEC_VMAXSW, vec_vmaxsw, __builtin_vec_vmaxsw] | |
5410 | vsi __builtin_vec_vmaxsw (vsi, vsi); | |
5411 | VMAXSW VMAXSW_DEPR1 | |
5412 | vsi __builtin_vec_vmaxsw (vbi, vsi); | |
5413 | VMAXSW VMAXSW_DEPR2 | |
5414 | vsi __builtin_vec_vmaxsw (vsi, vbi); | |
5415 | VMAXSW VMAXSW_DEPR3 | |
5416 | ||
5417 | [VEC_VMAXUB, vec_vmaxub, __builtin_vec_vmaxub] | |
5418 | vuc __builtin_vec_vmaxub (vsc, vuc); | |
5419 | VMAXUB VMAXUB_DEPR1 | |
5420 | vuc __builtin_vec_vmaxub (vuc, vsc); | |
5421 | VMAXUB VMAXUB_DEPR2 | |
5422 | vuc __builtin_vec_vmaxub (vuc, vuc); | |
5423 | VMAXUB VMAXUB_DEPR3 | |
5424 | vuc __builtin_vec_vmaxub (vbc, vuc); | |
5425 | VMAXUB VMAXUB_DEPR4 | |
5426 | vuc __builtin_vec_vmaxub (vuc, vbc); | |
5427 | VMAXUB VMAXUB_DEPR5 | |
5428 | ||
5429 | [VEC_VMAXUD, vec_vmaxud, __builtin_vec_vmaxud] | |
5430 | vull __builtin_vec_vmaxud (vull, vull); | |
5431 | VMAXUD VMAXUD_DEPR1 | |
5432 | vull __builtin_vec_vmaxud (vbll, vull); | |
5433 | VMAXUD VMAXUD_DEPR2 | |
5434 | vull __builtin_vec_vmaxud (vull, vbll); | |
5435 | VMAXUD VMAXUD_DEPR3 | |
5436 | ||
5437 | [VEC_VMAXUH, vec_vmaxuh, __builtin_vec_vmaxuh] | |
5438 | vus __builtin_vec_vmaxuh (vss, vus); | |
5439 | VMAXUH VMAXUH_DEPR1 | |
5440 | vus __builtin_vec_vmaxuh (vus, vss); | |
5441 | VMAXUH VMAXUH_DEPR2 | |
5442 | vus __builtin_vec_vmaxuh (vus, vus); | |
5443 | VMAXUH VMAXUH_DEPR3 | |
5444 | vus __builtin_vec_vmaxuh (vbs, vus); | |
5445 | VMAXUH VMAXUH_DEPR4 | |
5446 | vus __builtin_vec_vmaxuh (vus, vbs); | |
5447 | VMAXUH VMAXUH_DEPR5 | |
5448 | ||
5449 | [VEC_VMAXUW, vec_vmaxuw, __builtin_vec_vmaxuw] | |
5450 | vui __builtin_vec_vmaxuw (vsi, vui); | |
5451 | VMAXUW VMAXUW_DEPR1 | |
5452 | vui __builtin_vec_vmaxuw (vui, vsi); | |
5453 | VMAXUW VMAXUW_DEPR2 | |
5454 | vui __builtin_vec_vmaxuw (vui, vui); | |
5455 | VMAXUW VMAXUW_DEPR3 | |
5456 | vui __builtin_vec_vmaxuw (vbi, vui); | |
5457 | VMAXUW VMAXUW_DEPR4 | |
5458 | vui __builtin_vec_vmaxuw (vui, vbi); | |
5459 | VMAXUW VMAXUW_DEPR5 | |
5460 | ||
5461 | [VEC_VMINFP, vec_vminfp, __builtin_vec_vminfp] | |
5462 | vf __builtin_vec_vminfp (vf, vf); | |
5463 | VMINFP VMINFP_DEPR1 | |
5464 | ||
5465 | [VEC_VMINSB, vec_vminsb, __builtin_vec_vminsb] | |
5466 | vsc __builtin_vec_vminsb (vsc, vsc); | |
5467 | VMINSB VMINSB_DEPR1 | |
5468 | vsc __builtin_vec_vminsb (vbc, vsc); | |
5469 | VMINSB VMINSB_DEPR2 | |
5470 | vsc __builtin_vec_vminsb (vsc, vbc); | |
5471 | VMINSB VMINSB_DEPR3 | |
5472 | ||
5473 | [VEC_VMINSD, vec_vminsd, __builtin_vec_vminsd] | |
5474 | vsll __builtin_vec_vminsd (vsll, vsll); | |
5475 | VMINSD VMINSD_DEPR1 | |
5476 | vsll __builtin_vec_vminsd (vbll, vsll); | |
5477 | VMINSD VMINSD_DEPR2 | |
5478 | vsll __builtin_vec_vminsd (vsll, vbll); | |
5479 | VMINSD VMINSD_DEPR3 | |
5480 | ||
5481 | [VEC_VMINSH, vec_vminsh, __builtin_vec_vminsh] | |
5482 | vss __builtin_vec_vminsh (vss, vss); | |
5483 | VMINSH VMINSH_DEPR1 | |
5484 | vss __builtin_vec_vminsh (vbs, vss); | |
5485 | VMINSH VMINSH_DEPR2 | |
5486 | vss __builtin_vec_vminsh (vss, vbs); | |
5487 | VMINSH VMINSH_DEPR3 | |
5488 | ||
5489 | [VEC_VMINSW, vec_vminsw, __builtin_vec_vminsw] | |
5490 | vsi __builtin_vec_vminsw (vsi, vsi); | |
5491 | VMINSW VMINSW_DEPR1 | |
5492 | vsi __builtin_vec_vminsw (vbi, vsi); | |
5493 | VMINSW VMINSW_DEPR2 | |
5494 | vsi __builtin_vec_vminsw (vsi, vbi); | |
5495 | VMINSW VMINSW_DEPR3 | |
5496 | ||
5497 | [VEC_VMINUB, vec_vminub, __builtin_vec_vminub] | |
5498 | vuc __builtin_vec_vminub (vsc, vuc); | |
5499 | VMINUB VMINUB_DEPR1 | |
5500 | vuc __builtin_vec_vminub (vuc, vsc); | |
5501 | VMINUB VMINUB_DEPR2 | |
5502 | vuc __builtin_vec_vminub (vuc, vuc); | |
5503 | VMINUB VMINUB_DEPR3 | |
5504 | vuc __builtin_vec_vminub (vbc, vuc); | |
5505 | VMINUB VMINUB_DEPR4 | |
5506 | vuc __builtin_vec_vminub (vuc, vbc); | |
5507 | VMINUB VMINUB_DEPR5 | |
5508 | ||
5509 | [VEC_VMINUD, vec_vminud, __builtin_vec_vminud] | |
5510 | vull __builtin_vec_vminud (vull, vull); | |
5511 | VMINUD VMINUD_DEPR1 | |
5512 | vull __builtin_vec_vminud (vbll, vull); | |
5513 | VMINUD VMINUD_DEPR2 | |
5514 | vull __builtin_vec_vminud (vull, vbll); | |
5515 | VMINUD VMINUD_DEPR3 | |
5516 | ||
5517 | [VEC_VMINUH, vec_vminuh, __builtin_vec_vminuh] | |
5518 | vus __builtin_vec_vminuh (vss, vus); | |
5519 | VMINUH VMINUH_DEPR1 | |
5520 | vus __builtin_vec_vminuh (vus, vss); | |
5521 | VMINUH VMINUH_DEPR2 | |
5522 | vus __builtin_vec_vminuh (vus, vus); | |
5523 | VMINUH VMINUH_DEPR3 | |
5524 | vus __builtin_vec_vminuh (vbs, vus); | |
5525 | VMINUH VMINUH_DEPR4 | |
5526 | vus __builtin_vec_vminuh (vus, vbs); | |
5527 | VMINUH VMINUH_DEPR5 | |
5528 | ||
5529 | [VEC_VMINUW, vec_vminuw, __builtin_vec_vminuw] | |
5530 | vui __builtin_vec_vminuw (vsi, vui); | |
5531 | VMINUW VMINUW_DEPR1 | |
5532 | vui __builtin_vec_vminuw (vui, vsi); | |
5533 | VMINUW VMINUW_DEPR2 | |
5534 | vui __builtin_vec_vminuw (vui, vui); | |
5535 | VMINUW VMINUW_DEPR3 | |
5536 | vui __builtin_vec_vminuw (vbi, vui); | |
5537 | VMINUW VMINUW_DEPR4 | |
5538 | vui __builtin_vec_vminuw (vui, vbi); | |
5539 | VMINUW VMINUW_DEPR5 | |
5540 | ||
5541 | [VEC_VMRGHB, vec_vmrghb, __builtin_vec_vmrghb] | |
5542 | vsc __builtin_vec_vmrghb (vsc, vsc); | |
5543 | VMRGHB VMRGHB_DEPR1 | |
5544 | vuc __builtin_vec_vmrghb (vuc, vuc); | |
5545 | VMRGHB VMRGHB_DEPR2 | |
5546 | vbc __builtin_vec_vmrghb (vbc, vbc); | |
5547 | VMRGHB VMRGHB_DEPR3 | |
5548 | ||
5549 | [VEC_VMRGHH, vec_vmrghh, __builtin_vec_vmrghh] | |
5550 | vss __builtin_vec_vmrghh (vss, vss); | |
5551 | VMRGHH VMRGHH_DEPR1 | |
5552 | vus __builtin_vec_vmrghh (vus, vus); | |
5553 | VMRGHH VMRGHH_DEPR2 | |
5554 | vbs __builtin_vec_vmrghh (vbs, vbs); | |
5555 | VMRGHH VMRGHH_DEPR3 | |
5556 | vp __builtin_vec_vmrghh (vp, vp); | |
5557 | VMRGHH VMRGHH_DEPR4 | |
5558 | ||
5559 | [VEC_VMRGHW, vec_vmrghw, __builtin_vec_vmrghw] | |
5560 | vf __builtin_vec_vmrghw (vf, vf); | |
5561 | VMRGHW VMRGHW_DEPR1 | |
5562 | vsi __builtin_vec_vmrghw (vsi, vsi); | |
5563 | VMRGHW VMRGHW_DEPR2 | |
5564 | vui __builtin_vec_vmrghw (vui, vui); | |
5565 | VMRGHW VMRGHW_DEPR3 | |
5566 | vbi __builtin_vec_vmrghw (vbi, vbi); | |
5567 | VMRGHW VMRGHW_DEPR4 | |
5568 | ||
5569 | [VEC_VMRGLB, vec_vmrglb, __builtin_vec_vmrglb] | |
5570 | vsc __builtin_vec_vmrglb (vsc, vsc); | |
5571 | VMRGLB VMRGLB_DEPR1 | |
5572 | vuc __builtin_vec_vmrglb (vuc, vuc); | |
5573 | VMRGLB VMRGLB_DEPR2 | |
5574 | vbc __builtin_vec_vmrglb (vbc, vbc); | |
5575 | VMRGLB VMRGLB_DEPR3 | |
5576 | ||
5577 | [VEC_VMRGLH, vec_vmrglh, __builtin_vec_vmrglh] | |
5578 | vss __builtin_vec_vmrglh (vss, vss); | |
5579 | VMRGLH VMRGLH_DEPR1 | |
5580 | vus __builtin_vec_vmrglh (vus, vus); | |
5581 | VMRGLH VMRGLH_DEPR2 | |
5582 | vbs __builtin_vec_vmrglh (vbs, vbs); | |
5583 | VMRGLH VMRGLH_DEPR3 | |
5584 | vp __builtin_vec_vmrglh (vp, vp); | |
5585 | VMRGLH VMRGLH_DEPR4 | |
5586 | ||
5587 | [VEC_VMRGLW, vec_vmrglw, __builtin_vec_vmrglw] | |
5588 | vf __builtin_vec_vmrglw (vf, vf); | |
5589 | VMRGLW VMRGLW_DEPR1 | |
5590 | vsi __builtin_vec_vmrglw (vsi, vsi); | |
5591 | VMRGLW VMRGLW_DEPR2 | |
5592 | vui __builtin_vec_vmrglw (vui, vui); | |
5593 | VMRGLW VMRGLW_DEPR3 | |
5594 | vbi __builtin_vec_vmrglw (vbi, vbi); | |
5595 | VMRGLW VMRGLW_DEPR4 | |
5596 | ||
5597 | [VEC_VMSUMMBM, vec_vmsummbm, __builtin_vec_vmsummbm] | |
5598 | vsi __builtin_vec_vmsummbm (vsc, vuc, vsi); | |
5599 | VMSUMMBM VMSUMMBM_DEPR1 | |
5600 | ||
5601 | [VEC_VMSUMSHM, vec_vmsumshm, __builtin_vec_vmsumshm] | |
5602 | vsi __builtin_vec_vmsumshm (vss, vss, vsi); | |
5603 | VMSUMSHM VMSUMSHM_DEPR1 | |
5604 | ||
5605 | [VEC_VMSUMSHS, vec_vmsumshs, __builtin_vec_vmsumshs] | |
5606 | vsi __builtin_vec_vmsumshs (vss, vss, vsi); | |
5607 | VMSUMSHS VMSUMSHS_DEPR1 | |
5608 | ||
5609 | [VEC_VMSUMUBM, vec_vmsumubm, __builtin_vec_vmsumubm] | |
5610 | vui __builtin_vec_vmsumubm (vuc, vuc, vui); | |
5611 | VMSUMUBM VMSUMUBM_DEPR1 | |
5612 | ||
5613 | [VEC_VMSUMUDM, vec_vmsumudm, __builtin_vec_vmsumudm] | |
5614 | vuq __builtin_vec_vmsumudm (vull, vull, vuq); | |
5615 | VMSUMUDM VMSUMUDM_DEPR1 | |
5616 | ||
5617 | [VEC_VMSUMUHM, vec_vmsumuhm, __builtin_vec_vmsumuhm] | |
5618 | vui __builtin_vec_vmsumuhm (vus, vus, vui); | |
5619 | VMSUMUHM VMSUMUHM_DEPR1 | |
5620 | ||
5621 | [VEC_VMSUMUHS, vec_vmsumuhs, __builtin_vec_vmsumuhs] | |
5622 | vui __builtin_vec_vmsumuhs (vus, vus, vui); | |
5623 | VMSUMUHS VMSUMUHS_DEPR1 | |
5624 | ||
5625 | [VEC_VMULESB, vec_vmulesb, __builtin_vec_vmulesb] | |
5626 | vss __builtin_vec_vmulesb (vsc, vsc); | |
5627 | VMULESB VMULESB_DEPR1 | |
5628 | ||
5629 | [VEC_VMULESH, vec_vmulesh, __builtin_vec_vmulesh] | |
5630 | vsi __builtin_vec_vmulesh (vss, vss); | |
5631 | VMULESH VMULESH_DEPR1 | |
5632 | ||
5633 | [VEC_VMULESW, SKIP, __builtin_vec_vmulesw] | |
5634 | vsll __builtin_vec_vmulesw (vsi, vsi); | |
5635 | VMULESW VMULESW_DEPR1 | |
5636 | ||
5637 | [VEC_VMULEUB, vec_vmuleub, __builtin_vec_vmuleub] | |
5638 | vus __builtin_vec_vmuleub (vuc, vuc); | |
5639 | VMULEUB VMULEUB_DEPR1 | |
5640 | ||
5641 | [VEC_VMULEUH, vec_vmuleuh, __builtin_vec_vmuleuh] | |
5642 | vui __builtin_vec_vmuleuh (vus, vus); | |
5643 | VMULEUH VMULEUH_DEPR1 | |
5644 | ||
5645 | [VEC_VMULEUW, SKIP, __builtin_vec_vmuleuw] | |
5646 | vull __builtin_vec_vmuleuw (vui, vui); | |
5647 | VMULEUW VMULEUW_DEPR1 | |
5648 | ||
5649 | [VEC_VMULOSB, vec_vmulosb, __builtin_vec_vmulosb] | |
5650 | vss __builtin_vec_vmulosb (vsc, vsc); | |
5651 | VMULOSB VMULOSB_DEPR1 | |
5652 | ||
5653 | [VEC_VMULOSH, vec_vmulosh, __builtin_vec_vmulosh] | |
5654 | vsi __builtin_vec_vmulosh (vss, vss); | |
5655 | VMULOSH VMULOSH_DEPR1 | |
5656 | ||
5657 | [VEC_VMULOSW, SKIP, __builtin_vec_vmulosw] | |
5658 | vsll __builtin_vec_vmulosw (vsi, vsi); | |
5659 | VMULOSW VMULOSW_DEPR1 | |
5660 | ||
5661 | [VEC_VMULOUB, vec_vmuloub, __builtin_vec_vmuloub] | |
5662 | vus __builtin_vec_vmuloub (vuc, vuc); | |
5663 | VMULOUB VMULOUB_DEPR1 | |
5664 | ||
5665 | [VEC_VMULOUH, vec_vmulouh, __builtin_vec_vmulouh] | |
5666 | vui __builtin_vec_vmulouh (vus, vus); | |
5667 | VMULOUH VMULOUH_DEPR1 | |
5668 | ||
5669 | [VEC_VMULOUW, SKIP, __builtin_vec_vmulouw] | |
5670 | vull __builtin_vec_vmulouw (vui, vui); | |
5671 | VMULOUW VMULOUW_DEPR1 | |
5672 | ||
7e836079 | 5673 | [VEC_VPKSDSS, vec_vpksdss, __builtin_vec_vpksdss] |
e2693a72 BS |
5674 | vsi __builtin_vec_vpksdss (vsll, vsll); |
5675 | VPKSDSS VPKSDSS_DEPR1 | |
5676 | ||
7e836079 | 5677 | [VEC_VPKSDUS, vec_vpksdus, __builtin_vec_vpksdus] |
e2693a72 BS |
5678 | vui __builtin_vec_vpksdus (vsll, vsll); |
5679 | VPKSDUS VPKSDUS_DEPR1 | |
5680 | ||
5681 | [VEC_VPKSHSS, vec_vpkshss, __builtin_vec_vpkshss] | |
5682 | vsc __builtin_vec_vpkshss (vss, vss); | |
5683 | VPKSHSS VPKSHSS_DEPR1 | |
5684 | ||
5685 | [VEC_VPKSHUS, vec_vpkshus, __builtin_vec_vpkshus] | |
5686 | vuc __builtin_vec_vpkshus (vss, vss); | |
5687 | VPKSHUS VPKSHUS_DEPR1 | |
5688 | ||
5689 | [VEC_VPKSWSS, vec_vpkswss, __builtin_vec_vpkswss] | |
5690 | vss __builtin_vec_vpkswss (vsi, vsi); | |
5691 | VPKSWSS VPKSWSS_DEPR1 | |
5692 | ||
5693 | [VEC_VPKSWUS, vec_vpkswus, __builtin_vec_vpkswus] | |
5694 | vus __builtin_vec_vpkswus (vsi, vsi); | |
5695 | VPKSWUS VPKSWUS_DEPR1 | |
5696 | ||
7e836079 | 5697 | [VEC_VPKUDUM, vec_vpkudum, __builtin_vec_vpkudum] |
e2693a72 BS |
5698 | vsi __builtin_vec_vpkudum (vsll, vsll); |
5699 | VPKUDUM VPKUDUM_DEPR1 | |
5700 | vui __builtin_vec_vpkudum (vull, vull); | |
5701 | VPKUDUM VPKUDUM_DEPR2 | |
5702 | vbi __builtin_vec_vpkudum (vbll, vbll); | |
5703 | VPKUDUM VPKUDUM_DEPR3 | |
5704 | ||
7e836079 | 5705 | [VEC_VPKUDUS, vec_vpkudus, __builtin_vec_vpkudus] |
e2693a72 BS |
5706 | vui __builtin_vec_vpkudus (vull, vull); |
5707 | VPKUDUS VPKUDUS_DEPR1 | |
5708 | ||
5709 | [VEC_VPKUHUM, vec_vpkuhum, __builtin_vec_vpkuhum] | |
5710 | vsc __builtin_vec_vpkuhum (vss, vss); | |
5711 | VPKUHUM VPKUHUM_DEPR1 | |
5712 | vuc __builtin_vec_vpkuhum (vus, vus); | |
5713 | VPKUHUM VPKUHUM_DEPR2 | |
5714 | vbc __builtin_vec_vpkuhum (vbs, vbs); | |
5715 | VPKUHUM VPKUHUM_DEPR3 | |
5716 | ||
5717 | [VEC_VPKUHUS, vec_vpkuhus, __builtin_vec_vpkuhus] | |
5718 | vuc __builtin_vec_vpkuhus (vus, vus); | |
5719 | VPKUHUS VPKUHUS_DEPR1 | |
5720 | ||
5721 | [VEC_VPKUWUM, vec_vpkuwum, __builtin_vec_vpkuwum] | |
5722 | vss __builtin_vec_vpkuwum (vsi, vsi); | |
5723 | VPKUWUM VPKUWUM_DEPR1 | |
5724 | vus __builtin_vec_vpkuwum (vui, vui); | |
5725 | VPKUWUM VPKUWUM_DEPR2 | |
5726 | vbs __builtin_vec_vpkuwum (vbi, vbi); | |
5727 | VPKUWUM VPKUWUM_DEPR3 | |
5728 | ||
5729 | [VEC_VPKUWUS, vec_vpkuwus, __builtin_vec_vpkuwus] | |
5730 | vus __builtin_vec_vpkuwus (vui, vui); | |
5731 | VPKUWUS VPKUWUS_DEPR1 | |
5732 | ||
7e836079 | 5733 | [VEC_VPOPCNT, vec_vpopcnt, __builtin_vec_vpopcnt] |
e2693a72 BS |
5734 | vsc __builtin_vec_vpopcnt (vsc); |
5735 | VPOPCNTB VPOPCNT_DEPR1 | |
5736 | vuc __builtin_vec_vpopcnt (vuc); | |
5737 | VPOPCNTB VPOPCNT_DEPR2 | |
5738 | vss __builtin_vec_vpopcnt (vss); | |
5739 | VPOPCNTH VPOPCNT_DEPR3 | |
5740 | vus __builtin_vec_vpopcnt (vus); | |
5741 | VPOPCNTH VPOPCNT_DEPR4 | |
5742 | vsi __builtin_vec_vpopcnt (vsi); | |
5743 | VPOPCNTW VPOPCNT_DEPR5 | |
5744 | vui __builtin_vec_vpopcnt (vui); | |
5745 | VPOPCNTW VPOPCNT_DEPR6 | |
5746 | vsll __builtin_vec_vpopcnt (vsll); | |
5747 | VPOPCNTD VPOPCNT_DEPR7 | |
5748 | vull __builtin_vec_vpopcnt (vull); | |
5749 | VPOPCNTD VPOPCNT_DEPR8 | |
5750 | ||
7e836079 | 5751 | [VEC_VPOPCNTB, vec_vpopcntb, __builtin_vec_vpopcntb] |
e2693a72 BS |
5752 | vsc __builtin_vec_vpopcntb (vsc); |
5753 | VPOPCNTB VPOPCNTB_DEPR1 | |
5754 | vuc __builtin_vec_vpopcntb (vuc); | |
5755 | VPOPCNTB VPOPCNTB_DEPR2 | |
5756 | ||
7e836079 | 5757 | [VEC_VPOPCNTD, vec_vpopcntd, __builtin_vec_vpopcntd] |
e2693a72 BS |
5758 | vsll __builtin_vec_vpopcntd (vsll); |
5759 | VPOPCNTD VPOPCNTD_DEPR1 | |
5760 | vull __builtin_vec_vpopcntd (vull); | |
5761 | VPOPCNTD VPOPCNTD_DEPR2 | |
5762 | ||
7e836079 | 5763 | [VEC_VPOPCNTH, vec_vpopcnth, __builtin_vec_vpopcnth] |
e2693a72 BS |
5764 | vss __builtin_vec_vpopcnth (vss); |
5765 | VPOPCNTH VPOPCNTH_DEPR1 | |
5766 | vus __builtin_vec_vpopcnth (vus); | |
5767 | VPOPCNTH VPOPCNTH_DEPR2 | |
5768 | ||
7e836079 | 5769 | [VEC_VPOPCNTW, vec_vpopcntw, __builtin_vec_vpopcntw] |
e2693a72 BS |
5770 | vsi __builtin_vec_vpopcntw (vsi); |
5771 | VPOPCNTW VPOPCNTW_DEPR1 | |
5772 | vui __builtin_vec_vpopcntw (vui); | |
5773 | VPOPCNTW VPOPCNTW_DEPR2 | |
5774 | ||
7e836079 | 5775 | [VEC_VPRTYBD, vec_vprtybd, __builtin_vec_vprtybd] |
e2693a72 BS |
5776 | vsll __builtin_vec_vprtybd (vsll); |
5777 | VPRTYBD VPRTYBD_DEPR1 | |
5778 | vull __builtin_vec_vprtybd (vull); | |
5779 | VPRTYBD VPRTYBD_DEPR2 | |
5780 | ||
7e836079 | 5781 | [VEC_VPRTYBQ, vec_vprtybq, __builtin_vec_vprtybq] |
e2693a72 BS |
5782 | vsq __builtin_vec_vprtybq (vsq); |
5783 | VPRTYBQ VPRTYBQ_DEPR1 | |
5784 | vuq __builtin_vec_vprtybq (vuq); | |
5785 | VPRTYBQ VPRTYBQ_DEPR2 | |
5786 | signed __int128 __builtin_vec_vprtybq (signed __int128); | |
5787 | VPRTYBQ VPRTYBQ_DEPR3 | |
5788 | unsigned __int128 __builtin_vec_vprtybq (unsigned __int128); | |
5789 | VPRTYBQ VPRTYBQ_DEPR4 | |
5790 | ||
7e836079 | 5791 | [VEC_VPRTYBW, vec_vprtybw, __builtin_vec_vprtybw] |
e2693a72 BS |
5792 | vsi __builtin_vec_vprtybw (vsi); |
5793 | VPRTYBW VPRTYBW_DEPR1 | |
5794 | vui __builtin_vec_vprtybw (vui); | |
5795 | VPRTYBW VPRTYBW_DEPR2 | |
5796 | ||
5797 | [VEC_VRLB, vec_vrlb, __builtin_vec_vrlb] | |
5798 | vsc __builtin_vec_vrlb (vsc, vuc); | |
5799 | VRLB VRLB_DEPR1 | |
5800 | vuc __builtin_vec_vrlb (vuc, vuc); | |
5801 | VRLB VRLB_DEPR2 | |
5802 | ||
7e836079 | 5803 | [VEC_VRLD, SKIP, __builtin_vec_vrld] |
e2693a72 BS |
5804 | vsll __builtin_vec_vrld (vsll, vull); |
5805 | VRLD VRLD_DEPR1 | |
5806 | vull __builtin_vec_vrld (vull, vull); | |
5807 | VRLD VRLD_DEPR2 | |
5808 | ||
5809 | [VEC_VRLH, vec_vrlh, __builtin_vec_vrlh] | |
5810 | vss __builtin_vec_vrlh (vss, vus); | |
5811 | VRLH VRLH_DEPR1 | |
5812 | vus __builtin_vec_vrlh (vus, vus); | |
5813 | VRLH VRLH_DEPR2 | |
5814 | ||
5815 | [VEC_VRLW, vec_vrlw, __builtin_vec_vrlw] | |
5816 | vsi __builtin_vec_vrlw (vsi, vui); | |
5817 | VRLW VRLW_DEPR1 | |
5818 | vui __builtin_vec_vrlw (vui, vui); | |
5819 | VRLW VRLW_DEPR2 | |
5820 | ||
5821 | [VEC_VSLB, vec_vslb, __builtin_vec_vslb] | |
5822 | vsc __builtin_vec_vslb (vsc, vuc); | |
5823 | VSLB VSLB_DEPR1 | |
5824 | vuc __builtin_vec_vslb (vuc, vuc); | |
5825 | VSLB VSLB_DEPR2 | |
5826 | ||
7e836079 | 5827 | [VEC_VSLD, SKIP, __builtin_vec_vsld] |
e2693a72 BS |
5828 | vsll __builtin_vec_vsld (vsll, vull); |
5829 | VSLD VSLD_DEPR1 | |
5830 | vull __builtin_vec_vsld (vull, vull); | |
5831 | VSLD VSLD_DEPR2 | |
5832 | ||
5833 | [VEC_VSLH, vec_vslh, __builtin_vec_vslh] | |
5834 | vss __builtin_vec_vslh (vss, vus); | |
5835 | VSLH VSLH_DEPR1 | |
5836 | vus __builtin_vec_vslh (vus, vus); | |
5837 | VSLH VSLH_DEPR2 | |
5838 | ||
5839 | [VEC_VSLW, vec_vslw, __builtin_vec_vslw] | |
5840 | vsi __builtin_vec_vslw (vsi, vui); | |
5841 | VSLW VSLW_DEPR1 | |
5842 | vui __builtin_vec_vslw (vui, vui); | |
5843 | VSLW VSLW_DEPR2 | |
5844 | ||
5845 | [VEC_VSPLTB, vec_vspltb, __builtin_vec_vspltb] | |
5846 | vsc __builtin_vec_vspltb (vsc, const int); | |
5847 | VSPLTB VSPLTB_DEPR1 | |
5848 | vuc __builtin_vec_vspltb (vuc, const int); | |
5849 | VSPLTB VSPLTB_DEPR2 | |
5850 | vbc __builtin_vec_vspltb (vbc, const int); | |
5851 | VSPLTB VSPLTB_DEPR3 | |
5852 | ||
5853 | [VEC_VSPLTH, vec_vsplth, __builtin_vec_vsplth] | |
5854 | vss __builtin_vec_vsplth (vss, const int); | |
5855 | VSPLTH VSPLTH_DEPR1 | |
5856 | vus __builtin_vec_vsplth (vus, const int); | |
5857 | VSPLTH VSPLTH_DEPR2 | |
5858 | vbs __builtin_vec_vsplth (vbs, const int); | |
5859 | VSPLTH VSPLTH_DEPR3 | |
5860 | vp __builtin_vec_vsplth (vp, const int); | |
5861 | VSPLTH VSPLTH_DEPR4 | |
5862 | ||
5863 | [VEC_VSPLTW, vec_vspltw, __builtin_vec_vspltw] | |
5864 | vsi __builtin_vec_vspltw (vsi, const int); | |
5865 | VSPLTW VSPLTW_DEPR1 | |
5866 | vui __builtin_vec_vspltw (vui, const int); | |
5867 | VSPLTW VSPLTW_DEPR2 | |
5868 | vbi __builtin_vec_vspltw (vbi, const int); | |
5869 | VSPLTW VSPLTW_DEPR3 | |
5870 | vf __builtin_vec_vspltw (vf, const int); | |
5871 | VSPLTW VSPLTW_DEPR4 | |
5872 | ||
5873 | [VEC_VSRAB, vec_vsrab, __builtin_vec_vsrab] | |
5874 | vsc __builtin_vec_vsrab (vsc, vuc); | |
5875 | VSRAB VSRAB_DEPR1 | |
5876 | vuc __builtin_vec_vsrab (vuc, vuc); | |
5877 | VSRAB VSRAB_DEPR2 | |
5878 | ||
7e836079 | 5879 | [VEC_VSRAD, SKIP, __builtin_vec_vsrad] |
e2693a72 BS |
5880 | vsll __builtin_vec_vsrad (vsll, vull); |
5881 | VSRAD VSRAD_DEPR1 | |
5882 | vull __builtin_vec_vsrad (vull, vull); | |
5883 | VSRAD VSRAD_DEPR2 | |
5884 | ||
5885 | [VEC_VSRAH, vec_vsrah, __builtin_vec_vsrah] | |
5886 | vss __builtin_vec_vsrah (vss, vus); | |
5887 | VSRAH VSRAH_DEPR1 | |
5888 | vus __builtin_vec_vsrah (vus, vus); | |
5889 | VSRAH VSRAH_DEPR2 | |
5890 | ||
5891 | [VEC_VSRAW, vec_vsraw, __builtin_vec_vsraw] | |
5892 | vsi __builtin_vec_vsraw (vsi, vui); | |
5893 | VSRAW VSRAW_DEPR1 | |
5894 | vui __builtin_vec_vsraw (vui, vui); | |
5895 | VSRAW VSRAW_DEPR2 | |
5896 | ||
5897 | [VEC_VSRB, vec_vsrb, __builtin_vec_vsrb] | |
5898 | vsc __builtin_vec_vsrb (vsc, vuc); | |
5899 | VSRB VSRB_DEPR1 | |
5900 | vuc __builtin_vec_vsrb (vuc, vuc); | |
5901 | VSRB VSRB_DEPR2 | |
5902 | ||
7e836079 | 5903 | [VEC_VSRD, SKIP, __builtin_vec_vsrd] |
e2693a72 BS |
5904 | vsll __builtin_vec_vsrd (vsll, vull); |
5905 | VSRD VSRD_DEPR1 | |
5906 | vull __builtin_vec_vsrd (vull, vull); | |
5907 | VSRD VSRD_DEPR2 | |
5908 | ||
5909 | [VEC_VSRH, vec_vsrh, __builtin_vec_vsrh] | |
5910 | vss __builtin_vec_vsrh (vss, vus); | |
5911 | VSRH VSRH_DEPR1 | |
5912 | vus __builtin_vec_vsrh (vus, vus); | |
5913 | VSRH VSRH_DEPR2 | |
5914 | ||
5915 | [VEC_VSRW, vec_vsrw, __builtin_vec_vsrw] | |
5916 | vsi __builtin_vec_vsrw (vsi, vui); | |
5917 | VSRW VSRW_DEPR1 | |
5918 | vui __builtin_vec_vsrw (vui, vui); | |
5919 | VSRW VSRW_DEPR2 | |
5920 | ||
7e836079 | 5921 | [VEC_VSTDCDP, scalar_test_data_class_dp, __builtin_vec_scalar_test_data_class_dp] |
e2693a72 BS |
5922 | unsigned int __builtin_vec_scalar_test_data_class_dp (double, const int); |
5923 | VSTDCDP VSTDCDP_DEPR1 | |
5924 | ||
7e836079 | 5925 | [VEC_VSTDCNDP, scalar_test_neg_dp, __builtin_vec_scalar_test_neg_dp] |
e2693a72 BS |
5926 | unsigned int __builtin_vec_scalar_test_neg_dp (double); |
5927 | VSTDCNDP VSTDCNDP_DEPR1 | |
5928 | ||
7e836079 | 5929 | [VEC_VSTDCNQP, scalar_test_neg_qp, __builtin_vec_scalar_test_neg_qp] |
e2693a72 BS |
5930 | unsigned int __builtin_vec_scalar_test_neg_qp (_Float128); |
5931 | VSTDCNQP VSTDCNQP_DEPR1 | |
5932 | ||
7e836079 | 5933 | [VEC_VSTDCNSP, scalar_test_neg_sp, __builtin_vec_scalar_test_neg_sp] |
e2693a72 BS |
5934 | unsigned int __builtin_vec_scalar_test_neg_sp (float); |
5935 | VSTDCNSP VSTDCNSP_DEPR1 | |
5936 | ||
7e836079 | 5937 | [VEC_VSTDCQP, scalar_test_data_class_qp, __builtin_vec_scalar_test_data_class_qp] |
e2693a72 BS |
5938 | unsigned int __builtin_vec_scalar_test_data_class_qp (_Float128, const int); |
5939 | VSTDCQP VSTDCQP_DEPR1 | |
5940 | ||
7e836079 | 5941 | [VEC_VSTDCSP, scalar_test_data_class_sp, __builtin_vec_scalar_test_data_class_sp] |
e2693a72 BS |
5942 | unsigned int __builtin_vec_scalar_test_data_class_sp (float, const int); |
5943 | VSTDCSP VSTDCSP_DEPR1 | |
5944 | ||
aaf29ae6 | 5945 | [VEC_VSUBCUQ, vec_vsubcuq, __builtin_vec_vsubcuq] |
e2693a72 BS |
5946 | vsq __builtin_vec_vsubcuq (vsq, vsq); |
5947 | VSUBCUQ VSUBCUQ_DEPR1 | |
5948 | vuq __builtin_vec_vsubcuq (vuq, vuq); | |
5949 | VSUBCUQ VSUBCUQ_DEPR2 | |
5950 | ||
7e836079 | 5951 | [VEC_VSUBECUQ, vec_vsubecuq, __builtin_vec_vsubecuq] |
e2693a72 BS |
5952 | vsq __builtin_vec_vsubecuq (vsq, vsq, vsq); |
5953 | VSUBECUQ VSUBECUQ_DEPR1 | |
5954 | vuq __builtin_vec_vsubecuq (vuq, vuq, vuq); | |
5955 | VSUBECUQ VSUBECUQ_DEPR2 | |
5956 | ||
7e836079 | 5957 | [VEC_VSUBEUQM, vec_vsubeuqm, __builtin_vec_vsubeuqm] |
e2693a72 BS |
5958 | vsq __builtin_vec_vsubeuqm (vsq, vsq, vsq); |
5959 | VSUBEUQM VSUBEUQM_DEPR1 | |
5960 | vuq __builtin_vec_vsubeuqm (vuq, vuq, vuq); | |
5961 | VSUBEUQM VSUBEUQM_DEPR2 | |
5962 | ||
5963 | [VEC_VSUBFP, vec_vsubfp, __builtin_vec_vsubfp] | |
5964 | vf __builtin_vec_vsubfp (vf, vf); | |
5965 | VSUBFP VSUBFP_DEPR1 | |
5966 | ||
5967 | [VEC_VSUBSBS, vec_vsubsbs, __builtin_vec_vsubsbs] | |
5968 | vsc __builtin_vec_vsubsbs (vsc, vsc); | |
5969 | VSUBSBS VSUBSBS_DEPR1 | |
5970 | vsc __builtin_vec_vsubsbs (vbc, vsc); | |
5971 | VSUBSBS VSUBSBS_DEPR2 | |
5972 | vsc __builtin_vec_vsubsbs (vsc, vbc); | |
5973 | VSUBSBS VSUBSBS_DEPR3 | |
5974 | ||
5975 | [VEC_VSUBSHS, vec_vsubshs, __builtin_vec_vsubshs] | |
5976 | vss __builtin_vec_vsubshs (vss, vss); | |
5977 | VSUBSHS VSUBSHS_DEPR1 | |
5978 | vss __builtin_vec_vsubshs (vbs, vss); | |
5979 | VSUBSHS VSUBSHS_DEPR2 | |
5980 | vss __builtin_vec_vsubshs (vss, vbs); | |
5981 | VSUBSHS VSUBSHS_DEPR3 | |
5982 | ||
5983 | [VEC_VSUBSWS, vec_vsubsws, __builtin_vec_vsubsws] | |
5984 | vsi __builtin_vec_vsubsws (vsi, vsi); | |
5985 | VSUBSWS VSUBSWS_DEPR1 | |
5986 | vsi __builtin_vec_vsubsws (vbi, vsi); | |
5987 | VSUBSWS VSUBSWS_DEPR2 | |
5988 | vsi __builtin_vec_vsubsws (vsi, vbi); | |
5989 | VSUBSWS VSUBSWS_DEPR3 | |
5990 | ||
5991 | [VEC_VSUBUBM, vec_vsububm, __builtin_vec_vsububm] | |
5992 | vsc __builtin_vec_vsububm (vsc, vsc); | |
5993 | VSUBUBM VSUBUBM_DEPR1 | |
5994 | vuc __builtin_vec_vsububm (vsc, vuc); | |
5995 | VSUBUBM VSUBUBM_DEPR2 | |
5996 | vuc __builtin_vec_vsububm (vuc, vsc); | |
5997 | VSUBUBM VSUBUBM_DEPR3 | |
5998 | vuc __builtin_vec_vsububm (vuc, vuc); | |
5999 | VSUBUBM VSUBUBM_DEPR4 | |
6000 | vsc __builtin_vec_vsububm (vbc, vsc); | |
6001 | VSUBUBM VSUBUBM_DEPR5 | |
6002 | vsc __builtin_vec_vsububm (vsc, vbc); | |
6003 | VSUBUBM VSUBUBM_DEPR6 | |
6004 | vuc __builtin_vec_vsububm (vbc, vuc); | |
6005 | VSUBUBM VSUBUBM_DEPR7 | |
6006 | vuc __builtin_vec_vsububm (vuc, vbc); | |
6007 | VSUBUBM VSUBUBM_DEPR8 | |
6008 | ||
6009 | [VEC_VSUBUBS, vec_vsububs, __builtin_vec_vsububs] | |
6010 | vsc __builtin_vec_vsububs (vsc, vsc); | |
6011 | VSUBUBS VSUBUBS_DEPR1 | |
6012 | vsc __builtin_vec_vsububs (vbc, vsc); | |
6013 | VSUBUBS VSUBUBS_DEPR2 | |
6014 | vsc __builtin_vec_vsububs (vsc, vbc); | |
6015 | VSUBUBS VSUBUBS_DEPR3 | |
6016 | vuc __builtin_vec_vsububs (vsc, vuc); | |
6017 | VSUBUBS VSUBUBS_DEPR4 | |
6018 | vuc __builtin_vec_vsububs (vuc, vsc); | |
6019 | VSUBUBS VSUBUBS_DEPR5 | |
6020 | vuc __builtin_vec_vsububs (vuc, vuc); | |
6021 | VSUBUBS VSUBUBS_DEPR6 | |
6022 | vuc __builtin_vec_vsububs (vbc, vuc); | |
6023 | VSUBUBS VSUBUBS_DEPR7 | |
6024 | vuc __builtin_vec_vsububs (vuc, vbc); | |
6025 | VSUBUBS VSUBUBS_DEPR8 | |
6026 | ||
7e836079 | 6027 | [VEC_VSUBUDM, vec_vsubudm, __builtin_vec_vsubudm] |
e2693a72 BS |
6028 | vsll __builtin_vec_vsubudm (vbll, vsll); |
6029 | VSUBUDM VSUBUDM_DEPR1 | |
6030 | vsll __builtin_vec_vsubudm (vsll, vbll); | |
6031 | VSUBUDM VSUBUDM_DEPR2 | |
6032 | vsll __builtin_vec_vsubudm (vsll, vsll); | |
6033 | VSUBUDM VSUBUDM_DEPR3 | |
6034 | vull __builtin_vec_vsubudm (vbll, vull); | |
6035 | VSUBUDM VSUBUDM_DEPR4 | |
6036 | vull __builtin_vec_vsubudm (vull, vbll); | |
6037 | VSUBUDM VSUBUDM_DEPR5 | |
6038 | vull __builtin_vec_vsubudm (vull, vull); | |
6039 | VSUBUDM VSUBUDM_DEPR6 | |
6040 | ||
6041 | [VEC_VSUBUHM, vec_vsubuhm, __builtin_vec_vsubuhm] | |
6042 | vss __builtin_vec_vsubuhm (vss, vss); | |
6043 | VSUBUHM VUSBUHM_DEPR1 | |
6044 | vus __builtin_vec_vsubuhm (vss, vus); | |
6045 | VSUBUHM VUSBUHM_DEPR2 | |
6046 | vus __builtin_vec_vsubuhm (vus, vss); | |
6047 | VSUBUHM VUSBUHM_DEPR3 | |
6048 | vus __builtin_vec_vsubuhm (vus, vus); | |
6049 | VSUBUHM VUSBUHM_DEPR4 | |
6050 | vss __builtin_vec_vsubuhm (vbs, vss); | |
6051 | VSUBUHM VUSBUHM_DEPR5 | |
6052 | vss __builtin_vec_vsubuhm (vss, vbs); | |
6053 | VSUBUHM VUSBUHM_DEPR6 | |
6054 | vus __builtin_vec_vsubuhm (vbs, vus); | |
6055 | VSUBUHM VUSBUHM_DEPR7 | |
6056 | vus __builtin_vec_vsubuhm (vus, vbs); | |
6057 | VSUBUHM VUSBUHM_DEPR8 | |
6058 | ||
6059 | [VEC_VSUBUHS, vec_vsubuhs, __builtin_vec_vsubuhs] | |
6060 | vus __builtin_vec_vsubuhs (vss, vus); | |
6061 | VSUBUHS VSUBUHS_DEPR1 | |
6062 | vus __builtin_vec_vsubuhs (vus, vss); | |
6063 | VSUBUHS VSUBUHS_DEPR2 | |
6064 | vus __builtin_vec_vsubuhs (vus, vus); | |
6065 | VSUBUHS VSUBUHS_DEPR3 | |
6066 | vus __builtin_vec_vsubuhs (vbs, vus); | |
6067 | VSUBUHS VSUBUHS_DEPR4 | |
6068 | vus __builtin_vec_vsubuhs (vus, vbs); | |
6069 | VSUBUHS VSUBUHS_DEPR5 | |
6070 | ||
7e836079 | 6071 | [VEC_VSUBUQM, vec_vsubuqm, __builtin_vec_vsubuqm] |
e2693a72 BS |
6072 | vsq __builtin_vec_vsubuqm (vsq, vsq); |
6073 | VSUBUQM VSUBUQM_DEPR1 | |
6074 | vuq __builtin_vec_vsubuqm (vuq, vuq); | |
6075 | VSUBUQM VSUBUQM_DEPR2 | |
6076 | ||
6077 | [VEC_VSUBUWM, vec_vsubuwm, __builtin_vec_vsubuwm] | |
6078 | vsi __builtin_vec_vsubuwm (vbi, vsi); | |
6079 | VSUBUWM VSUBUWM_DEPR1 | |
6080 | vsi __builtin_vec_vsubuwm (vsi, vbi); | |
6081 | VSUBUWM VSUBUWM_DEPR2 | |
6082 | vui __builtin_vec_vsubuwm (vbi, vui); | |
6083 | VSUBUWM VSUBUWM_DEPR3 | |
6084 | vui __builtin_vec_vsubuwm (vui, vbi); | |
6085 | VSUBUWM VSUBUWM_DEPR4 | |
6086 | vsi __builtin_vec_vsubuwm (vsi, vsi); | |
6087 | VSUBUWM VSUBUWM_DEPR5 | |
6088 | vui __builtin_vec_vsubuwm (vsi, vui); | |
6089 | VSUBUWM VSUBUWM_DEPR6 | |
6090 | vui __builtin_vec_vsubuwm (vui, vsi); | |
6091 | VSUBUWM VSUBUWM_DEPR7 | |
6092 | vui __builtin_vec_vsubuwm (vui, vui); | |
6093 | VSUBUWM VSUBUWM_DEPR8 | |
6094 | ||
6095 | [VEC_VSUBUWS, vec_vsubuws, __builtin_vec_vsubuws] | |
6096 | vui __builtin_vec_vsubuws (vsi, vui); | |
6097 | VSUBUWS VSUBUWS_DEPR1 | |
6098 | vui __builtin_vec_vsubuws (vui, vsi); | |
6099 | VSUBUWS VSUBUWS_DEPR2 | |
6100 | vui __builtin_vec_vsubuws (vui, vui); | |
6101 | VSUBUWS VSUBUWS_DEPR3 | |
6102 | vui __builtin_vec_vsubuws (vbi, vui); | |
6103 | VSUBUWS VSUBUWS_DEPR4 | |
6104 | vui __builtin_vec_vsubuws (vui, vbi); | |
6105 | VSUBUWS VSUBUWS_DEPR5 | |
6106 | ||
6107 | [VEC_VSUM4SBS, vec_vsum4sbs, __builtin_vec_vsum4sbs] | |
6108 | vsi __builtin_vec_vsum4sbs (vsc, vsi); | |
6109 | VSUM4SBS VSUM4SBS_DEPR1 | |
6110 | ||
6111 | [VEC_VSUM4SHS, vec_vsum4shs, __builtin_vec_vsum4shs] | |
6112 | vsi __builtin_vec_vsum4shs (vss, vsi); | |
6113 | VSUM4SHS VSUM4SHS_DEPR1 | |
6114 | ||
6115 | [VEC_VSUM4UBS, vec_vsum4ubs, __builtin_vec_vsum4ubs] | |
6116 | vui __builtin_vec_vsum4ubs (vuc, vui); | |
6117 | VSUM4UBS VSUM4UBS_DEPR1 | |
6118 | ||
7e836079 | 6119 | [VEC_VTDCDP, vec_test_data_class_dp, __builtin_vec_test_data_class_dp] |
e2693a72 BS |
6120 | vbll __builtin_vec_test_data_class_dp (vd, const int); |
6121 | VTDCDP VTDCDP_DEPR1 | |
6122 | ||
7e836079 | 6123 | [VEC_VTDCSP, vec_test_data_class_sp, __builtin_vec_test_data_class_sp] |
e2693a72 BS |
6124 | vbi __builtin_vec_test_data_class_sp (vf, const int); |
6125 | VTDCSP VTDCSP_DEPR1 | |
6126 | ||
6127 | [VEC_UNS_DOUBLEE, vec_uns_doublee, __builtin_vec_uns_doublee] | |
6128 | vd __builtin_vec_uns_doublee (vui); | |
6129 | UNS_DOUBLEE_V4SI UNS_DOUBLEE_DEPR1 | |
6130 | ||
6131 | [VEC_UNS_DOUBLEH, vec_uns_doubleh, __builtin_vec_uns_doubleh] | |
6132 | vd __builtin_vec_uns_doubleh (vui); | |
6133 | UNS_DOUBLEH_V4SI UNS_DOUBLEH_DEPR1 | |
6134 | ||
6135 | [VEC_UNS_DOUBLEL, vec_uns_doublel, __builtin_vec_uns_doublel] | |
6136 | vd __builtin_vec_uns_doublel (vui); | |
6137 | UNS_DOUBLEL_V4SI UNS_DOUBLEL_DEPR1 | |
6138 | ||
6139 | [VEC_UNS_DOUBLEO, vec_uns_doubleo, __builtin_vec_uns_doubleo] | |
6140 | vd __builtin_vec_uns_doubleo (vui); | |
6141 | UNS_DOUBLEO_V4SI UNS_DOUBLEO_DEPR1 | |
6142 | ||
6143 | [VEC_VUPKHPX, vec_vupkhpx, __builtin_vec_vupkhpx] | |
6144 | vui __builtin_vec_vupkhpx (vus); | |
6145 | VUPKHPX VUPKHPX_DEPR1 | |
6146 | vui __builtin_vec_vupkhpx (vp); | |
6147 | VUPKHPX VUPKHPX_DEPR2 | |
6148 | ||
6149 | [VEC_VUPKHSB, vec_vupkhsb, __builtin_vec_vupkhsb] | |
6150 | vss __builtin_vec_vupkhsb (vsc); | |
6151 | VUPKHSB VUPKHSB_DEPR1 | |
6152 | vbs __builtin_vec_vupkhsb (vbc); | |
6153 | VUPKHSB VUPKHSB_DEPR2 | |
6154 | ||
6155 | [VEC_VUPKHSH, vec_vupkhsh, __builtin_vec_vupkhsh] | |
6156 | vsi __builtin_vec_vupkhsh (vss); | |
6157 | VUPKHSH VUPKHSH_DEPR1 | |
6158 | vbi __builtin_vec_vupkhsh (vbs); | |
6159 | VUPKHSH VUPKHSH_DEPR2 | |
6160 | ||
7e836079 | 6161 | [VEC_VUPKHSW, vec_vupkhsw, __builtin_vec_vupkhsw] |
e2693a72 BS |
6162 | vsll __builtin_vec_vupkhsw (vsi); |
6163 | VUPKHSW VUPKHSW_DEPR1 | |
6164 | vbll __builtin_vec_vupkhsw (vbi); | |
6165 | VUPKHSW VUPKHSW_DEPR2 | |
6166 | ||
6167 | [VEC_VUPKLPX, vec_vupklpx, __builtin_vec_vupklpx] | |
6168 | vui __builtin_vec_vupklpx (vus); | |
6169 | VUPKLPX VUPKLPX_DEPR1 | |
6170 | vui __builtin_vec_vupklpx (vp); | |
6171 | VUPKLPX VUPKLPX_DEPR2 | |
6172 | ||
6173 | [VEC_VUPKLSB, vec_vupklsb, __builtin_vec_vupklsb] | |
6174 | vss __builtin_vec_vupklsb (vsc); | |
6175 | VUPKLSB VUPKLSB_DEPR1 | |
6176 | vbs __builtin_vec_vupklsb (vbc); | |
6177 | VUPKLSB VUPKLSB_DEPR2 | |
6178 | ||
6179 | [VEC_VUPKLSH, vec_vupklsh, __builtin_vec_vupklsh] | |
6180 | vsi __builtin_vec_vupklsh (vss); | |
6181 | VUPKLSH VUPKLSH_DEPR1 | |
6182 | vbi __builtin_vec_vupklsh (vbs); | |
6183 | VUPKLSH VUPKLSH_DEPR2 | |
6184 | ||
7e836079 | 6185 | [VEC_VUPKLSW, vec_vupklsw, __builtin_vec_vupklsw] |
e2693a72 BS |
6186 | vsll __builtin_vec_vupklsw (vsi); |
6187 | VUPKLSW VUPKLSW_DEPR1 | |
6188 | vbll __builtin_vec_vupklsw (vbi); | |
6189 | VUPKLSW VUPKLSW_DEPR2 |