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