| ; Overloaded built-in functions for PowerPC. |
| ; Copyright (C) 2020-2022 Free Software Foundation, Inc. |
| ; Contributed by Bill Schmidt, IBM <wschmidt@linux.ibm.com> |
| ; |
| ; This file is part of GCC. |
| ; |
| ; GCC is free software; you can redistribute it and/or modify it under |
| ; the terms of the GNU General Public License as published by the Free |
| ; Software Foundation; either version 3, or (at your option) any later |
| ; version. |
| ; |
| ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
| ; WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| ; for more details. |
| ; |
| ; You should have received a copy of the GNU General Public License |
| ; along with GCC; see the file COPYING3. If not see |
| ; <http://www.gnu.org/licenses/>. |
| |
| |
| ; Overloaded built-in functions in this file are organized into "stanzas", |
| ; where all built-ins in a given stanza have the same overloaded function |
| ; name: |
| ; |
| ; [<overload-id>, <abi-name>, <builtin-name>[[, <ifdef>]] ] |
| ; |
| ; Here the single square brackets are part of the syntax; <overload-id> |
| ; is a unique internal identifier for the overload that will be used as |
| ; part of an enumeration of all overloaded functions; <abi-name> is the |
| ; name that will appear as a #define in rs6000-vecdefines.h; |
| ; <builtin-name> is the name that is overloaded in the back end; and |
| ; <ifdef> is an optional token used to guard the #define with an #ifdef |
| ; in rs6000-vecdefines.h. If no #define is desired, the <abi-name> should |
| ; be replaced with the token SKIP. |
| ; |
| ; The <ifdef> token should be used sparingly, because a #define can't be |
| ; overridden by __attribute__((target)). It is appropriate for cases |
| ; where a target override isn't a possibility, like __PPU__. |
| ; |
| ; Each function entry has two lines. The first line is a prototype line. |
| ; See rs6000-builtin-new.def for a description of the prototype line. |
| ; A prototype line in this file differs in that it doesn't have an |
| ; optional [kind] token: |
| ; |
| ; <return-type> <internal-name> (<argument-list>); |
| ; |
| ; The second line contains the <bif-id> that this particular instance of |
| ; the overloaded function maps to. It must match a token that appears in |
| ; rs6000-builtin-new.def. Optionally, a second token may appear. If only |
| ; one token is on the line, it is also used to build the unique identifier |
| ; for the overloaded function. If a second token is present, the second |
| ; token is used instead for this purpose. This is necessary in cases |
| ; where a built-in function accepts more than one type signature. It is |
| ; common to have a built-in function that, for example, specifies a |
| ; "vector signed char" argument, but accepts "vector unsigned char" and |
| ; "vector bool char" as well because only the mode matters. Note that |
| ; the overload resolution mechanism has always handled these cases by |
| ; performing fold_convert on vector arguments to hide type mismatches, |
| ; and it will continue to do so. |
| ; |
| ; As a concrete example, __builtin_altivec_mtvscr uses an opaque argument |
| ; type for the source operand. Its built-in function id is MTVSCR. The |
| ; overloaded function __builtin_vec_mtvscr takes a variety of specific |
| ; types, but not all vector types. Each of these maps to the same |
| ; __builtin_altivec_mtvscr built-in function, but the overload ID must |
| ; be unique, so we must specify the second token as shown here. |
| ; |
| ;[VEC_MTVSCR, vec_mtvscr, __builtin_vec_mtvscr] |
| ; void __builtin_vec_mtvscr (vbc); |
| ; MTVSCR MTVSCR_VBC |
| ; void __builtin_vec_mtvscr (vsc); |
| ; MTVSCR MTVSCR_VSC |
| ; ... |
| ; |
| ; Blank lines may be used as desired in this file between the lines as |
| ; defined above; that is, you can introduce as many extra newlines as you |
| ; like after a required newline, but nowhere else. Lines beginning with |
| ; a semicolon are also treated as blank lines. |
| |
| |
| [BCDADD, __builtin_bcdadd, __builtin_vec_bcdadd] |
| vsq __builtin_vec_bcdadd (vsq, vsq, const int); |
| BCDADD_V1TI |
| vuc __builtin_vec_bcdadd (vuc, vuc, const int); |
| BCDADD_V16QI |
| |
| [BCDADD_EQ, __builtin_bcdadd_eq, __builtin_vec_bcdadd_eq] |
| signed int __builtin_vec_bcdadd_eq (vsq, vsq, const int); |
| BCDADD_EQ_V1TI |
| signed int __builtin_vec_bcdadd_eq (vuc, vuc, const int); |
| BCDADD_EQ_V16QI |
| |
| [BCDADD_GT, __builtin_bcdadd_gt, __builtin_vec_bcdadd_gt] |
| signed int __builtin_vec_bcdadd_gt (vsq, vsq, const int); |
| BCDADD_GT_V1TI |
| signed int __builtin_vec_bcdadd_gt (vuc, vuc, const int); |
| BCDADD_GT_V16QI |
| |
| [BCDADD_LT, __builtin_bcdadd_lt, __builtin_vec_bcdadd_lt] |
| signed int __builtin_vec_bcdadd_lt (vsq, vsq, const int); |
| BCDADD_LT_V1TI |
| signed int __builtin_vec_bcdadd_lt (vuc, vuc, const int); |
| BCDADD_LT_V16QI |
| |
| [BCDADD_OV, __builtin_bcdadd_ov, __builtin_vec_bcdadd_ov] |
| signed int __builtin_vec_bcdadd_ov (vsq, vsq, const int); |
| BCDADD_OV_V1TI |
| signed int __builtin_vec_bcdadd_ov (vuc, vuc, const int); |
| BCDADD_OV_V16QI |
| |
| [BCDDIV10, __builtin_bcddiv10, __builtin_vec_bcddiv10] |
| vuc __builtin_vec_bcddiv10 (vuc); |
| BCDDIV10_V16QI |
| |
| [BCDINVALID, __builtin_bcdinvalid, __builtin_vec_bcdinvalid] |
| signed int __builtin_vec_bcdinvalid (vsq); |
| BCDINVALID_V1TI |
| signed int __builtin_vec_bcdinvalid (vuc); |
| BCDINVALID_V16QI |
| |
| [BCDMUL10, __builtin_bcdmul10, __builtin_vec_bcdmul10] |
| vuc __builtin_vec_bcdmul10 (vuc); |
| BCDMUL10_V16QI |
| |
| [BCDSUB, __builtin_bcdsub, __builtin_vec_bcdsub] |
| vsq __builtin_vec_bcdsub (vsq, vsq, const int); |
| BCDSUB_V1TI |
| vuc __builtin_vec_bcdsub (vuc, vuc, const int); |
| BCDSUB_V16QI |
| |
| [BCDSUB_EQ, __builtin_bcdsub_eq, __builtin_vec_bcdsub_eq] |
| signed int __builtin_vec_bcdsub_eq (vsq, vsq, const int); |
| BCDSUB_EQ_V1TI |
| signed int __builtin_vec_bcdsub_eq (vuc, vuc, const int); |
| BCDSUB_EQ_V16QI |
| |
| [BCDSUB_GE, __builtin_bcdsub_ge, __builtin_vec_bcdsub_ge] |
| signed int __builtin_vec_bcdsub_ge (vsq, vsq, const int); |
| BCDSUB_GE_V1TI |
| signed int __builtin_vec_bcdsub_ge (vuc, vuc, const int); |
| BCDSUB_GE_V16QI |
| |
| [BCDSUB_GT, __builtin_bcdsub_gt, __builtin_vec_bcdsub_gt] |
| signed int __builtin_vec_bcdsub_gt (vsq, vsq, const int); |
| BCDSUB_GT_V1TI |
| signed int __builtin_vec_bcdsub_gt (vuc, vuc, const int); |
| BCDSUB_GT_V16QI |
| |
| [BCDSUB_LE, __builtin_bcdsub_le, __builtin_vec_bcdsub_le] |
| signed int __builtin_vec_bcdsub_le (vsq, vsq, const int); |
| BCDSUB_LE_V1TI |
| signed int __builtin_vec_bcdsub_le (vuc, vuc, const int); |
| BCDSUB_LE_V16QI |
| |
| [BCDSUB_LT, __builtin_bcdsub_lt, __builtin_vec_bcdsub_lt] |
| signed int __builtin_vec_bcdsub_lt (vsq, vsq, const int); |
| BCDSUB_LT_V1TI |
| signed int __builtin_vec_bcdsub_lt (vuc, vuc, const int); |
| BCDSUB_LT_V16QI |
| |
| [BCDSUB_OV, __builtin_bcdsub_ov, __builtin_vec_bcdsub_ov] |
| signed int __builtin_vec_bcdsub_ov (vsq, vsq, const int); |
| BCDSUB_OV_V1TI |
| signed int __builtin_vec_bcdsub_ov (vuc, vuc, const int); |
| BCDSUB_OV_V16QI |
| |
| [BCD2DFP, __builtin_bcd2dfp, __builtin_vec_denb2dfp] |
| _Decimal128 __builtin_vec_denb2dfp (vuc); |
| DENB2DFP_V16QI |
| |
| [CRYPTO_PERMXOR, SKIP, __builtin_crypto_vpermxor] |
| vuc __builtin_crypto_vpermxor (vuc, vuc, vuc); |
| VPERMXOR_V16QI |
| vus __builtin_crypto_vpermxor (vus, vus, vus); |
| VPERMXOR_V8HI |
| vui __builtin_crypto_vpermxor (vui, vui, vui); |
| VPERMXOR_V4SI |
| vull __builtin_crypto_vpermxor (vull, vull, vull); |
| VPERMXOR_V2DI |
| |
| [CRYPTO_PMSUM, SKIP, __builtin_crypto_vpmsum] |
| vuc __builtin_crypto_vpmsum (vuc, vuc); |
| VPMSUMB VPMSUMB_C |
| vus __builtin_crypto_vpmsum (vus, vus); |
| VPMSUMH VPMSUMH_C |
| vui __builtin_crypto_vpmsum (vui, vui); |
| VPMSUMW VPMSUMW_C |
| vull __builtin_crypto_vpmsum (vull, vull); |
| VPMSUMD VPMSUMD_C |
| |
| [SCAL_CMPB, SKIP, __builtin_cmpb] |
| unsigned int __builtin_cmpb (unsigned int, unsigned int); |
| CMPB_32 |
| unsigned long long __builtin_cmpb (unsigned long long, unsigned long long); |
| CMPB |
| |
| [VEC_ABS, vec_abs, __builtin_vec_abs] |
| vsc __builtin_vec_abs (vsc); |
| ABS_V16QI |
| vss __builtin_vec_abs (vss); |
| ABS_V8HI |
| vsi __builtin_vec_abs (vsi); |
| ABS_V4SI |
| vsll __builtin_vec_abs (vsll); |
| ABS_V2DI |
| vf __builtin_vec_abs (vf); |
| ABS_V4SF |
| vd __builtin_vec_abs (vd); |
| XVABSDP |
| |
| [VEC_ABSD, vec_absd, __builtin_vec_vadu] |
| vuc __builtin_vec_vadu (vuc, vuc); |
| VADUB |
| vus __builtin_vec_vadu (vus, vus); |
| VADUH |
| vui __builtin_vec_vadu (vui, vui); |
| VADUW |
| |
| [VEC_ABSS, vec_abss, __builtin_vec_abss] |
| vsc __builtin_vec_abss (vsc); |
| ABSS_V16QI |
| vss __builtin_vec_abss (vss); |
| ABSS_V8HI |
| vsi __builtin_vec_abss (vsi); |
| ABSS_V4SI |
| |
| [VEC_ADD, vec_add, __builtin_vec_add] |
| vsc __builtin_vec_add (vsc, vsc); |
| VADDUBM VADDUBM_VSC |
| vuc __builtin_vec_add (vuc, vuc); |
| VADDUBM VADDUBM_VUC |
| vss __builtin_vec_add (vss, vss); |
| VADDUHM VADDUHM_VSS |
| vus __builtin_vec_add (vus, vus); |
| VADDUHM VADDUHM_VUS |
| vsi __builtin_vec_add (vsi, vsi); |
| VADDUWM VADDUWM_VSI |
| vui __builtin_vec_add (vui, vui); |
| VADDUWM VADDUWM_VUI |
| vsll __builtin_vec_add (vsll, vsll); |
| VADDUDM VADDUDM_VSLL |
| vull __builtin_vec_add (vull, vull); |
| VADDUDM VADDUDM_VULL |
| vsq __builtin_vec_add (vsq, vsq); |
| VADDUQM VADDUQM_VSQ |
| vuq __builtin_vec_add (vuq, vuq); |
| VADDUQM VADDUQM_VUQ |
| vf __builtin_vec_add (vf, vf); |
| VADDFP |
| vd __builtin_vec_add (vd, vd); |
| XVADDDP |
| ; The following variants are deprecated. |
| vsc __builtin_vec_add (vbc, vsc); |
| VADDUBM VADDUBM_VBC_VSC |
| vsc __builtin_vec_add (vsc, vbc); |
| VADDUBM VADDUBM_VSC_VBC |
| vuc __builtin_vec_add (vbc, vuc); |
| VADDUBM VADDUBM_VBC_VUC |
| vuc __builtin_vec_add (vuc, vbc); |
| VADDUBM VADDUBM_VUC_VBC |
| vss __builtin_vec_add (vbs, vss); |
| VADDUHM VADDUHM_VBS_VSS |
| vss __builtin_vec_add (vss, vbs); |
| VADDUHM VADDUHM_VSS_VBS |
| vus __builtin_vec_add (vbs, vus); |
| VADDUHM VADDUHM_VBS_VUS |
| vus __builtin_vec_add (vus, vbs); |
| VADDUHM VADDUHM_VUS_VBS |
| vsi __builtin_vec_add (vbi, vsi); |
| VADDUWM VADDUWM_VBI_VSI |
| vsi __builtin_vec_add (vsi, vbi); |
| VADDUWM VADDUWM_VSI_VBI |
| vui __builtin_vec_add (vbi, vui); |
| VADDUWM VADDUWM_VBI_VUI |
| vui __builtin_vec_add (vui, vbi); |
| VADDUWM VADDUWM_VUI_VBI |
| vsll __builtin_vec_add (vbll, vsll); |
| VADDUDM VADDUDM_VBLL_VSLL |
| vsll __builtin_vec_add (vsll, vbll); |
| VADDUDM VADDUDM_VSLL_VBLL |
| vull __builtin_vec_add (vbll, vull); |
| VADDUDM VADDUDM_VBLL_VULL |
| vull __builtin_vec_add (vull, vbll); |
| VADDUDM VADDUDM_VULL_VBLL |
| |
| [VEC_ADDC, vec_addc, __builtin_vec_addc] |
| vsi __builtin_vec_addc (vsi, vsi); |
| VADDCUW VADDCUW_VSI |
| vui __builtin_vec_addc (vui, vui); |
| VADDCUW VADDCUW_VUI |
| vsq __builtin_vec_addc (vsq, vsq); |
| VADDCUQ VADDCUQ_VSQ |
| vuq __builtin_vec_addc (vuq, vuq); |
| VADDCUQ VADDCUQ_VUQ |
| |
| ; TODO: Note that the entry for VEC_ADDE currently gets ignored in |
| ; altivec_resolve_overloaded_builtin. Revisit whether we can remove |
| ; that. We still need to register the legal builtin forms here. |
| [VEC_ADDE, vec_adde, __builtin_vec_adde] |
| vsq __builtin_vec_adde (vsq, vsq, vsq); |
| VADDEUQM VADDEUQM_VSQ |
| vuq __builtin_vec_adde (vuq, vuq, vuq); |
| VADDEUQM VADDEUQM_VUQ |
| |
| ; TODO: Note that the entry for VEC_ADDEC currently gets ignored in |
| ; altivec_resolve_overloaded_builtin. Revisit whether we can remove |
| ; that. We still need to register the legal builtin forms here. |
| [VEC_ADDEC, vec_addec, __builtin_vec_addec] |
| vsq __builtin_vec_addec (vsq, vsq, vsq); |
| VADDECUQ VADDECUQ_VSQ |
| vuq __builtin_vec_addec (vuq, vuq, vuq); |
| VADDECUQ VADDECUQ_VUQ |
| |
| [VEC_ADDS, vec_adds, __builtin_vec_adds] |
| vuc __builtin_vec_adds (vuc, vuc); |
| VADDUBS |
| vsc __builtin_vec_adds (vsc, vsc); |
| VADDSBS |
| vus __builtin_vec_adds (vus, vus); |
| VADDUHS |
| vss __builtin_vec_adds (vss, vss); |
| VADDSHS |
| vui __builtin_vec_adds (vui, vui); |
| VADDUWS |
| vsi __builtin_vec_adds (vsi, vsi); |
| VADDSWS |
| ; The following variants are deprecated. |
| vuc __builtin_vec_adds (vbc, vuc); |
| VADDUBS VADDUBS_BU |
| vuc __builtin_vec_adds (vuc, vbc); |
| VADDUBS VADDUBS_UB |
| vsc __builtin_vec_adds (vbc, vsc); |
| VADDSBS VADDSBS_BS |
| vsc __builtin_vec_adds (vsc, vbc); |
| VADDSBS VADDSBS_SB |
| vus __builtin_vec_adds (vbs, vus); |
| VADDUHS VADDUHS_BU |
| vus __builtin_vec_adds (vus, vbs); |
| VADDUHS VADDUHS_UB |
| vss __builtin_vec_adds (vbs, vss); |
| VADDSHS VADDSHS_BS |
| vss __builtin_vec_adds (vss, vbs); |
| VADDSHS VADDSHS_SB |
| vui __builtin_vec_adds (vbi, vui); |
| VADDUWS VADDUWS_BU |
| vui __builtin_vec_adds (vui, vbi); |
| VADDUWS VADDUWS_UB |
| vsi __builtin_vec_adds (vbi, vsi); |
| VADDSWS VADDSWS_BS |
| vsi __builtin_vec_adds (vsi, vbi); |
| VADDSWS VADDSWS_SB |
| |
| [VEC_AND, vec_and, __builtin_vec_and] |
| vsc __builtin_vec_and (vsc, vsc); |
| VAND_V16QI |
| vuc __builtin_vec_and (vuc, vuc); |
| VAND_V16QI_UNS VAND_VUC |
| vbc __builtin_vec_and (vbc, vbc); |
| VAND_V16QI_UNS VAND_VBC |
| vss __builtin_vec_and (vss, vss); |
| VAND_V8HI |
| vus __builtin_vec_and (vus, vus); |
| VAND_V8HI_UNS VAND_VUS |
| vbs __builtin_vec_and (vbs, vbs); |
| VAND_V8HI_UNS VAND_VBS |
| vsi __builtin_vec_and (vsi, vsi); |
| VAND_V4SI |
| vui __builtin_vec_and (vui, vui); |
| VAND_V4SI_UNS VAND_VUI |
| vbi __builtin_vec_and (vbi, vbi); |
| VAND_V4SI_UNS VAND_VBI |
| vsll __builtin_vec_and (vsll, vsll); |
| VAND_V2DI |
| vull __builtin_vec_and (vull, vull); |
| VAND_V2DI_UNS VAND_VULL |
| vbll __builtin_vec_and (vbll, vbll); |
| VAND_V2DI_UNS VAND_VBLL |
| vf __builtin_vec_and (vf, vf); |
| VAND_V4SF |
| vd __builtin_vec_and (vd, vd); |
| VAND_V2DF |
| ; The following variants are deprecated. |
| vsc __builtin_vec_and (vsc, vbc); |
| VAND_V16QI VAND_VSC_VBC |
| vsc __builtin_vec_and (vbc, vsc); |
| VAND_V16QI VAND_VBC_VSC |
| vuc __builtin_vec_and (vuc, vbc); |
| VAND_V16QI_UNS VAND_VUC_VBC |
| vuc __builtin_vec_and (vbc, vuc); |
| VAND_V16QI_UNS VAND_VBC_VUC |
| vss __builtin_vec_and (vss, vbs); |
| VAND_V8HI VAND_VSS_VBS |
| vss __builtin_vec_and (vbs, vss); |
| VAND_V8HI VAND_VBS_VSS |
| vus __builtin_vec_and (vus, vbs); |
| VAND_V8HI_UNS VAND_VUS_VBS |
| vus __builtin_vec_and (vbs, vus); |
| VAND_V8HI_UNS VAND_VBS_VUS |
| vsi __builtin_vec_and (vsi, vbi); |
| VAND_V4SI VAND_VSI_VBI |
| vsi __builtin_vec_and (vbi, vsi); |
| VAND_V4SI VAND_VBI_VSI |
| vui __builtin_vec_and (vui, vbi); |
| VAND_V4SI_UNS VAND_VUI_VBI |
| vui __builtin_vec_and (vbi, vui); |
| VAND_V4SI_UNS VAND_VBI_VUI |
| vsll __builtin_vec_and (vsll, vbll); |
| VAND_V2DI VAND_VSLL_VBLL |
| vsll __builtin_vec_and (vbll, vsll); |
| VAND_V2DI VAND_VBLL_VSLL |
| vull __builtin_vec_and (vull, vbll); |
| VAND_V2DI_UNS VAND_VULL_VBLL |
| vull __builtin_vec_and (vbll, vull); |
| VAND_V2DI_UNS VAND_VBLL_VULL |
| vf __builtin_vec_and (vf, vbi); |
| VAND_V4SF VAND_VF_VBI |
| vf __builtin_vec_and (vbi, vf); |
| VAND_V4SF VAND_VBI_VF |
| vd __builtin_vec_and (vd, vbll); |
| VAND_V2DF VAND_VD_VBLL |
| vd __builtin_vec_and (vbll, vd); |
| VAND_V2DF VAND_VBLL_VD |
| |
| [VEC_ANDC, vec_andc, __builtin_vec_andc] |
| vbc __builtin_vec_andc (vbc, vbc); |
| VANDC_V16QI_UNS VANDC_VBC |
| vsc __builtin_vec_andc (vsc, vsc); |
| VANDC_V16QI |
| vuc __builtin_vec_andc (vuc, vuc); |
| VANDC_V16QI_UNS VANDC_VUC |
| vbs __builtin_vec_andc (vbs, vbs); |
| VANDC_V8HI_UNS VANDC_VBS |
| vss __builtin_vec_andc (vss, vss); |
| VANDC_V8HI |
| vus __builtin_vec_andc (vus, vus); |
| VANDC_V8HI_UNS VANDC_VUS |
| vbi __builtin_vec_andc (vbi, vbi); |
| VANDC_V4SI_UNS VANDC_VBI |
| vsi __builtin_vec_andc (vsi, vsi); |
| VANDC_V4SI |
| vui __builtin_vec_andc (vui, vui); |
| VANDC_V4SI_UNS VANDC_VUI |
| vbll __builtin_vec_andc (vbll, vbll); |
| VANDC_V2DI_UNS VANDC_VBLL |
| vsll __builtin_vec_andc (vsll, vsll); |
| VANDC_V2DI |
| vull __builtin_vec_andc (vull, vull); |
| VANDC_V2DI_UNS VANDC_VULL |
| vf __builtin_vec_andc (vf, vf); |
| VANDC_V4SF |
| vd __builtin_vec_andc (vd, vd); |
| VANDC_V2DF |
| ; The following variants are deprecated. |
| vsc __builtin_vec_andc (vsc, vbc); |
| VANDC_V16QI VANDC_VSC_VBC |
| vsc __builtin_vec_andc (vbc, vsc); |
| VANDC_V16QI VANDC_VBC_VSC |
| vuc __builtin_vec_andc (vuc, vbc); |
| VANDC_V16QI_UNS VANDC_VUC_VBC |
| vuc __builtin_vec_andc (vbc, vuc); |
| VANDC_V16QI_UNS VANDC_VBC_VUC |
| vss __builtin_vec_andc (vss, vbs); |
| VANDC_V8HI VANDC_VSS_VBS |
| vss __builtin_vec_andc (vbs, vss); |
| VANDC_V8HI VANDC_VBS_VSS |
| vus __builtin_vec_andc (vus, vbs); |
| VANDC_V8HI_UNS VANDC_VUS_VBS |
| vus __builtin_vec_andc (vbs, vus); |
| VANDC_V8HI_UNS VANDC_VBS_VUS |
| vsi __builtin_vec_andc (vsi, vbi); |
| VANDC_V4SI VANDC_VSI_VBI |
| vsi __builtin_vec_andc (vbi, vsi); |
| VANDC_V4SI VANDC_VBI_VSI |
| vui __builtin_vec_andc (vui, vbi); |
| VANDC_V4SI_UNS VANDC_VUI_VBI |
| vui __builtin_vec_andc (vbi, vui); |
| VANDC_V4SI_UNS VANDC_VBI_VUI |
| vsll __builtin_vec_andc (vsll, vbll); |
| VANDC_V2DI VANDC_VSLL_VBLL |
| vsll __builtin_vec_andc (vbll, vsll); |
| VANDC_V2DI VANDC_VBLL_VSLL |
| vull __builtin_vec_andc (vull, vbll); |
| VANDC_V2DI_UNS VANDC_VULL_VBLL |
| vull __builtin_vec_andc (vbll, vull); |
| VANDC_V2DI_UNS VANDC_VBLL_VULL |
| vf __builtin_vec_andc (vf, vbi); |
| VANDC_V4SF VANDC_VF_VBI |
| vf __builtin_vec_andc (vbi, vf); |
| VANDC_V4SF VANDC_VBI_VF |
| vd __builtin_vec_andc (vd, vbll); |
| VANDC_V2DF VANDC_VD_VBLL |
| vd __builtin_vec_andc (vbll, vd); |
| VANDC_V2DF VANDC_VBLL_VD |
| |
| [VEC_AVG, vec_avg, __builtin_vec_avg] |
| vsc __builtin_vec_avg (vsc, vsc); |
| VAVGSB |
| vuc __builtin_vec_avg (vuc, vuc); |
| VAVGUB |
| vss __builtin_vec_avg (vss, vss); |
| VAVGSH |
| vus __builtin_vec_avg (vus, vus); |
| VAVGUH |
| vsi __builtin_vec_avg (vsi, vsi); |
| VAVGSW |
| vui __builtin_vec_avg (vui, vui); |
| VAVGUW |
| |
| [VEC_BLENDV, vec_blendv, __builtin_vec_xxblend] |
| vsc __builtin_vec_xxblend (vsc, vsc, vuc); |
| VXXBLEND_V16QI VXXBLEND_VSC |
| vuc __builtin_vec_xxblend (vuc, vuc, vuc); |
| VXXBLEND_V16QI VXXBLEND_VUC |
| vss __builtin_vec_xxblend (vss, vss, vus); |
| VXXBLEND_V8HI VXXBLEND_VSS |
| vus __builtin_vec_xxblend (vus, vus, vus); |
| VXXBLEND_V8HI VXXBLEND_VUS |
| vsi __builtin_vec_xxblend (vsi, vsi, vui); |
| VXXBLEND_V4SI VXXBLEND_VSI |
| vui __builtin_vec_xxblend (vui, vui, vui); |
| VXXBLEND_V4SI VXXBLEND_VUI |
| vsll __builtin_vec_xxblend (vsll, vsll, vull); |
| VXXBLEND_V2DI VXXBLEND_VSLL |
| vull __builtin_vec_xxblend (vull, vull, vull); |
| VXXBLEND_V2DI VXXBLEND_VULL |
| vf __builtin_vec_xxblend (vf, vf, vui); |
| VXXBLEND_V4SF |
| vd __builtin_vec_xxblend (vd, vd, vull); |
| VXXBLEND_V2DF |
| |
| [VEC_BPERM, vec_bperm, __builtin_vec_vbperm_api] |
| vull __builtin_vec_vbperm_api (vull, vuc); |
| VBPERMD VBPERMD_VULL |
| vull __builtin_vec_vbperm_api (vuq, vuc); |
| VBPERMQ VBPERMQ_VUQ |
| vuc __builtin_vec_vbperm_api (vuc, vuc); |
| VBPERMQ2 VBPERMQ2_U |
| vsc __builtin_vec_vbperm_api (vsc, vsc); |
| VBPERMQ2 VBPERMQ2_S |
| |
| [VEC_CEIL, vec_ceil, __builtin_vec_ceil] |
| vf __builtin_vec_ceil (vf); |
| VRFIP |
| vd __builtin_vec_ceil (vd); |
| XVRDPIP |
| |
| [VEC_CFUGE, vec_cfuge, __builtin_vec_cfuge] |
| vull __builtin_vec_cfuge (vull, vull); |
| VCFUGED |
| |
| [VEC_CIPHER_BE, vec_cipher_be, __builtin_vec_vcipher_be] |
| vuc __builtin_vec_vcipher_be (vuc, vuc); |
| VCIPHER_BE |
| |
| [VEC_CIPHERLAST_BE, vec_cipherlast_be, __builtin_vec_vcipherlast_be] |
| vuc __builtin_vec_vcipherlast_be (vuc, vuc); |
| VCIPHERLAST_BE |
| |
| [VEC_CLRL, vec_clrl, __builtin_vec_clrl] |
| vsc __builtin_vec_clrl (vsc, unsigned int); |
| VCLRLB VCLRLB_S |
| vuc __builtin_vec_clrl (vuc, unsigned int); |
| VCLRLB VCLRLB_U |
| |
| [VEC_CLRR, vec_clrr, __builtin_vec_clrr] |
| vsc __builtin_vec_clrr (vsc, unsigned int); |
| VCLRRB VCLRRB_S |
| vuc __builtin_vec_clrr (vuc, unsigned int); |
| VCLRRB VCLRRB_U |
| |
| ; We skip generating a #define because of the C-versus-C++ complexity |
| ; in altivec.h. Look there for the template-y details. |
| [VEC_CMPAE_P, SKIP, __builtin_vec_vcmpae_p] |
| signed int __builtin_vec_vcmpae_p (vsc, vsc); |
| VCMPAEB_P VCMPAEB_VSC_P |
| signed int __builtin_vec_vcmpae_p (vuc, vuc); |
| VCMPAEB_P VCMPAEB_VUC_P |
| signed int __builtin_vec_vcmpae_p (vbc, vbc); |
| VCMPAEB_P VCMPAEB_VBC_P |
| signed int __builtin_vec_vcmpae_p (vss, vss); |
| VCMPAEH_P VCMPAEH_VSS_P |
| signed int __builtin_vec_vcmpae_p (vus, vus); |
| VCMPAEH_P VCMPAEH_VUS_P |
| signed int __builtin_vec_vcmpae_p (vbs, vbs); |
| VCMPAEH_P VCMPAEH_VBS_P |
| signed int __builtin_vec_vcmpae_p (vp, vp); |
| VCMPAEH_P VCMPAEH_VP_P |
| signed int __builtin_vec_vcmpae_p (vsi, vsi); |
| VCMPAEW_P VCMPAEW_VSI_P |
| signed int __builtin_vec_vcmpae_p (vui, vui); |
| VCMPAEW_P VCMPAEW_VUI_P |
| signed int __builtin_vec_vcmpae_p (vbi, vbi); |
| VCMPAEW_P VCMPAEW_VBI_P |
| signed int __builtin_vec_vcmpae_p (vsll, vsll); |
| VCMPAED_P VCMPAED_VSLL_P |
| signed int __builtin_vec_vcmpae_p (vull, vull); |
| VCMPAED_P VCMPAED_VULL_P |
| signed int __builtin_vec_vcmpae_p (vbll, vbll); |
| VCMPAED_P VCMPAED_VBLL_P |
| signed int __builtin_vec_vcmpae_p (vsq, vsq); |
| VCMPAET_P VCMPAET_VSQ_P |
| signed int __builtin_vec_vcmpae_p (vuq, vuq); |
| VCMPAET_P VCMPAET_VUQ_P |
| signed int __builtin_vec_vcmpae_p (vf, vf); |
| VCMPAEFP_P |
| signed int __builtin_vec_vcmpae_p (vd, vd); |
| VCMPAEDP_P |
| ; The following variants are deprecated. |
| signed int __builtin_vec_vcmpae_p (signed int, vbc, vuc); |
| VCMPAEB_P VCMPAEB_P_BU |
| signed int __builtin_vec_vcmpae_p (signed int, vuc, vbc); |
| VCMPAEB_P VCMPAEB_P_UB |
| signed int __builtin_vec_vcmpae_p (signed int, vbc, vsc); |
| VCMPAEB_P VCMPAEB_P_BS |
| signed int __builtin_vec_vcmpae_p (signed int, vsc, vbc); |
| VCMPAEB_P VCMPAEB_P_SB |
| signed int __builtin_vec_vcmpae_p (signed int, vbs, vus); |
| VCMPAEH_P VCMPAEH_P_BU |
| signed int __builtin_vec_vcmpae_p (signed int, vus, vbs); |
| VCMPAEH_P VCMPAEH_P_UB |
| signed int __builtin_vec_vcmpae_p (signed int, vbs, vss); |
| VCMPAEH_P VCMPAEH_P_BS |
| signed int __builtin_vec_vcmpae_p (signed int, vss, vbs); |
| VCMPAEH_P VCMPAEH_P_SB |
| signed int __builtin_vec_vcmpae_p (signed int, vbi, vui); |
| VCMPAEW_P VCMPAEW_P_BU |
| signed int __builtin_vec_vcmpae_p (signed int, vui, vbi); |
| VCMPAEW_P VCMPAEW_P_UB |
| signed int __builtin_vec_vcmpae_p (signed int, vbi, vsi); |
| VCMPAEW_P VCMPAEW_P_BS |
| signed int __builtin_vec_vcmpae_p (signed int, vsi, vbi); |
| VCMPAEW_P VCMPAEW_P_SB |
| signed int __builtin_vec_vcmpae_p (signed int, vbll, vull); |
| VCMPAED_P VCMPAED_P_BU |
| signed int __builtin_vec_vcmpae_p (signed int, vull, vbll); |
| VCMPAED_P VCMPAED_P_UB |
| signed int __builtin_vec_vcmpae_p (signed int, vbll, vsll); |
| VCMPAED_P VCMPAED_P_BS |
| signed int __builtin_vec_vcmpae_p (signed int, vbll, vsll); |
| VCMPAED_P VCMPAED_P_SB |
| |
| [VEC_CMPB, vec_cmpb, __builtin_vec_cmpb] |
| vsi __builtin_vec_cmpb (vf, vf); |
| VCMPBFP |
| |
| [VEC_CMPEQ, vec_cmpeq, __builtin_vec_cmpeq] |
| vbc __builtin_vec_cmpeq (vsc, vsc); |
| VCMPEQUB VCMPEQUB_VSC |
| vbc __builtin_vec_cmpeq (vuc, vuc); |
| VCMPEQUB VCMPEQUB_VUC |
| vbc __builtin_vec_cmpeq (vbc, vbc); |
| VCMPEQUB VCMPEQUB_VBC |
| vbs __builtin_vec_cmpeq (vss, vss); |
| VCMPEQUH VCMPEQUH_VSS |
| vbs __builtin_vec_cmpeq (vus, vus); |
| VCMPEQUH VCMPEQUH_VUS |
| vbs __builtin_vec_cmpeq (vbs, vbs); |
| VCMPEQUH VCMPEQUH_VBS |
| vbi __builtin_vec_cmpeq (vsi, vsi); |
| VCMPEQUW VCMPEQUW_VSI |
| vbi __builtin_vec_cmpeq (vui, vui); |
| VCMPEQUW VCMPEQUW_VUI |
| vbi __builtin_vec_cmpeq (vbi, vbi); |
| VCMPEQUW VCMPEQUW_VBI |
| vbll __builtin_vec_cmpeq (vsll, vsll); |
| VCMPEQUD VCMPEQUD_VSLL |
| vbll __builtin_vec_cmpeq (vull, vull); |
| VCMPEQUD VCMPEQUD_VULL |
| vbll __builtin_vec_cmpeq (vbll, vbll); |
| VCMPEQUD VCMPEQUD_VBLL |
| vbq __builtin_vec_cmpeq (vsq, vsq); |
| VCMPEQUT VCMPEQUT_VSQ |
| vbq __builtin_vec_cmpeq (vuq, vuq); |
| VCMPEQUT VCMPEQUT_VUQ |
| vbi __builtin_vec_cmpeq (vf, vf); |
| VCMPEQFP |
| vbll __builtin_vec_cmpeq (vd, vd); |
| XVCMPEQDP |
| |
| ; We skip generating a #define because of the C-versus-C++ complexity |
| ; in altivec.h. Look there for the template-y details. |
| [VEC_CMPEQ_P, SKIP, __builtin_vec_vcmpeq_p] |
| signed int __builtin_vec_vcmpeq_p (signed int, vuc, vuc); |
| VCMPEQUB_P VCMPEQUB_PU |
| signed int __builtin_vec_vcmpeq_p (signed int, vsc, vsc); |
| VCMPEQUB_P VCMPEQUB_PS |
| signed int __builtin_vec_vcmpeq_p (signed int, vbc, vbc); |
| VCMPEQUB_P VCMPEQUB_PB |
| signed int __builtin_vec_vcmpeq_p (signed int, vus, vus); |
| VCMPEQUH_P VCMPEQUH_PU |
| signed int __builtin_vec_vcmpeq_p (signed int, vss, vss); |
| VCMPEQUH_P VCMPEQUH_PS |
| signed int __builtin_vec_vcmpeq_p (signed int, vbs, vbs); |
| VCMPEQUH_P VCMPEQUH_PB |
| signed int __builtin_vec_vcmpeq_p (signed int, vp, vp); |
| VCMPEQUH_P VCMPEQUH_PP |
| signed int __builtin_vec_vcmpeq_p (signed int, vui, vui); |
| VCMPEQUW_P VCMPEQUW_PU |
| signed int __builtin_vec_vcmpeq_p (signed int, vsi, vsi); |
| VCMPEQUW_P VCMPEQUW_PS |
| signed int __builtin_vec_vcmpeq_p (signed int, vbi, vbi); |
| VCMPEQUW_P VCMPEQUW_PB |
| signed int __builtin_vec_vcmpeq_p (signed int, vull, vull); |
| VCMPEQUD_P VCMPEQUD_PU |
| signed int __builtin_vec_vcmpeq_p (signed int, vsll, vsll); |
| VCMPEQUD_P VCMPEQUD_PS |
| signed int __builtin_vec_vcmpeq_p (signed int, vbll, vbll); |
| VCMPEQUD_P VCMPEQUD_PB |
| signed int __builtin_vec_vcmpeq_p (signed int, vsq, vsq); |
| VCMPEQUT_P VCMPEQUT_P_VSQ |
| signed int __builtin_vec_vcmpeq_p (signed int, vuq, vuq); |
| VCMPEQUT_P VCMPEQUT_P_VUQ |
| signed int __builtin_vec_vcmpeq_p (signed int, vf, vf); |
| VCMPEQFP_P |
| signed int __builtin_vec_vcmpeq_p (signed int, vd, vd); |
| XVCMPEQDP_P |
| ; The following variants are deprecated. |
| signed int __builtin_vec_vcmpeq_p (signed int, vbc, vuc); |
| VCMPEQUB_P VCMPEQUB_P_BU |
| signed int __builtin_vec_vcmpeq_p (signed int, vuc, vbc); |
| VCMPEQUB_P VCMPEQUB_P_UB |
| signed int __builtin_vec_vcmpeq_p (signed int, vbc, vsc); |
| VCMPEQUB_P VCMPEQUB_P_BS |
| signed int __builtin_vec_vcmpeq_p (signed int, vsc, vbc); |
| VCMPEQUB_P VCMPEQUB_P_SB |
| signed int __builtin_vec_vcmpeq_p (signed int, vbs, vus); |
| VCMPEQUH_P VCMPEQUH_P_BU |
| signed int __builtin_vec_vcmpeq_p (signed int, vus, vbs); |
| VCMPEQUH_P VCMPEQUH_P_UB |
| signed int __builtin_vec_vcmpeq_p (signed int, vbs, vss); |
| VCMPEQUH_P VCMPEQUH_P_BS |
| signed int __builtin_vec_vcmpeq_p (signed int, vss, vbs); |
| VCMPEQUH_P VCMPEQUH_P_SB |
| signed int __builtin_vec_vcmpeq_p (signed int, vbi, vui); |
| VCMPEQUW_P VCMPEQUW_P_BU |
| signed int __builtin_vec_vcmpeq_p (signed int, vui, vbi); |
| VCMPEQUW_P VCMPEQUW_P_UB |
| signed int __builtin_vec_vcmpeq_p (signed int, vbi, vsi); |
| VCMPEQUW_P VCMPEQUW_P_BS |
| signed int __builtin_vec_vcmpeq_p (signed int, vsi, vbi); |
| VCMPEQUW_P VCMPEQUW_P_SB |
| signed int __builtin_vec_vcmpeq_p (signed int, vbll, vull); |
| VCMPEQUD_P VCMPEQUD_P_BU |
| signed int __builtin_vec_vcmpeq_p (signed int, vull, vbll); |
| VCMPEQUD_P VCMPEQUD_P_UB |
| signed int __builtin_vec_vcmpeq_p (signed int, vbll, vsll); |
| VCMPEQUD_P VCMPEQUD_P_BS |
| signed int __builtin_vec_vcmpeq_p (signed int, vbll, vsll); |
| VCMPEQUD_P VCMPEQUD_P_SB |
| |
| [VEC_CMPEQB, SKIP, __builtin_byte_in_set] |
| signed int __builtin_byte_in_set (unsigned int, unsigned long long); |
| CMPEQB |
| |
| [VEC_CMPGE, vec_cmpge, __builtin_vec_cmpge] |
| vbc __builtin_vec_cmpge (vsc, vsc); |
| CMPGE_16QI CMPGE_16QI_VSC |
| vbc __builtin_vec_cmpge (vuc, vuc); |
| CMPGE_U16QI CMPGE_16QI_VUC |
| vbs __builtin_vec_cmpge (vss, vss); |
| CMPGE_8HI CMPGE_8HI_VSS |
| vbs __builtin_vec_cmpge (vus, vus); |
| CMPGE_U8HI CMPGE_8HI_VUS |
| vbi __builtin_vec_cmpge (vsi, vsi); |
| CMPGE_4SI CMPGE_4SI_VSI |
| vbi __builtin_vec_cmpge (vui, vui); |
| CMPGE_U4SI CMPGE_4SI_VUI |
| vbll __builtin_vec_cmpge (vsll, vsll); |
| CMPGE_2DI CMPGE_2DI_VSLL |
| vbll __builtin_vec_cmpge (vull, vull); |
| CMPGE_U2DI CMPGE_2DI_VULL |
| vbq __builtin_vec_cmpge (vsq, vsq); |
| CMPGE_1TI |
| vbq __builtin_vec_cmpge (vuq, vuq); |
| CMPGE_U1TI |
| vbi __builtin_vec_cmpge (vf, vf); |
| VCMPGEFP |
| vbll __builtin_vec_cmpge (vd, vd); |
| XVCMPGEDP |
| |
| ; We skip generating a #define because of the C-versus-C++ complexity |
| ; in altivec.h. Look there for the template-y details. |
| ; See altivec_build_resolved_builtin for how we deal with VEC_CMPGE_P. |
| ; It's quite strange and horrible! |
| [VEC_CMPGE_P, SKIP, __builtin_vec_vcmpge_p] |
| signed int __builtin_vec_vcmpge_p (signed int, vuc, vuc); |
| VCMPGTUB_P VCMPGTUB_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vsc, vsc); |
| VCMPGTSB_P VCMPGTSB_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vus, vus); |
| VCMPGTUH_P VCMPGTUH_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vss, vss); |
| VCMPGTSH_P VCMPGTSH_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vui, vui); |
| VCMPGTUW_P VCMPGTUW_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vsi, vsi); |
| VCMPGTSW_P VCMPGTSW_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vull, vull); |
| VCMPGTUD_P VCMPGTUD_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vsll, vsll); |
| VCMPGTSD_P VCMPGTSD_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vuq, vuq); |
| VCMPGTUT_P VCMPGTUT_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vsq, vsq); |
| VCMPGTST_P VCMPGTST_PR |
| signed int __builtin_vec_vcmpge_p (signed int, vf, vf); |
| VCMPGEFP_P |
| signed int __builtin_vec_vcmpge_p (signed int, vd, vd); |
| XVCMPGEDP_P |
| ; The following variants are deprecated. |
| signed int __builtin_vec_vcmpge_p (signed int, vbc, vuc); |
| VCMPGTUB_P VCMPGTUB_PR_BU |
| signed int __builtin_vec_vcmpge_p (signed int, vuc, vbc); |
| VCMPGTUB_P VCMPGTUB_PR_UB |
| signed int __builtin_vec_vcmpge_p (signed int, vbc, vsc); |
| VCMPGTSB_P VCMPGTSB_PR_BS |
| signed int __builtin_vec_vcmpge_p (signed int, vsc, vbc); |
| VCMPGTSB_P VCMPGTSB_PR_SB |
| signed int __builtin_vec_vcmpge_p (signed int, vbs, vus); |
| VCMPGTUH_P VCMPGTUH_PR_BU |
| signed int __builtin_vec_vcmpge_p (signed int, vus, vbs); |
| VCMPGTUH_P VCMPGTUH_PR_UB |
| signed int __builtin_vec_vcmpge_p (signed int, vbs, vss); |
| VCMPGTSH_P VCMPGTSH_PR_BS |
| signed int __builtin_vec_vcmpge_p (signed int, vss, vbs); |
| VCMPGTSH_P VCMPGTSH_PR_SB |
| signed int __builtin_vec_vcmpge_p (signed int, vbi, vui); |
| VCMPGTUW_P VCMPGTUW_PR_BU |
| signed int __builtin_vec_vcmpge_p (signed int, vui, vbi); |
| VCMPGTUW_P VCMPGTUW_PR_UB |
| signed int __builtin_vec_vcmpge_p (signed int, vbi, vsi); |
| VCMPGTSW_P VCMPGTSW_PR_BS |
| signed int __builtin_vec_vcmpge_p (signed int, vsi, vbi); |
| VCMPGTSW_P VCMPGTSW_PR_SB |
| signed int __builtin_vec_vcmpge_p (signed int, vbll, vull); |
| VCMPGTUD_P VCMPGTUD_PR_BU |
| signed int __builtin_vec_vcmpge_p (signed int, vull, vbll); |
| VCMPGTUD_P VCMPGTUD_PR_UB |
| signed int __builtin_vec_vcmpge_p (signed int, vbll, vsll); |
| VCMPGTSD_P VCMPGTSD_PR_BS |
| signed int __builtin_vec_vcmpge_p (signed int, vsll, vbll); |
| VCMPGTSD_P VCMPGTSD_PR_SB |
| |
| [VEC_CMPGT, vec_cmpgt, __builtin_vec_cmpgt] |
| vbc __builtin_vec_cmpgt (vsc, vsc); |
| VCMPGTSB |
| vbc __builtin_vec_cmpgt (vuc, vuc); |
| VCMPGTUB |
| vbs __builtin_vec_cmpgt (vss, vss); |
| VCMPGTSH |
| vbs __builtin_vec_cmpgt (vus, vus); |
| VCMPGTUH |
| vbi __builtin_vec_cmpgt (vsi, vsi); |
| VCMPGTSW |
| vbi __builtin_vec_cmpgt (vui, vui); |
| VCMPGTUW |
| vbll __builtin_vec_cmpgt (vsll, vsll); |
| VCMPGTSD |
| vbll __builtin_vec_cmpgt (vull, vull); |
| VCMPGTUD |
| vbq __builtin_vec_cmpgt (vsq, vsq); |
| VCMPGTST |
| vbq __builtin_vec_cmpgt (vuq, vuq); |
| VCMPGTUT |
| vbi __builtin_vec_cmpgt (vf, vf); |
| VCMPGTFP |
| vbll __builtin_vec_cmpgt (vd, vd); |
| XVCMPGTDP |
| |
| ; We skip generating a #define because of the C-versus-C++ complexity |
| ; in altivec.h. Look there for the template-y details. |
| [VEC_CMPGT_P, SKIP, __builtin_vec_vcmpgt_p] |
| signed int __builtin_vec_vcmpgt_p (signed int, vuc, vuc); |
| VCMPGTUB_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vsc, vsc); |
| VCMPGTSB_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vus, vus); |
| VCMPGTUH_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vss, vss); |
| VCMPGTSH_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vui, vui); |
| VCMPGTUW_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vsi, vsi); |
| VCMPGTSW_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vull, vull); |
| VCMPGTUD_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vsll, vsll); |
| VCMPGTSD_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vuq, vuq); |
| VCMPGTUT_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vsq, vsq); |
| VCMPGTST_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vf, vf); |
| VCMPGTFP_P |
| signed int __builtin_vec_vcmpgt_p (signed int, vd, vd); |
| XVCMPGTDP_P |
| ; The following variants are deprecated. |
| signed int __builtin_vec_vcmpgt_p (signed int, vbc, vuc); |
| VCMPGTUB_P VCMPGTUB_P_BU |
| signed int __builtin_vec_vcmpgt_p (signed int, vuc, vbc); |
| VCMPGTUB_P VCMPGTUB_P_UB |
| signed int __builtin_vec_vcmpgt_p (signed int, vbc, vsc); |
| VCMPGTSB_P VCMPGTSB_P_BS |
| signed int __builtin_vec_vcmpgt_p (signed int, vsc, vbc); |
| VCMPGTSB_P VCMPGTSB_P_SB |
| signed int __builtin_vec_vcmpgt_p (signed int, vbs, vus); |
| VCMPGTUH_P VCMPGTUH_P_BU |
| signed int __builtin_vec_vcmpgt_p (signed int, vus, vbs); |
| VCMPGTUH_P VCMPGTUH_P_UB |
| signed int __builtin_vec_vcmpgt_p (signed int, vbs, vss); |
| VCMPGTSH_P VCMPGTSH_P_BS |
| signed int __builtin_vec_vcmpgt_p (signed int, vss, vbs); |
| VCMPGTSH_P VCMPGTSH_P_SB |
| signed int __builtin_vec_vcmpgt_p (signed int, vbi, vui); |
| VCMPGTUW_P VCMPGTUW_P_BU |
| signed int __builtin_vec_vcmpgt_p (signed int, vui, vbi); |
| VCMPGTUW_P VCMPGTUW_P_UB |
| signed int __builtin_vec_vcmpgt_p (signed int, vbi, vsi); |
| VCMPGTSW_P VCMPGTSW_P_BS |
| signed int __builtin_vec_vcmpgt_p (signed int, vsi, vbi); |
| VCMPGTSW_P VCMPGTSW_P_SB |
| signed int __builtin_vec_vcmpgt_p (signed int, vbll, vull); |
| VCMPGTUD_P VCMPGTUD_P_BU |
| signed int __builtin_vec_vcmpgt_p (signed int, vull, vbll); |
| VCMPGTUD_P VCMPGTUD_P_UB |
| signed int __builtin_vec_vcmpgt_p (signed int, vbll, vsll); |
| VCMPGTSD_P VCMPGTSD_P_BS |
| signed int __builtin_vec_vcmpgt_p (signed int, vsll, vbll); |
| VCMPGTSD_P VCMPGTSD_P_SB |
| |
| ; Note that there is no entry for VEC_CMPLE. VEC_CMPLE is implemented |
| ; using VEC_CMPGE with reversed arguments in altivec.h. |
| |
| ; Note that there is no entry for VEC_CMPLT. VEC_CMPLT is implemented |
| ; using VEC_CMPGT with reversed arguments in altivec.h. |
| |
| [VEC_CMPNE, vec_cmpne, __builtin_vec_cmpne] |
| vbc __builtin_vec_cmpne (vbc, vbc); |
| VCMPNEB VCMPNEB_VBC |
| vbc __builtin_vec_cmpne (vsc, vsc); |
| VCMPNEB VCMPNEB_VSC |
| vbc __builtin_vec_cmpne (vuc, vuc); |
| VCMPNEB VCMPNEB_VUC |
| vbs __builtin_vec_cmpne (vbs, vbs); |
| VCMPNEH VCMPNEH_VBS |
| vbs __builtin_vec_cmpne (vss, vss); |
| VCMPNEH VCMPNEH_VSS |
| vbs __builtin_vec_cmpne (vus, vus); |
| VCMPNEH VCMPNEH_VUS |
| vbi __builtin_vec_cmpne (vbi, vbi); |
| VCMPNEW VCMPNEW_VBI |
| vbi __builtin_vec_cmpne (vsi, vsi); |
| VCMPNEW VCMPNEW_VSI |
| vbi __builtin_vec_cmpne (vui, vui); |
| VCMPNEW VCMPNEW_VUI |
| vbq __builtin_vec_cmpne (vsq, vsq); |
| VCMPNET VCMPNET_VSQ |
| vbq __builtin_vec_cmpne (vuq, vuq); |
| VCMPNET VCMPNET_VUQ |
| |
| ; We skip generating a #define because of the C-versus-C++ complexity |
| ; in altivec.h. Look there for the template-y details. |
| [VEC_CMPNE_P, SKIP, __builtin_vec_vcmpne_p] |
| signed int __builtin_vec_vcmpne_p (vsc, vsc); |
| VCMPNEB_P VCMPNEB_VSC_P |
| signed int __builtin_vec_vcmpne_p (vuc, vuc); |
| VCMPNEB_P VCMPNEB_VUC_P |
| signed int __builtin_vec_vcmpne_p (vbc, vbc); |
| VCMPNEB_P VCMPNEB_VBC_P |
| signed int __builtin_vec_vcmpne_p (vss, vss); |
| VCMPNEH_P VCMPNEH_VSS_P |
| signed int __builtin_vec_vcmpne_p (vus, vus); |
| VCMPNEH_P VCMPNEH_VUS_P |
| signed int __builtin_vec_vcmpne_p (vbs, vbs); |
| VCMPNEH_P VCMPNEH_VBS_P |
| signed int __builtin_vec_vcmpne_p (vp, vp); |
| VCMPNEH_P VCMPNEH_VP_P |
| signed int __builtin_vec_vcmpne_p (vsi, vsi); |
| VCMPNEW_P VCMPNEW_VSI_P |
| signed int __builtin_vec_vcmpne_p (vui, vui); |
| VCMPNEW_P VCMPNEW_VUI_P |
| signed int __builtin_vec_vcmpne_p (vbi, vbi); |
| VCMPNEW_P VCMPNEW_VBI_P |
| signed int __builtin_vec_vcmpne_p (vsll, vsll); |
| VCMPNED_P VCMPNED_VSLL_P |
| signed int __builtin_vec_vcmpne_p (vull, vull); |
| VCMPNED_P VCMPNED_VULL_P |
| signed int __builtin_vec_vcmpne_p (vbll, vbll); |
| VCMPNED_P VCMPNED_VBLL_P |
| signed int __builtin_vec_vcmpne_p (vsq, vsq); |
| VCMPNET_P VCMPNET_VSQ_P |
| signed int __builtin_vec_vcmpne_p (vuq, vuq); |
| VCMPNET_P VCMPNET_VUQ_P |
| signed int __builtin_vec_vcmpne_p (vf, vf); |
| VCMPNEFP_P |
| signed int __builtin_vec_vcmpne_p (vd, vd); |
| VCMPNEDP_P |
| ; The following variants are deprecated. |
| signed int __builtin_vec_vcmpne_p (signed int, vbc, vuc); |
| VCMPNEB_P VCMPNEB_P_BU |
| signed int __builtin_vec_vcmpne_p (signed int, vuc, vbc); |
| VCMPNEB_P VCMPNEB_P_UB |
| signed int __builtin_vec_vcmpne_p (signed int, vbc, vsc); |
| VCMPNEB_P VCMPNEB_P_BS |
| signed int __builtin_vec_vcmpne_p (signed int, vsc, vbc); |
| VCMPNEB_P VCMPNEB_P_SB |
| signed int __builtin_vec_vcmpne_p (signed int, vbs, vus); |
| VCMPNEH_P VCMPNEH_P_BU |
| signed int __builtin_vec_vcmpne_p (signed int, vus, vbs); |
| VCMPNEH_P VCMPNEH_P_UB |
| signed int __builtin_vec_vcmpne_p (signed int, vbs, vss); |
| VCMPNEH_P VCMPNEH_P_BS |
| signed int __builtin_vec_vcmpne_p (signed int, vss, vbs); |
| VCMPNEH_P VCMPNEH_P_SB |
| signed int __builtin_vec_vcmpne_p (signed int, vbi, vui); |
| VCMPNEW_P VCMPNEW_P_BU |
| signed int __builtin_vec_vcmpne_p (signed int, vui, vbi); |
| VCMPNEW_P VCMPNEW_P_UB |
| signed int __builtin_vec_vcmpne_p (signed int, vbi, vsi); |
| VCMPNEW_P VCMPNEW_P_BS |
| signed int __builtin_vec_vcmpne_p (signed int, vsi, vbi); |
| VCMPNEW_P VCMPNEW_P_SB |
| signed int __builtin_vec_vcmpne_p (signed int, vbll, vull); |
| VCMPNED_P VCMPNED_P_BU |
| signed int __builtin_vec_vcmpne_p (signed int, vull, vbll); |
| VCMPNED_P VCMPNED_P_UB |
| signed int __builtin_vec_vcmpne_p (signed int, vbll, vsll); |
| VCMPNED_P VCMPNED_P_BS |
| signed int __builtin_vec_vcmpne_p (signed int, vbll, vsll); |
| VCMPNED_P VCMPNED_P_SB |
| |
| [VEC_CMPNEZ, vec_cmpnez, __builtin_vec_vcmpnez] |
| vbc __builtin_vec_cmpnez (vsc, vsc); |
| CMPNEZB CMPNEZB_S |
| vbc __builtin_vec_cmpnez (vuc, vuc); |
| CMPNEZB CMPNEZB_U |
| vbs __builtin_vec_cmpnez (vss, vss); |
| CMPNEZH CMPNEZH_S |
| vbs __builtin_vec_cmpnez (vus, vus); |
| CMPNEZH CMPNEZH_U |
| vbi __builtin_vec_cmpnez (vsi, vsi); |
| CMPNEZW CMPNEZW_S |
| vbi __builtin_vec_cmpnez (vui, vui); |
| CMPNEZW CMPNEZW_U |
| |
| ; We skip generating a #define because of the C-versus-C++ complexity |
| ; in altivec.h. Look there for the template-y details. |
| [VEC_CMPNEZ_P, SKIP, __builtin_vec_vcmpnez_p] |
| signed int __builtin_vec_vcmpnez_p (signed int, vsc, vsc); |
| VCMPNEZB_P VCMPNEZB_VSC_P |
| signed int __builtin_vec_vcmpnez_p (signed int, vuc, vuc); |
| VCMPNEZB_P VCMPNEZB_VUC_P |
| signed int __builtin_vec_vcmpnez_p (signed int, vss, vss); |
| VCMPNEZH_P VCMPNEZH_VSS_P |
| signed int __builtin_vec_vcmpnez_p (signed int, vus, vus); |
| VCMPNEZH_P VCMPNEZH_VUS_P |
| signed int __builtin_vec_vcmpnez_p (signed int, vsi, vsi); |
| VCMPNEZW_P VCMPNEZW_VSI_P |
| signed int __builtin_vec_vcmpnez_p (signed int, vui, vui); |
| VCMPNEZW_P VCMPNEZW_VUI_P |
| |
| [VEC_CMPRB, SKIP, __builtin_byte_in_range] |
| signed int __builtin_byte_in_range (unsigned int, unsigned int); |
| CMPRB |
| |
| [VEC_CMPRB2, SKIP, __builtin_byte_in_either_range] |
| signed int __builtin_byte_in_range (unsigned int, unsigned int); |
| CMPRB2 |
| |
| [VEC_CNTLZ, vec_cntlz, __builtin_vec_vclz] |
| vsc __builtin_vec_vclz (vsc); |
| VCLZB VCLZB_S |
| vuc __builtin_vec_vclz (vuc); |
| VCLZB VCLZB_U |
| vss __builtin_vec_vclz (vss); |
| VCLZH VCLZH_S |
| vus __builtin_vec_vclz (vus); |
| VCLZH VCLZH_U |
| vsi __builtin_vec_vclz (vsi); |
| VCLZW VCLZW_S |
| vui __builtin_vec_vclz (vui); |
| VCLZW VCLZW_U |
| vsll __builtin_vec_vclz (vsll); |
| VCLZD VCLZD_S |
| vull __builtin_vec_vclz (vull); |
| VCLZD VCLZD_U |
| |
| [VEC_CNTLZM, vec_cntlzm, __builtin_vec_vclzdm] |
| vull __builtin_vec_vclzdm (vull, vull); |
| VCLZDM |
| |
| [VEC_CNTTZM, vec_cnttzm, __builtin_vec_vctzdm] |
| vull __builtin_vec_vctzdm (vull, vull); |
| VCTZDM |
| |
| [VEC_CNTLZ_LSBB, vec_cntlz_lsbb, __builtin_vec_vclzlsbb] |
| signed int __builtin_vec_vclzlsbb (vsc); |
| VCLZLSBB_V16QI VCLZLSBB_VSC |
| signed int __builtin_vec_vclzlsbb (vuc); |
| VCLZLSBB_V16QI VCLZLSBB_VUC |
| signed int __builtin_vec_vclzlsbb (vss); |
| VCLZLSBB_V8HI VCLZLSBB_VSS |
| signed int __builtin_vec_vclzlsbb (vus); |
| VCLZLSBB_V8HI VCLZLSBB_VUS |
| signed int __builtin_vec_vclzlsbb (vsi); |
| VCLZLSBB_V4SI VCLZLSBB_VSI |
| signed int __builtin_vec_vclzlsbb (vui); |
| VCLZLSBB_V4SI VCLZLSBB_VUI |
| |
| [VEC_CNTM, vec_cntm, __builtin_vec_cntm] |
| unsigned long long __builtin_vec_cntm (vuc, const int); |
| VCNTMBB |
| unsigned long long __builtin_vec_cntm (vus, const int); |
| VCNTMBH |
| unsigned long long __builtin_vec_cntm (vui, const int); |
| VCNTMBW |
| unsigned long long __builtin_vec_cntm (vull, const int); |
| VCNTMBD |
| |
| [VEC_CNTTZ, vec_cnttz, __builtin_vec_vctz] |
| vsc __builtin_vec_vctz (vsc); |
| VCTZB VCTZB_S |
| vuc __builtin_vec_vctz (vuc); |
| VCTZB VCTZB_U |
| vss __builtin_vec_vctz (vss); |
| VCTZH VCTZH_S |
| vus __builtin_vec_vctz (vus); |
| VCTZH VCTZH_U |
| vsi __builtin_vec_vctz (vsi); |
| VCTZW VCTZW_S |
| vui __builtin_vec_vctz (vui); |
| VCTZW VCTZW_U |
| vsll __builtin_vec_vctz (vsll); |
| VCTZD VCTZD_S |
| vull __builtin_vec_vctz (vull); |
| VCTZD VCTZD_U |
| |
| [VEC_CNTTZ_LSBB, vec_cnttz_lsbb, __builtin_vec_vctzlsbb] |
| signed int __builtin_vec_vctzlsbb (vsc); |
| VCTZLSBB_V16QI VCTZLSBB_VSC |
| signed int __builtin_vec_vctzlsbb (vuc); |
| VCTZLSBB_V16QI VCTZLSBB_VUC |
| signed int __builtin_vec_vctzlsbb (vss); |
| VCTZLSBB_V8HI VCTZLSBB_VSS |
| signed int __builtin_vec_vctzlsbb (vus); |
| VCTZLSBB_V8HI VCTZLSBB_VUS |
| signed int __builtin_vec_vctzlsbb (vsi); |
| VCTZLSBB_V4SI VCTZLSBB_VSI |
| signed int __builtin_vec_vctzlsbb (vui); |
| VCTZLSBB_V4SI VCTZLSBB_VUI |
| |
| [VEC_CONVERT_4F32_8I16, SKIP, __builtin_vec_convert_4f32_8i16] |
| vus __builtin_vec_convert_4f32_8i16 (vf, vf); |
| CONVERT_4F32_8I16 |
| |
| [VEC_CONVERT_4F32_8F16, vec_pack_to_short_fp32, __builtin_vec_convert_4f32_8f16] |
| vus __builtin_vec_convert_4f32_8f16 (vf, vf); |
| CONVERT_4F32_8F16 |
| |
| [VEC_COPYSIGN, SKIP, __builtin_vec_copysign] |
| vf __builtin_vec_copysign (vf, vf); |
| COPYSIGN_V4SF |
| vd __builtin_vec_copysign (vd, vd); |
| CPSGNDP |
| |
| [VEC_CTF, vec_ctf, __builtin_vec_ctf] |
| vf __builtin_vec_ctf (vsi, const int); |
| VCFSX |
| vf __builtin_vec_ctf (vui, const int); |
| VCFUX |
| vd __builtin_vec_ctf (vsll, const int); |
| XVCVSXDDP_SCALE |
| vd __builtin_vec_ctf (vull, const int); |
| XVCVUXDDP_SCALE |
| |
| [VEC_CTS, vec_cts, __builtin_vec_cts] |
| vsi __builtin_vec_cts (vf, const int); |
| VCTSXS |
| vsll __builtin_vec_cts (vd, const int); |
| XVCVDPSXDS_SCALE |
| |
| [VEC_CTU, vec_ctu, __builtin_vec_ctu] |
| vui __builtin_vec_ctu (vf, const int); |
| VCTUXS |
| vull __builtin_vec_ctu (vd, const int); |
| XVCVDPUXDS_SCALE |
| |
| [VEC_DIV, vec_div, __builtin_vec_div] |
| vsi __builtin_vec_div (vsi, vsi); |
| VDIVSW |
| vui __builtin_vec_div (vui, vui); |
| VDIVUW |
| vsll __builtin_vec_div (vsll, vsll); |
| DIV_V2DI |
| vull __builtin_vec_div (vull, vull); |
| UDIV_V2DI |
| vsq __builtin_vec_div (vsq, vsq); |
| DIV_V1TI |
| vuq __builtin_vec_div (vuq, vuq); |
| UDIV_V1TI |
| vf __builtin_vec_div (vf, vf); |
| XVDIVSP |
| vd __builtin_vec_div (vd, vd); |
| XVDIVDP |
| |
| [VEC_DIVE, vec_dive, __builtin_vec_dive] |
| vsi __builtin_vec_dive (vsi, vsi); |
| VDIVESW |
| vui __builtin_vec_dive (vui, vui); |
| VDIVEUW |
| vsll __builtin_vec_dive (vsll, vsll); |
| VDIVESD |
| vull __builtin_vec_dive (vull, vull); |
| VDIVEUD |
| vsq __builtin_vec_dive (vsq, vsq); |
| DIVES_V1TI |
| vuq __builtin_vec_dive (vuq, vuq); |
| DIVEU_V1TI |
| |
| [VEC_DOUBLE, vec_double, __builtin_vec_double] |
| vd __builtin_vec_double (vsll); |
| XVCVSXDDP |
| vd __builtin_vec_double (vull); |
| XVCVUXDDP |
| |
| [VEC_DOUBLEE, vec_doublee, __builtin_vec_doublee] |
| vd __builtin_vec_doublee (vsi); |
| DOUBLEE_V4SI |
| vd __builtin_vec_doublee (vui); |
| UNS_DOUBLEE_V4SI |
| vd __builtin_vec_doublee (vf); |
| DOUBLEE_V4SF |
| |
| [VEC_DOUBLEH, vec_doubleh, __builtin_vec_doubleh] |
| vd __builtin_vec_doubleh (vsi); |
| DOUBLEH_V4SI |
| vd __builtin_vec_doubleh (vui); |
| UNS_DOUBLEH_V4SI |
| vd __builtin_vec_doubleh (vf); |
| DOUBLEH_V4SF |
| |
| [VEC_DOUBLEL, vec_doublel, __builtin_vec_doublel] |
| vd __builtin_vec_doublel (vsi); |
| DOUBLEL_V4SI |
| vd __builtin_vec_doublel (vui); |
| UNS_DOUBLEL_V4SI |
| vd __builtin_vec_doublel (vf); |
| DOUBLEL_V4SF |
| |
| [VEC_DOUBLEO, vec_doubleo, __builtin_vec_doubleo] |
| vd __builtin_vec_doubleo (vsi); |
| DOUBLEO_V4SI |
| vd __builtin_vec_doubleo (vui); |
| UNS_DOUBLEO_V4SI |
| vd __builtin_vec_doubleo (vf); |
| DOUBLEO_V4SF |
| |
| [VEC_DST, vec_dst, __builtin_vec_dst] |
| void __builtin_vec_dst (unsigned char *, const int, const int); |
| DST DST_UC |
| void __builtin_vec_dst (signed char *, const int, const int); |
| DST DST_SC |
| void __builtin_vec_dst (unsigned short *, const int, const int); |
| DST DST_US |
| void __builtin_vec_dst (signed short *, const int, const int); |
| DST DST_SS |
| void __builtin_vec_dst (unsigned int *, const int, const int); |
| DST DST_UI |
| void __builtin_vec_dst (signed int *, const int, const int); |
| DST DST_SI |
| void __builtin_vec_dst (unsigned long *, const int, const int); |
| DST DST_UL |
| void __builtin_vec_dst (signed long *, const int, const int); |
| DST DST_SL |
| void __builtin_vec_dst (unsigned long long *, const int, const int); |
| DST DST_ULL |
| void __builtin_vec_dst (signed long long *, const int, const int); |
| DST DST_SLL |
| void __builtin_vec_dst (float *, const int, const int); |
| DST DST_F |
| void __builtin_vec_dst (vuc *, const int, const int); |
| DST DST_VUC |
| void __builtin_vec_dst (vsc *, const int, const int); |
| DST DST_VSC |
| void __builtin_vec_dst (vbc *, const int, const int); |
| DST DST_VBC |
| void __builtin_vec_dst (vus *, const int, const int); |
| DST DST_VUS |
| void __builtin_vec_dst (vss *, const int, const int); |
| DST DST_VSS |
| void __builtin_vec_dst (vbs *, const int, const int); |
| DST DST_VBS |
| void __builtin_vec_dst (vp *, const int, const int); |
| DST DST_VP |
| void __builtin_vec_dst (vui *, const int, const int); |
| DST DST_VUI |
| void __builtin_vec_dst (vsi *, const int, const int); |
| DST DST_VSI |
| void __builtin_vec_dst (vbi *, const int, const int); |
| DST DST_VBI |
| void __builtin_vec_dst (vf *, const int, const int); |
| DST DST_VF |
| |
| [VEC_DSTST, vec_dstst, __builtin_vec_dstst] |
| void __builtin_vec_dstst (unsigned char *, const int, const int); |
| DSTST DSTST_UC |
| void __builtin_vec_dstst (signed char *, const int, const int); |
| DSTST DSTST_SC |
| void __builtin_vec_dstst (unsigned short *, const int, const int); |
| DSTST DSTST_US |
| void __builtin_vec_dstst (signed short *, const int, const int); |
| DSTST DSTST_SS |
| void __builtin_vec_dstst (unsigned int *, const int, const int); |
| DSTST DSTST_UI |
| void __builtin_vec_dstst (signed int *, const int, const int); |
| DSTST DSTST_SI |
| void __builtin_vec_dstst (unsigned long *, const int, const int); |
| DSTST DSTST_UL |
| void __builtin_vec_dstst (signed long *, const int, const int); |
| DSTST DSTST_SL |
| void __builtin_vec_dstst (unsigned long long *, const int, const int); |
| DSTST DSTST_ULL |
| void __builtin_vec_dstst (signed long long *, const int, const int); |
| DSTST DSTST_SLL |
| void __builtin_vec_dstst (float *, const int, const int); |
| DSTST DSTST_F |
| void __builtin_vec_dstst (vuc *, const int, const int); |
| DSTST DSTST_VUC |
| void __builtin_vec_dstst (vsc *, const int, const int); |
| DSTST DSTST_VSC |
| void __builtin_vec_dstst (vbc *, const int, const int); |
| DSTST DSTST_VBC |
| void __builtin_vec_dstst (vus *, const int, const int); |
| DSTST DSTST_VUS |
| void __builtin_vec_dstst (vss *, const int, const int); |
| DSTST DSTST_VSS |
| void __builtin_vec_dstst (vbs *, const int, const int); |
| DSTST DSTST_VBS |
| void __builtin_vec_dstst (vp *, const int, const int); |
| DSTST DSTST_VP |
| void __builtin_vec_dstst (vui *, const int, const int); |
| DSTST DSTST_VUI |
| void __builtin_vec_dstst (vsi *, const int, const int); |
| DSTST DSTST_VSI |
| void __builtin_vec_dstst (vbi *, const int, const int); |
| DSTST DSTST_VBI |
| void __builtin_vec_dstst (vf *, const int, const int); |
| DSTST DSTST_VF |
| |
| [VEC_DSTSTT, vec_dststt, __builtin_vec_dststt] |
| void __builtin_vec_dststt (unsigned char *, const int, const int); |
| DSTSTT DSTSTT_UC |
| void __builtin_vec_dststt (signed char *, const int, const int); |
| DSTSTT DSTSTT_SC |
| void __builtin_vec_dststt (unsigned short *, const int, const int); |
| DSTSTT DSTSTT_US |
| void __builtin_vec_dststt (signed short *, const int, const int); |
| DSTSTT DSTSTT_SS |
| void __builtin_vec_dststt (unsigned int *, const int, const int); |
| DSTSTT DSTSTT_UI |
| void __builtin_vec_dststt (signed int *, const int, const int); |
| DSTSTT DSTSTT_SI |
| void __builtin_vec_dststt (unsigned long *, const int, const int); |
| DSTSTT DSTSTT_UL |
| void __builtin_vec_dststt (signed long *, const int, const int); |
| DSTSTT DSTSTT_SL |
| void __builtin_vec_dststt (unsigned long long *, const int, const int); |
| DSTSTT DSTSTT_ULL |
| void __builtin_vec_dststt (signed long long *, const int, const int); |
| DSTSTT DSTSTT_SLL |
| void __builtin_vec_dststt (float *, const int, const int); |
| DSTSTT DSTSTT_F |
| void __builtin_vec_dststt (vuc *, const int, const int); |
| DSTSTT DSTSTT_VUC |
| void __builtin_vec_dststt (vsc *, const int, const int); |
| DSTSTT DSTSTT_VSC |
| void __builtin_vec_dststt (vbc *, const int, const int); |
| DSTSTT DSTSTT_VBC |
| void __builtin_vec_dststt (vus *, const int, const int); |
| DSTSTT DSTSTT_VUS |
| void __builtin_vec_dststt (vss *, const int, const int); |
| DSTSTT DSTSTT_VSS |
| void __builtin_vec_dststt (vbs *, const int, const int); |
| DSTSTT DSTSTT_VBS |
| void __builtin_vec_dststt (vp *, const int, const int); |
| DSTSTT DSTSTT_VP |
| void __builtin_vec_dststt (vui *, const int, const int); |
| DSTSTT DSTSTT_VUI |
| void __builtin_vec_dststt (vsi *, const int, const int); |
| DSTSTT DSTSTT_VSI |
| void __builtin_vec_dststt (vbi *, const int, const int); |
| DSTSTT DSTSTT_VBI |
| void __builtin_vec_dststt (vf *, const int, const int); |
| DSTSTT DSTSTT_VF |
| |
| [VEC_DSTT, vec_dstt, __builtin_vec_dstt] |
| void __builtin_vec_dstt (unsigned char *, const int, const int); |
| DSTT DSTT_UC |
| void __builtin_vec_dstt (signed char *, const int, const int); |
| DSTT DSTT_SC |
| void __builtin_vec_dstt (unsigned short *, const int, const int); |
| DSTT DSTT_US |
| void __builtin_vec_dstt (signed short *, const int, const int); |
| DSTT DSTT_SS |
| void __builtin_vec_dstt (unsigned int *, const int, const int); |
| DSTT DSTT_UI |
| void __builtin_vec_dstt (signed int *, const int, const int); |
| DSTT DSTT_SI |
| void __builtin_vec_dstt (unsigned long *, const int, const int); |
| DSTT DSTT_UL |
| void __builtin_vec_dstt (signed long *, const int, const int); |
| DSTT DSTT_SL |
| void __builtin_vec_dstt (unsigned long long *, const int, const int); |
| DSTT DSTT_ULL |
| void __builtin_vec_dstt (signed long long *, const int, const int); |
| DSTT DSTT_SLL |
| void __builtin_vec_dstt (float *, const int, const int); |
| DSTT DSTT_F |
| void __builtin_vec_dstt (vuc *, const int, const int); |
| DSTT DSTT_VUC |
| void __builtin_vec_dstt (vsc *, const int, const int); |
| DSTT DSTT_VSC |
| void __builtin_vec_dstt (vbc *, const int, const int); |
| DSTT DSTT_VBC |
| void __builtin_vec_dstt (vus *, const int, const int); |
| DSTT DSTT_VUS |
| void __builtin_vec_dstt (vss *, const int, const int); |
| DSTT DSTT_VSS |
| void __builtin_vec_dstt (vbs *, const int, const int); |
| DSTT DSTT_VBS |
| void __builtin_vec_dstt (vp *, const int, const int); |
| DSTT DSTT_VP |
| void __builtin_vec_dstt (vui *, const int, const int); |
| DSTT DSTT_VUI |
| void __builtin_vec_dstt (vsi *, const int, const int); |
| DSTT DSTT_VSI |
| void __builtin_vec_dstt (vbi *, const int, const int); |
| DSTT DSTT_VBI |
| void __builtin_vec_dstt (vf *, const int, const int); |
| DSTT DSTT_VF |
| |
| [VEC_EQV, vec_eqv, __builtin_vec_eqv] |
| vsc __builtin_vec_eqv (vsc, vsc); |
| EQV_V16QI |
| vuc __builtin_vec_eqv (vuc, vuc); |
| EQV_V16QI_UNS EQV_V16QI_VUC |
| vbc __builtin_vec_eqv (vbc, vbc); |
| EQV_V16QI_UNS EQV_V16QI_VBC |
| vss __builtin_vec_eqv (vss, vss); |
| EQV_V8HI |
| vus __builtin_vec_eqv (vus, vus); |
| EQV_V8HI_UNS EQV_V8HI_VUS |
| vbs __builtin_vec_eqv (vbs, vbs); |
| EQV_V8HI_UNS EQV_V8HI_VBS |
| vsi __builtin_vec_eqv (vsi, vsi); |
| EQV_V4SI |
| vui __builtin_vec_eqv (vui, vui); |
| EQV_V4SI_UNS EQV_V4SI_VUI |
| vbi __builtin_vec_eqv (vbi, vbi); |
| EQV_V4SI_UNS EQV_V4SI_VBI |
| vsll __builtin_vec_eqv (vsll, vsll); |
| EQV_V2DI |
| vull __builtin_vec_eqv (vull, vull); |
| EQV_V2DI_UNS EQV_V2DI_VULL |
| vbll __builtin_vec_eqv (vbll, vbll); |
| EQV_V2DI_UNS EQV_V2DI_VBLL |
| vf __builtin_vec_eqv (vf, vf); |
| EQV_V4SF |
| vd __builtin_vec_eqv (vd, vd); |
| EQV_V2DF |
| ; The following variants are deprecated. |
| vsc __builtin_vec_eqv (vbc, vsc); |
| EQV_V16QI EQV_VBC_VSC |
| vsc __builtin_vec_eqv (vsc, vbc); |
| EQV_V16QI EQV_VSC_VBC |
| vuc __builtin_vec_eqv (vbc, vuc); |
| EQV_V16QI_UNS EQV_VBC_VUC |
| vuc __builtin_vec_eqv (vuc, vbc); |
| EQV_V16QI_UNS EQV_VUC_VBC |
| vss __builtin_vec_eqv (vbs, vss); |
| EQV_V8HI EQV_VBS_VSS |
| vss __builtin_vec_eqv (vss, vbs); |
| EQV_V8HI EQV_VSS_VBS |
| vus __builtin_vec_eqv (vbs, vus); |
| EQV_V8HI_UNS EQV_VBS_VUS |
| vus __builtin_vec_eqv (vus, vbs); |
| EQV_V8HI_UNS EQV_VUS_VBS |
| vsi __builtin_vec_eqv (vbi, vsi); |
| EQV_V4SI EQV_VBI_VSI |
| vsi __builtin_vec_eqv (vsi, vbi); |
| EQV_V4SI EQV_VSI_VBI |
| vui __builtin_vec_eqv (vbi, vui); |
| EQV_V4SI_UNS EQV_VBI_VUI |
| vui __builtin_vec_eqv (vui, vbi); |
| EQV_V4SI_UNS EQV_VUI_VBI |
| vsll __builtin_vec_eqv (vbll, vsll); |
| EQV_V2DI EQV_VBLL_VSLL |
| vsll __builtin_vec_eqv (vsll, vbll); |
| EQV_V2DI EQV_VSLL_VBLL |
| vull __builtin_vec_eqv (vbll, vull); |
| EQV_V2DI_UNS EQV_VBLL_VULL |
| vull __builtin_vec_eqv (vull, vbll); |
| EQV_V2DI_UNS EQV_VULL_VBLL |
| |
| [VEC_EXPANDM, vec_expandm, __builtin_vec_vexpandm] |
| vuc __builtin_vec_vexpandm (vuc); |
| VEXPANDMB |
| vus __builtin_vec_vexpandm (vus); |
| VEXPANDMH |
| vui __builtin_vec_vexpandm (vui); |
| VEXPANDMW |
| vull __builtin_vec_vexpandm (vull); |
| VEXPANDMD |
| vuq __builtin_vec_vexpandm (vuq); |
| VEXPANDMQ |
| |
| [VEC_EXPTE, vec_expte, __builtin_vec_expte] |
| vf __builtin_vec_expte (vf); |
| VEXPTEFP |
| |
| ; There are no actual builtins for vec_extract. There is special handling for |
| ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
| ; is replaced by "pointer tricks." The single overload here causes |
| ; __builtin_vec_extract to be registered with the front end so this can |
| ; happen. |
| [VEC_EXTRACT, vec_extract, __builtin_vec_extract] |
| vsi __builtin_vec_extract (vsi, signed int); |
| VSPLTW EXTRACT_FAKERY |
| |
| [VEC_EXTRACT_FP_FROM_SHORTH, vec_extract_fp32_from_shorth, __builtin_vec_vextract_fp_from_shorth] |
| vf __builtin_vec_vextract_fp_from_shorth (vus); |
| VEXTRACT_FP_FROM_SHORTH |
| |
| [VEC_EXTRACT_FP_FROM_SHORTL, vec_extract_fp32_from_shortl, __builtin_vec_vextract_fp_from_shortl] |
| vf __builtin_vec_vextract_fp_from_shortl (vus); |
| VEXTRACT_FP_FROM_SHORTL |
| |
| [VEC_EXTRACTH, vec_extracth, __builtin_vec_extracth] |
| vull __builtin_vec_extracth (vuc, vuc, unsigned char); |
| VEXTRACTBR |
| vull __builtin_vec_extracth (vus, vus, unsigned char); |
| VEXTRACTHR |
| vull __builtin_vec_extracth (vui, vui, unsigned char); |
| VEXTRACTWR |
| vull __builtin_vec_extracth (vull, vull, unsigned char); |
| VEXTRACTDR |
| |
| [VEC_EXTRACTL, vec_extractl, __builtin_vec_extractl] |
| vull __builtin_vec_extractl (vuc, vuc, unsigned char); |
| VEXTRACTBL |
| vull __builtin_vec_extractl (vus, vus, unsigned char); |
| VEXTRACTHL |
| vull __builtin_vec_extractl (vui, vui, unsigned char); |
| VEXTRACTWL |
| vull __builtin_vec_extractl (vull, vull, unsigned char); |
| VEXTRACTDL |
| |
| [VEC_EXTRACTM, vec_extractm, __builtin_vec_vextractm] |
| signed int __builtin_vec_vextractm (vuc); |
| VEXTRACTMB |
| signed int __builtin_vec_vextractm (vus); |
| VEXTRACTMH |
| signed int __builtin_vec_vextractm (vui); |
| VEXTRACTMW |
| signed int __builtin_vec_vextractm (vull); |
| VEXTRACTMD |
| signed int __builtin_vec_vextractm (vuq); |
| VEXTRACTMQ |
| |
| [VEC_EXTRACT4B, vec_extract4b, __builtin_vec_extract4b] |
| vull __builtin_vec_extract4b (vuc, const int); |
| EXTRACT4B |
| |
| [VEC_EXTULX, vec_xlx, __builtin_vec_vextulx] |
| signed char __builtin_vec_vextulx (unsigned int, vsc); |
| VEXTUBLX VEXTUBLX_S |
| unsigned char __builtin_vec_vextulx (unsigned int, vuc); |
| VEXTUBLX VEXTUBLX_U |
| signed short __builtin_vec_vextulx (unsigned int, vss); |
| VEXTUHLX VEXTUHLX_S |
| unsigned short __builtin_vec_vextulx (unsigned int, vus); |
| VEXTUHLX VEXTUHLX_U |
| signed int __builtin_vec_vextulx (unsigned int, vsi); |
| VEXTUWLX VEXTUWLX_S |
| unsigned int __builtin_vec_vextulx (unsigned int, vui); |
| VEXTUWLX VEXTUWLX_U |
| float __builtin_vec_vextulx (unsigned int, vf); |
| VEXTUWLX VEXTUWLX_F |
| |
| [VEC_EXTURX, vec_xrx, __builtin_vec_vexturx] |
| signed char __builtin_vec_vexturx (unsigned int, vsc); |
| VEXTUBRX VEXTUBRX_S |
| unsigned char __builtin_vec_vexturx (unsigned int, vuc); |
| VEXTUBRX VEXTUBRX_U |
| signed short __builtin_vec_vexturx (unsigned int, vss); |
| VEXTUHRX VEXTUHRX_S |
| unsigned short __builtin_vec_vexturx (unsigned int, vus); |
| VEXTUHRX VEXTUHRX_U |
| signed int __builtin_vec_vexturx (unsigned int, vsi); |
| VEXTUWRX VEXTUWRX_S |
| unsigned int __builtin_vec_vexturx (unsigned int, vui); |
| VEXTUWRX VEXTUWRX_U |
| float __builtin_vec_vexturx (unsigned int, vf); |
| VEXTUWRX VEXTUWRX_F |
| |
| [VEC_FIRSTMATCHINDEX, vec_first_match_index, __builtin_vec_first_match_index] |
| unsigned int __builtin_vec_first_match_index (vsc, vsc); |
| VFIRSTMATCHINDEX_V16QI FIRSTMATCHINDEX_VSC |
| unsigned int __builtin_vec_first_match_index (vuc, vuc); |
| VFIRSTMATCHINDEX_V16QI FIRSTMATCHINDEX_VUC |
| unsigned int __builtin_vec_first_match_index (vss, vss); |
| VFIRSTMATCHINDEX_V8HI FIRSTMATCHINDEX_VSS |
| unsigned int __builtin_vec_first_match_index (vus, vus); |
| VFIRSTMATCHINDEX_V8HI FIRSTMATCHINDEX_VUS |
| unsigned int __builtin_vec_first_match_index (vsi, vsi); |
| VFIRSTMATCHINDEX_V4SI FIRSTMATCHINDEX_VSI |
| unsigned int __builtin_vec_first_match_index (vui, vui); |
| VFIRSTMATCHINDEX_V4SI FIRSTMATCHINDEX_VUI |
| |
| [VEC_FIRSTMATCHOREOSINDEX, vec_first_match_or_eos_index, __builtin_vec_first_match_or_eos_index] |
| unsigned int __builtin_vec_first_match_or_eos_index (vsc, vsc); |
| VFIRSTMATCHOREOSINDEX_V16QI FIRSTMATCHOREOSINDEX_VSC |
| unsigned int __builtin_vec_first_match_or_eos_index (vuc, vuc); |
| VFIRSTMATCHOREOSINDEX_V16QI FIRSTMATCHOREOSINDEX_VUC |
| unsigned int __builtin_vec_first_match_or_eos_index (vss, vss); |
| VFIRSTMATCHOREOSINDEX_V8HI FIRSTMATCHOREOSINDEX_VSS |
| unsigned int __builtin_vec_first_match_or_eos_index (vus, vus); |
| VFIRSTMATCHOREOSINDEX_V8HI FIRSTMATCHOREOSINDEX_VUS |
| unsigned int __builtin_vec_first_match_or_eos_index (vsi, vsi); |
| VFIRSTMATCHOREOSINDEX_V4SI FIRSTMATCHOREOSINDEX_VSI |
| unsigned int __builtin_vec_first_match_or_eos_index (vui, vui); |
| VFIRSTMATCHOREOSINDEX_V4SI FIRSTMATCHOREOSINDEX_VUI |
| |
| [VEC_FIRSTMISMATCHINDEX, vec_first_mismatch_index, __builtin_vec_first_mismatch_index] |
| unsigned int __builtin_vec_first_mismatch_index (vsc, vsc); |
| VFIRSTMISMATCHINDEX_V16QI FIRSTMISMATCHINDEX_VSC |
| unsigned int __builtin_vec_first_mismatch_index (vuc, vuc); |
| VFIRSTMISMATCHINDEX_V16QI FIRSTMISMATCHINDEX_VUC |
| unsigned int __builtin_vec_first_mismatch_index (vss, vss); |
| VFIRSTMISMATCHINDEX_V8HI FIRSTMISMATCHINDEX_VSS |
| unsigned int __builtin_vec_first_mismatch_index (vus, vus); |
| VFIRSTMISMATCHINDEX_V8HI FIRSTMISMATCHINDEX_VUS |
| unsigned int __builtin_vec_first_mismatch_index (vsi, vsi); |
| VFIRSTMISMATCHINDEX_V4SI FIRSTMISMATCHINDEX_VSI |
| unsigned int __builtin_vec_first_mismatch_index (vui, vui); |
| VFIRSTMISMATCHINDEX_V4SI FIRSTMISMATCHINDEX_VUI |
| |
| [VEC_FIRSTMISMATCHOREOSINDEX, vec_first_mismatch_or_eos_index, __builtin_vec_first_mismatch_or_eos_index] |
| unsigned int __builtin_vec_first_mismatch_or_eos_index (vsc, vsc); |
| VFIRSTMISMATCHOREOSINDEX_V16QI FIRSTMISMATCHOREOSINDEX_VSC |
| unsigned int __builtin_vec_first_mismatch_or_eos_index (vuc, vuc); |
| VFIRSTMISMATCHOREOSINDEX_V16QI FIRSTMISMATCHOREOSINDEX_VUC |
| unsigned int __builtin_vec_first_mismatch_or_eos_index (vss, vss); |
| VFIRSTMISMATCHOREOSINDEX_V8HI FIRSTMISMATCHOREOSINDEX_VSS |
| unsigned int __builtin_vec_first_mismatch_or_eos_index (vus, vus); |
| VFIRSTMISMATCHOREOSINDEX_V8HI FIRSTMISMATCHOREOSINDEX_VUS |
| unsigned int __builtin_vec_first_mismatch_or_eos_index (vsi, vsi); |
| VFIRSTMISMATCHOREOSINDEX_V4SI FIRSTMISMATCHOREOSINDEX_VSI |
| unsigned int __builtin_vec_first_mismatch_or_eos_index (vui, vui); |
| VFIRSTMISMATCHOREOSINDEX_V4SI FIRSTMISMATCHOREOSINDEX_VUI |
| |
| [VEC_FLOAT, vec_float, __builtin_vec_float] |
| vf __builtin_vec_float (vsi); |
| XVCVSXWSP |
| vf __builtin_vec_float (vui); |
| XVCVUXWSP |
| |
| [VEC_FLOAT2, vec_float2, __builtin_vec_float2] |
| vf __builtin_vec_float2 (vsll, vsll); |
| FLOAT2_V2DI |
| vf __builtin_vec_float2 (vull, vull); |
| UNS_FLOAT2_V2DI |
| vf __builtin_vec_float2 (vd, vd); |
| FLOAT2_V2DF |
| |
| [VEC_FLOATE, vec_floate, __builtin_vec_floate] |
| vf __builtin_vec_floate (vsll); |
| FLOATE_V2DI |
| vf __builtin_vec_floate (vull); |
| UNS_FLOATE_V2DI |
| vf __builtin_vec_floate (vd); |
| FLOATE_V2DF |
| |
| [VEC_FLOATO, vec_floato, __builtin_vec_floato] |
| vf __builtin_vec_floato (vsll); |
| FLOATO_V2DI |
| vf __builtin_vec_floato (vull); |
| UNS_FLOATO_V2DI |
| vf __builtin_vec_floato (vd); |
| FLOATO_V2DF |
| |
| [VEC_FLOOR, vec_floor, __builtin_vec_floor] |
| vf __builtin_vec_floor (vf); |
| VRFIM |
| vd __builtin_vec_floor (vd); |
| XVRDPIM |
| |
| [VEC_GB, vec_gb, __builtin_vec_vgbbd] |
| vsc __builtin_vec_vgbbd (vsc); |
| VGBBD VGBBD_S |
| vuc __builtin_vec_vgbbd (vuc); |
| VGBBD VGBBD_U |
| |
| [VEC_GENBM, vec_genbm, __builtin_vec_mtvsrbm] |
| vuc __builtin_vec_mtvsrbm (unsigned long long); |
| MTVSRBM |
| |
| [VEC_GENHM, vec_genhm, __builtin_vec_mtvsrhm] |
| vus __builtin_vec_mtvsrhm (unsigned long long); |
| MTVSRHM |
| |
| [VEC_GENWM, vec_genwm, __builtin_vec_mtvsrwm] |
| vui __builtin_vec_mtvsrwm (unsigned long long); |
| MTVSRWM |
| |
| [VEC_GENDM, vec_gendm, __builtin_vec_mtvsrdm] |
| vull __builtin_vec_mtvsrdm (unsigned long long); |
| MTVSRDM |
| |
| [VEC_GENQM, vec_genqm, __builtin_vec_mtvsrqm] |
| vuq __builtin_vec_mtvsrqm (unsigned long long); |
| MTVSRQM |
| |
| [VEC_GENPCVM, vec_genpcvm, __builtin_vec_xxgenpcvm] |
| vuc __builtin_vec_xxgenpcvm (vuc, const int); |
| XXGENPCVM_V16QI |
| vus __builtin_vec_xxgenpcvm (vus, const int); |
| XXGENPCVM_V8HI |
| vui __builtin_vec_xxgenpcvm (vui, const int); |
| XXGENPCVM_V4SI |
| vull __builtin_vec_xxgenpcvm (vull, const int); |
| XXGENPCVM_V2DI |
| |
| [VEC_GNB, vec_gnb, __builtin_vec_gnb] |
| unsigned long long __builtin_vec_gnb (vuq, const int); |
| VGNB |
| |
| ; There are no actual builtins for vec_insert. There is special handling for |
| ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
| ; is replaced by "pointer tricks." The single overload here causes |
| ; __builtin_vec_insert to be registered with the front end so this can happen. |
| [VEC_INSERT, vec_insert, __builtin_vec_insert] |
| vsi __builtin_vec_insert (vsi, vsi, signed int); |
| XXPERMDI_4SI INSERT_FAKERY |
| |
| [VEC_INSERTH, vec_inserth, __builtin_vec_inserth] |
| vuc __builtin_vec_inserth (unsigned char, vuc, unsigned int); |
| VINSERTGPRBR |
| vuc __builtin_vec_inserth (vuc, vuc, unsigned int); |
| VINSERTVPRBR |
| vus __builtin_vec_inserth (unsigned short, vus, unsigned int); |
| VINSERTGPRHR |
| vus __builtin_vec_inserth (vus, vus, unsigned int); |
| VINSERTVPRHR |
| vui __builtin_vec_inserth (unsigned int, vui, unsigned int); |
| VINSERTGPRWR |
| vui __builtin_vec_inserth (vui, vui, unsigned int); |
| VINSERTVPRWR |
| vull __builtin_vec_inserth (unsigned long long, vull, unsigned int); |
| VINSERTGPRDR |
| |
| [VEC_INSERTL, vec_insertl, __builtin_vec_insertl] |
| vuc __builtin_vec_insertl (unsigned char, vuc, unsigned int); |
| VINSERTGPRBL |
| vuc __builtin_vec_insertl (vuc, vuc, unsigned int); |
| VINSERTVPRBL |
| vus __builtin_vec_insertl (unsigned short, vus, unsigned int); |
| VINSERTGPRHL |
| vus __builtin_vec_insertl (vus, vus, unsigned int); |
| VINSERTVPRHL |
| vui __builtin_vec_insertl (unsigned int, vui, unsigned int); |
| VINSERTGPRWL |
| vui __builtin_vec_insertl (vui, vui, unsigned int); |
| VINSERTVPRWL |
| vull __builtin_vec_insertl (unsigned long long, vull, unsigned int); |
| VINSERTGPRDL |
| |
| [VEC_INSERT4B, vec_insert4b, __builtin_vec_insert4b] |
| vuc __builtin_vec_insert4b (vsi, vuc, const int); |
| INSERT4B INSERT4B_S |
| vuc __builtin_vec_insert4b (vui, vuc, const int); |
| INSERT4B INSERT4B_U |
| |
| [VEC_LD, vec_ld, __builtin_vec_ld] |
| vsc __builtin_vec_ld (signed long, const vsc *); |
| LVX_V16QI LVX_V16QI_VSC |
| vsc __builtin_vec_ld (signed long, const signed char *); |
| LVX_V16QI LVX_V16QI_SC |
| vuc __builtin_vec_ld (signed long, const vuc *); |
| LVX_V16QI LVX_V16QI_VUC |
| vuc __builtin_vec_ld (signed long, const unsigned char *); |
| LVX_V16QI LVX_V16QI_UC |
| vbc __builtin_vec_ld (signed long, const vbc *); |
| LVX_V16QI LVX_V16QI_VBC |
| vss __builtin_vec_ld (signed long, const vss *); |
| LVX_V8HI LVX_V8HI_VSS |
| vss __builtin_vec_ld (signed long, const signed short *); |
| LVX_V8HI LVX_V8HI_SS |
| vus __builtin_vec_ld (signed long, const vus *); |
| LVX_V8HI LVX_V8HI_VUS |
| vus __builtin_vec_ld (signed long, const unsigned short *); |
| LVX_V8HI LVX_V8HI_US |
| vbs __builtin_vec_ld (signed long, const vbs *); |
| LVX_V8HI LVX_V8HI_VBS |
| vp __builtin_vec_ld (signed long, const vp *); |
| LVX_V8HI LVX_V8HI_VP |
| vsi __builtin_vec_ld (signed long, const vsi *); |
| LVX_V4SI LVX_V4SI_VSI |
| vsi __builtin_vec_ld (signed long, const signed int *); |
| LVX_V4SI LVX_V4SI_SI |
| vui __builtin_vec_ld (signed long, const vui *); |
| LVX_V4SI LVX_V4SI_VUI |
| vui __builtin_vec_ld (signed long, const unsigned int *); |
| LVX_V4SI LVX_V4SI_UI |
| vbi __builtin_vec_ld (signed long, const vbi *); |
| LVX_V4SI LVX_V4SI_VBI |
| vsll __builtin_vec_ld (signed long, const vsll *); |
| LVX_V2DI LVX_V2DI_VSLL |
| vsll __builtin_vec_ld (signed long, const signed long long *); |
| LVX_V2DI LVX_V2DI_SLL |
| vull __builtin_vec_ld (signed long, const vull *); |
| LVX_V2DI LVX_V2DI_VULL |
| vull __builtin_vec_ld (signed long, const unsigned long long *); |
| LVX_V2DI LVX_V2DI_ULL |
| vbll __builtin_vec_ld (signed long, const vbll *); |
| LVX_V2DI LVX_V2DI_VBLL |
| vsq __builtin_vec_ld (signed long, const vsq *); |
| LVX_V1TI LVX_V1TI_VSQ |
| vuq __builtin_vec_ld (signed long, const vuq *); |
| LVX_V1TI LVX_V1TI_VUQ |
| vsq __builtin_vec_ld (signed long, const __int128 *); |
| LVX_V1TI LVX_V1TI_TI |
| vuq __builtin_vec_ld (signed long, const unsigned __int128 *); |
| LVX_V1TI LVX_V1TI_UTI |
| vf __builtin_vec_ld (signed long, const vf *); |
| LVX_V4SF LVX_V4SF_VF |
| vf __builtin_vec_ld (signed long, const float *); |
| LVX_V4SF LVX_V4SF_F |
| vd __builtin_vec_ld (signed long, const vd *); |
| LVX_V2DF LVX_V2DF_VD |
| vd __builtin_vec_ld (signed long, const double *); |
| LVX_V2DF LVX_V2DF_D |
| ; The following variants are deprecated. |
| vsi __builtin_vec_ld (signed long, const long *); |
| LVX_V4SI LVX_V4SI_SL |
| vui __builtin_vec_ld (signed long, const unsigned long *); |
| LVX_V4SI LVX_V4SI_UL |
| |
| [VEC_LDE, vec_lde, __builtin_vec_lde] |
| vsc __builtin_vec_lde (signed long, const signed char *); |
| LVEBX LVEBX_SC |
| vuc __builtin_vec_lde (signed long, const unsigned char *); |
| LVEBX LVEBX_UC |
| vss __builtin_vec_lde (signed long, const signed short *); |
| LVEHX LVEHX_SS |
| vus __builtin_vec_lde (signed long, const unsigned short *); |
| LVEHX LVEHX_US |
| vsi __builtin_vec_lde (signed long, const signed int *); |
| LVEWX LVEWX_SI |
| vui __builtin_vec_lde (signed long, const unsigned int *); |
| LVEWX LVEWX_UI |
| vf __builtin_vec_lde (signed long, const float *); |
| LVEWX LVEWX_F |
| ; The following variants are deprecated. |
| vsi __builtin_vec_lde (signed long, const long *); |
| LVEWX LVEWX_SL |
| vui __builtin_vec_lde (signed long, const unsigned long *); |
| LVEWX LVEWX_UL |
| |
| [VEC_LDL, vec_ldl, __builtin_vec_ldl] |
| vsc __builtin_vec_ldl (signed long, const vsc *); |
| LVXL_V16QI LVXL_V16QI_VSC |
| vsc __builtin_vec_ldl (signed long, const signed char *); |
| LVXL_V16QI LVXL_V16QI_SC |
| vuc __builtin_vec_ldl (signed long, const vuc *); |
| LVXL_V16QI LVXL_V16QI_VUC |
| vuc __builtin_vec_ldl (signed long, const unsigned char *); |
| LVXL_V16QI LVXL_V16QI_UC |
| vbc __builtin_vec_ldl (signed long, const vbc *); |
| LVXL_V16QI LVXL_V16QI_VBC |
| vss __builtin_vec_ldl (signed long, const vss *); |
| LVXL_V8HI LVXL_V8HI_VSS |
| vss __builtin_vec_ldl (signed long, const signed short *); |
| LVXL_V8HI LVXL_V8HI_SS |
| vus __builtin_vec_ldl (signed long, const vus *); |
| LVXL_V8HI LVXL_V8HI_VUS |
| vus __builtin_vec_ldl (signed long, const unsigned short *); |
| LVXL_V8HI LVXL_V8HI_US |
| vbs __builtin_vec_ldl (signed long, const vbs *); |
| LVXL_V8HI LVXL_V8HI_VBS |
| vp __builtin_vec_ldl (signed long, const vp *); |
| LVXL_V8HI LVXL_V8HI_VP |
| vsi __builtin_vec_ldl (signed long, const vsi *); |
| LVXL_V4SI LVXL_V4SI_VSI |
| vsi __builtin_vec_ldl (signed long, const signed int *); |
| LVXL_V4SI LVXL_V4SI_SI |
| vui __builtin_vec_ldl (signed long, const vui *); |
| LVXL_V4SI LVXL_V4SI_VUI |
| vui __builtin_vec_ldl (signed long, const unsigned int *); |
| LVXL_V4SI LVXL_V4SI_UI |
| vbi __builtin_vec_ldl (signed long, const vbi *); |
| LVXL_V4SI LVXL_V4SI_VBI |
| vsll __builtin_vec_ldl (signed long, const vsll *); |
| LVXL_V2DI LVXL_V2DI_VSLL |
| vsll __builtin_vec_ldl (signed long, const signed long long *); |
| LVXL_V2DI LVXL_V2DI_SLL |
| vull __builtin_vec_ldl (signed long, const vull *); |
| LVXL_V2DI LVXL_V2DI_VULL |
| vull __builtin_vec_ldl (signed long, const unsigned long long *); |
| LVXL_V2DI LVXL_V2DI_ULL |
| vbll __builtin_vec_ldl (signed long, const vbll *); |
| LVXL_V2DI LVXL_V2DI_VBLL |
| vf __builtin_vec_ldl (signed long, const vf *); |
| LVXL_V4SF LVXL_V4SF_VF |
| vf __builtin_vec_ldl (signed long, const float *); |
| LVXL_V4SF LVXL_V4SF_F |
| vd __builtin_vec_ldl (signed long, const vd *); |
| LVXL_V2DF LVXL_V2DF_VD |
| vd __builtin_vec_ldl (signed long, const double *); |
| LVXL_V2DF LVXL_V2DF_D |
| |
| [VEC_LOGE, vec_loge, __builtin_vec_loge] |
| vf __builtin_vec_loge (vf); |
| VLOGEFP |
| |
| [VEC_LVLX, vec_lvlx, __builtin_vec_lvlx, __PPU__] |
| vbc __builtin_vec_lvlx (signed long, const vbc *); |
| LVLX LVLX_VBC |
| vsc __builtin_vec_lvlx (signed long, const vsc *); |
| LVLX LVLX_VSC |
| vsc __builtin_vec_lvlx (signed long, const signed char *); |
| LVLX LVLX_SC |
| vuc __builtin_vec_lvlx (signed long, const vuc *); |
| LVLX LVLX_VUC |
| vuc __builtin_vec_lvlx (signed long, const unsigned char *); |
| LVLX LVLX_UC |
| vbs __builtin_vec_lvlx (signed long, const vbs *); |
| LVLX LVLX_VBS |
| vss __builtin_vec_lvlx (signed long, const vss *); |
| LVLX LVLX_VSS |
| vss __builtin_vec_lvlx (signed long, const signed short *); |
| LVLX LVLX_SS |
| vus __builtin_vec_lvlx (signed long, const vus *); |
| LVLX LVLX_VUS |
| vus __builtin_vec_lvlx (signed long, const unsigned short *); |
| LVLX LVLX_US |
| vp __builtin_vec_lvlx (signed long, const vp *); |
| LVLX LVLX_VP |
| vbi __builtin_vec_lvlx (signed long, const vbi *); |
| LVLX LVLX_VBI |
| vsi __builtin_vec_lvlx (signed long, const vsi *); |
| LVLX LVLX_VSI |
| vsi __builtin_vec_lvlx (signed long, const signed int *); |
| LVLX LVLX_SI |
| vui __builtin_vec_lvlx (signed long, const vui *); |
| LVLX LVLX_VUI |
| vui __builtin_vec_lvlx (signed long, const unsigned int *); |
| LVLX LVLX_UI |
| vf __builtin_vec_lvlx (signed long, const vf *); |
| LVLX LVLX_VF |
| vf __builtin_vec_lvlx (signed long, const float *); |
| LVLX LVLX_F |
| |
| [VEC_LVLXL, vec_lvlxl, __builtin_vec_lvlxl, __PPU__] |
| vbc __builtin_vec_lvlxl (signed long, const vbc *); |
| LVLXL LVLXL_VBC |
| vsc __builtin_vec_lvlxl (signed long, const vsc *); |
| LVLXL LVLXL_VSC |
| vsc __builtin_vec_lvlxl (signed long, const signed char *); |
| LVLXL LVLXL_SC |
| vuc __builtin_vec_lvlxl (signed long, const vuc *); |
| LVLXL LVLXL_VUC |
| vuc __builtin_vec_lvlxl (signed long, const unsigned char *); |
| LVLXL LVLXL_UC |
| vbs __builtin_vec_lvlxl (signed long, const vbs *); |
| LVLXL LVLXL_VBS |
| vss __builtin_vec_lvlxl (signed long, const vss *); |
| LVLXL LVLXL_VSS |
| vss __builtin_vec_lvlxl (signed long, const signed short *); |
| LVLXL LVLXL_SS |
| vus __builtin_vec_lvlxl (signed long, const vus *); |
| LVLXL LVLXL_VUS |
| vus __builtin_vec_lvlxl (signed long, const unsigned short *); |
| LVLXL LVLXL_US |
| vp __builtin_vec_lvlxl (signed long, const vp *); |
| LVLXL LVLXL_VP |
| vbi __builtin_vec_lvlxl (signed long, const vbi *); |
| LVLXL LVLXL_VBI |
| vsi __builtin_vec_lvlxl (signed long, const vsi *); |
| LVLXL LVLXL_VSI |
| vsi __builtin_vec_lvlxl (signed long, const signed int *); |
| LVLXL LVLXL_SI |
| vui __builtin_vec_lvlxl (signed long, const vui *); |
| LVLXL LVLXL_VUI |
| vui __builtin_vec_lvlxl (signed long, const unsigned int *); |
| LVLXL LVLXL_UI |
| vf __builtin_vec_lvlxl (signed long, const vf *); |
| LVLXL LVLXL_VF |
| vf __builtin_vec_lvlxl (signed long, const float *); |
| LVLXL LVLXL_F |
| |
| [VEC_LVRX, vec_lvrx, __builtin_vec_lvrx, __PPU__] |
| vbc __builtin_vec_lvrx (signed long, const vbc *); |
| LVRX LVRX_VBC |
| vsc __builtin_vec_lvrx (signed long, const vsc *); |
| LVRX LVRX_VSC |
| vsc __builtin_vec_lvrx (signed long, const signed char *); |
| LVRX LVRX_SC |
| vuc __builtin_vec_lvrx (signed long, const vuc *); |
| LVRX LVRX_VUC |
| vuc __builtin_vec_lvrx (signed long, const unsigned char *); |
| LVRX LVRX_UC |
| vbs __builtin_vec_lvrx (signed long, const vbs *); |
| LVRX LVRX_VBS |
| vss __builtin_vec_lvrx (signed long, const vss *); |
| LVRX LVRX_VSS |
| vss __builtin_vec_lvrx (signed long, const signed short *); |
| LVRX LVRX_SS |
| vus __builtin_vec_lvrx (signed long, const vus *); |
| LVRX LVRX_VUS |
| vus __builtin_vec_lvrx (signed long, const unsigned short *); |
| LVRX LVRX_US |
| vp __builtin_vec_lvrx (signed long, const vp *); |
| LVRX LVRX_VP |
| vbi __builtin_vec_lvrx (signed long, const vbi *); |
| LVRX LVRX_VBI |
| vsi __builtin_vec_lvrx (signed long, const vsi *); |
| LVRX LVRX_VSI |
| vsi __builtin_vec_lvrx (signed long, const signed int *); |
| LVRX LVRX_SI |
| vui __builtin_vec_lvrx (signed long, const vui *); |
| LVRX LVRX_VUI |
| vui __builtin_vec_lvrx (signed long, const unsigned int *); |
| LVRX LVRX_UI |
| vf __builtin_vec_lvrx (signed long, const vf *); |
| LVRX LVRX_VF |
| vf __builtin_vec_lvrx (signed long, const float *); |
| LVRX LVRX_F |
| |
| [VEC_LVRXL, vec_lvrxl, __builtin_vec_lvrxl, __PPU__] |
| vbc __builtin_vec_lvrxl (signed long, const vbc *); |
| LVRXL LVRXL_VBC |
| vsc __builtin_vec_lvrxl (signed long, const vsc *); |
| LVRXL LVRXL_VSC |
| vsc __builtin_vec_lvrxl (signed long, const signed char *); |
| LVRXL LVRXL_SC |
| vuc __builtin_vec_lvrxl (signed long, const vuc *); |
| LVRXL LVRXL_VUC |
| vuc __builtin_vec_lvrxl (signed long, const unsigned char *); |
| LVRXL LVRXL_UC |
| vbs __builtin_vec_lvrxl (signed long, const vbs *); |
| LVRXL LVRXL_VBS |
| vss __builtin_vec_lvrxl (signed long, const vss *); |
| LVRXL LVRXL_VSS |
| vss __builtin_vec_lvrxl (signed long, const signed short *); |
| LVRXL LVRXL_SS |
| vus __builtin_vec_lvrxl (signed long, const vus *); |
| LVRXL LVRXL_VUS |
| vus __builtin_vec_lvrxl (signed long, const unsigned short *); |
| LVRXL LVRXL_US |
| vp __builtin_vec_lvrxl (signed long, const vp *); |
| LVRXL LVRXL_VP |
| vbi __builtin_vec_lvrxl (signed long, const vbi *); |
| LVRXL LVRXL_VBI |
| vsi __builtin_vec_lvrxl (signed long, const vsi *); |
| LVRXL LVRXL_VSI |
| vsi __builtin_vec_lvrxl (signed long, const signed int *); |
| LVRXL LVRXL_SI |
| vui __builtin_vec_lvrxl (signed long, const vui *); |
| LVRXL LVRXL_VUI |
| vui __builtin_vec_lvrxl (signed long, const unsigned int *); |
| LVRXL LVRXL_UI |
| vf __builtin_vec_lvrxl (signed long, const vf *); |
| LVRXL LVRXL_VF |
| vf __builtin_vec_lvrxl (signed long, const float *); |
| LVRXL LVRXL_F |
| |
| [VEC_LVSL, vec_lvsl, __builtin_vec_lvsl] |
| vuc __builtin_vec_lvsl (signed long, const unsigned char *); |
| LVSL LVSL_UC |
| vuc __builtin_vec_lvsl (signed long, const signed char *); |
| LVSL LVSL_SC |
| vuc __builtin_vec_lvsl (signed long, const char *); |
| LVSL LVSL_STR |
| vuc __builtin_vec_lvsl (signed long, const unsigned short *); |
| LVSL LVSL_US |
| vuc __builtin_vec_lvsl (signed long, const signed short *); |
| LVSL LVSL_SS |
| vuc __builtin_vec_lvsl (signed long, const unsigned int *); |
| LVSL LVSL_UI |
| vuc __builtin_vec_lvsl (signed long, const signed int *); |
| LVSL LVSL_SI |
| vuc __builtin_vec_lvsl (signed long, const unsigned long *); |
| LVSL LVSL_UL |
| vuc __builtin_vec_lvsl (signed long, const signed long *); |
| LVSL LVSL_SL |
| vuc __builtin_vec_lvsl (signed long, const unsigned long long *); |
| LVSL LVSL_ULL |
| vuc __builtin_vec_lvsl (signed long, const signed long long *); |
| LVSL LVSL_SLL |
| vuc __builtin_vec_lvsl (signed long, const float *); |
| LVSL LVSL_F |
| vuc __builtin_vec_lvsl (signed long, const double *); |
| LVSL LVSL_D |
| |
| [VEC_LVSR, vec_lvsr, __builtin_vec_lvsr] |
| vuc __builtin_vec_lvsr (signed long, const unsigned char *); |
| LVSR LVSR_UC |
| vuc __builtin_vec_lvsr (signed long, const signed char *); |
| LVSR LVSR_SC |
| vuc __builtin_vec_lvsr (signed long, const char *); |
| LVSR LVSR_STR |
| vuc __builtin_vec_lvsr (signed long, const unsigned short *); |
| LVSR LVSR_US |
| vuc __builtin_vec_lvsr (signed long, const signed short *); |
| LVSR LVSR_SS |
| vuc __builtin_vec_lvsr (signed long, const unsigned int *); |
| LVSR LVSR_UI |
| vuc __builtin_vec_lvsr (signed long, const signed int *); |
| LVSR LVSR_SI |
| vuc __builtin_vec_lvsr (signed long, const unsigned long *); |
| LVSR LVSR_UL |
| vuc __builtin_vec_lvsr (signed long, const signed long *); |
| LVSR LVSR_SL |
| vuc __builtin_vec_lvsr (signed long, const unsigned long long *); |
| LVSR LVSR_ULL |
| vuc __builtin_vec_lvsr (signed long, const signed long long *); |
| LVSR LVSR_SLL |
| vuc __builtin_vec_lvsr (signed long, const float *); |
| LVSR LVSR_F |
| vuc __builtin_vec_lvsr (signed long, const double *); |
| LVSR LVSR_D |
| |
| [VEC_LXVL, vec_xl_len, __builtin_vec_lxvl] |
| vsc __builtin_vec_lxvl (const signed char *, unsigned int); |
| LXVL LXVL_VSC |
| vuc __builtin_vec_lxvl (const unsigned char *, unsigned int); |
| LXVL LXVL_VUC |
| vss __builtin_vec_lxvl (const signed short *, unsigned int); |
| LXVL LXVL_VSS |
| vus __builtin_vec_lxvl (const unsigned short *, unsigned int); |
| LXVL LXVL_VUS |
| vsi __builtin_vec_lxvl (const signed int *, unsigned int); |
| LXVL LXVL_VSI |
| vui __builtin_vec_lxvl (const unsigned int *, unsigned int); |
| LXVL LXVL_VUI |
| vsll __builtin_vec_lxvl (const signed long long *, unsigned int); |
| LXVL LXVL_VSLL |
| vull __builtin_vec_lxvl (const unsigned long long *, unsigned int); |
| LXVL LXVL_VULL |
| vsq __builtin_vec_lxvl (const signed __int128 *, unsigned int); |
| LXVL LXVL_VSQ |
| vuq __builtin_vec_lxvl (const unsigned __int128 *, unsigned int); |
| LXVL LXVL_VUQ |
| vf __builtin_vec_lxvl (const float *, unsigned int); |
| LXVL LXVL_VF |
| vd __builtin_vec_lxvl (const double *, unsigned int); |
| LXVL LXVL_VD |
| |
| [VEC_MADD, vec_madd, __builtin_vec_madd] |
| vss __builtin_vec_madd (vss, vss, vss); |
| VMLADDUHM VMLADDUHM_VSS |
| vss __builtin_vec_madd (vss, vus, vus); |
| VMLADDUHM VMLADDUHM_VSSVUS |
| vss __builtin_vec_madd (vus, vss, vss); |
| VMLADDUHM VMLADDUHM_VUSVSS |
| vus __builtin_vec_madd (vus, vus, vus); |
| VMLADDUHM VMLADDUHM_VUS |
| vf __builtin_vec_madd (vf, vf, vf); |
| VMADDFP |
| vd __builtin_vec_madd (vd, vd, vd); |
| XVMADDDP |
| |
| [VEC_MADDS, vec_madds, __builtin_vec_madds] |
| vss __builtin_vec_madds (vss, vss, vss); |
| VMHADDSHS |
| |
| [VEC_MAX, vec_max, __builtin_vec_max] |
| vsc __builtin_vec_max (vsc, vsc); |
| VMAXSB |
| vuc __builtin_vec_max (vuc, vuc); |
| VMAXUB |
| vss __builtin_vec_max (vss, vss); |
| VMAXSH |
| vus __builtin_vec_max (vus, vus); |
| VMAXUH |
| vsi __builtin_vec_max (vsi, vsi); |
| VMAXSW |
| vui __builtin_vec_max (vui, vui); |
| VMAXUW |
| vsll __builtin_vec_max (vsll, vsll); |
| VMAXSD |
| vull __builtin_vec_max (vull, vull); |
| VMAXUD |
| vf __builtin_vec_max (vf, vf); |
| VMAXFP |
| vd __builtin_vec_max (vd, vd); |
| XVMAXDP |
| ; The following variants are deprecated. |
| vsc __builtin_vec_max (vsc, vbc); |
| VMAXSB VMAXSB_SB |
| vsc __builtin_vec_max (vbc, vsc); |
| VMAXSB VMAXSB_BS |
| vuc __builtin_vec_max (vuc, vbc); |
| VMAXUB VMAXUB_UB |
| vuc __builtin_vec_max (vbc, vuc); |
| VMAXUB VMAXUB_BU |
| vss __builtin_vec_max (vss, vbs); |
| VMAXSH VMAXSH_SB |
| vss __builtin_vec_max (vbs, vss); |
| VMAXSH VMAXSH_BS |
| vus __builtin_vec_max (vus, vbs); |
| VMAXUH VMAXUH_UB |
| vus __builtin_vec_max (vbs, vus); |
| VMAXUH VMAXUH_BU |
| vsi __builtin_vec_max (vsi, vbi); |
| VMAXSW VMAXSW_SB |
| vsi __builtin_vec_max (vbi, vsi); |
| VMAXSW VMAXSW_BS |
| vui __builtin_vec_max (vui, vbi); |
| VMAXUW VMAXUW_UB |
| vui __builtin_vec_max (vbi, vui); |
| VMAXUW VMAXUW_BU |
| vsll __builtin_vec_max (vsll, vbll); |
| VMAXSD VMAXSD_SB |
| vsll __builtin_vec_max (vbll, vsll); |
| VMAXSD VMAXSD_BS |
| vull __builtin_vec_max (vull, vbll); |
| VMAXUD VMAXUD_UB |
| vull __builtin_vec_max (vbll, vull); |
| VMAXUD VMAXUD_BU |
| |
| [VEC_MERGEE, vec_mergee, __builtin_vec_vmrgew] |
| vsi __builtin_vec_vmrgew (vsi, vsi); |
| VMRGEW_V4SI VMRGEW_VSI |
| vui __builtin_vec_vmrgew (vui, vui); |
| VMRGEW_V4SI VMRGEW_VUI |
| vbi __builtin_vec_vmrgew (vbi, vbi); |
| VMRGEW_V4SI VMRGEW_VBI |
| vsll __builtin_vec_vmrgew (vsll, vsll); |
| VMRGEW_V2DI VMRGEW_VSLL |
| vull __builtin_vec_vmrgew (vull, vull); |
| VMRGEW_V2DI VMRGEW_VULL |
| vbll __builtin_vec_vmrgew (vbll, vbll); |
| VMRGEW_V2DI VMRGEW_VBLL |
| vf __builtin_vec_vmrgew (vf, vf); |
| VMRGEW_V4SF |
| vd __builtin_vec_vmrgew (vd, vd); |
| VMRGEW_V2DF |
| |
| [VEC_MERGEH, vec_mergeh, __builtin_vec_mergeh] |
| vbc __builtin_vec_mergeh (vbc, vbc); |
| VMRGHB VMRGHB_VBC |
| vsc __builtin_vec_mergeh (vsc, vsc); |
| VMRGHB VMRGHB_VSC |
| vuc __builtin_vec_mergeh (vuc, vuc); |
| VMRGHB VMRGHB_VUC |
| vbs __builtin_vec_mergeh (vbs, vbs); |
| VMRGHH VMRGHH_VBS |
| vss __builtin_vec_mergeh (vss, vss); |
| VMRGHH VMRGHH_VSS |
| vus __builtin_vec_mergeh (vus, vus); |
| VMRGHH VMRGHH_VUS |
| vp __builtin_vec_mergeh (vp, vp); |
| VMRGHH VMRGHH_VP |
| vbi __builtin_vec_mergeh (vbi, vbi); |
| VMRGHW VMRGHW_VBI |
| vsi __builtin_vec_mergeh (vsi, vsi); |
| VMRGHW VMRGHW_VSI |
| vui __builtin_vec_mergeh (vui, vui); |
| VMRGHW VMRGHW_VUI |
| vbll __builtin_vec_mergeh (vbll, vbll); |
| VEC_MERGEH_V2DI VEC_MERGEH_VBLL |
| vsll __builtin_vec_mergeh (vsll, vsll); |
| VEC_MERGEH_V2DI VEC_MERGEH_VSLL |
| vull __builtin_vec_mergeh (vull, vull); |
| VEC_MERGEH_V2DI VEC_MERGEH_VULL |
| vf __builtin_vec_mergeh (vf, vf); |
| VMRGHW VMRGHW_VF |
| vd __builtin_vec_mergeh (vd, vd); |
| VEC_MERGEH_V2DF |
| ; The following variants are deprecated. |
| vsll __builtin_vec_mergeh (vsll, vbll); |
| VEC_MERGEH_V2DI VEC_MERGEH_VSLL_VBLL |
| vsll __builtin_vec_mergeh (vbll, vsll); |
| VEC_MERGEH_V2DI VEC_MERGEH_VBLL_VSLL |
| vull __builtin_vec_mergeh (vull, vbll); |
| VEC_MERGEH_V2DI VEC_MERGEH_VULL_VBLL |
| vull __builtin_vec_mergeh (vbll, vull); |
| VEC_MERGEH_V2DI VEC_MERGEH_VBLL_VULL |
| |
| [VEC_MERGEL, vec_mergel, __builtin_vec_mergel] |
| vbc __builtin_vec_mergel (vbc, vbc); |
| VMRGLB VMRGLB_VBC |
| vsc __builtin_vec_mergel (vsc, vsc); |
| VMRGLB VMRGLB_VSC |
| vuc __builtin_vec_mergel (vuc, vuc); |
| VMRGLB VMRGLB_VUC |
| vbs __builtin_vec_mergel (vbs, vbs); |
| VMRGLH VMRGLH_VBS |
| vss __builtin_vec_mergel (vss, vss); |
| VMRGLH VMRGLH_VSS |
| vus __builtin_vec_mergel (vus, vus); |
| VMRGLH VMRGLH_VUS |
| vp __builtin_vec_mergel (vp, vp); |
| VMRGLH VMRGLH_VP |
| vbi __builtin_vec_mergel (vbi, vbi); |
| VMRGLW VMRGLW_VBI |
| vsi __builtin_vec_mergel (vsi, vsi); |
| VMRGLW VMRGLW_VSI |
| vui __builtin_vec_mergel (vui, vui); |
| VMRGLW VMRGLW_VUI |
| vbll __builtin_vec_mergel (vbll, vbll); |
| VEC_MERGEL_V2DI VEC_MERGEL_VBLL |
| vsll __builtin_vec_mergel (vsll, vsll); |
| VEC_MERGEL_V2DI VEC_MERGEL_VSLL |
| vull __builtin_vec_mergel (vull, vull); |
| VEC_MERGEL_V2DI VEC_MERGEL_VULL |
| vf __builtin_vec_mergel (vf, vf); |
| VMRGLW VMRGLW_VF |
| vd __builtin_vec_mergel (vd, vd); |
| VEC_MERGEL_V2DF |
| ; The following variants are deprecated. |
| vsll __builtin_vec_mergel (vsll, vbll); |
| VEC_MERGEL_V2DI VEC_MERGEL_VSLL_VBLL |
| vsll __builtin_vec_mergel (vbll, vsll); |
| VEC_MERGEL_V2DI VEC_MERGEL_VBLL_VSLL |
| vull __builtin_vec_mergel (vull, vbll); |
| VEC_MERGEL_V2DI VEC_MERGEL_VULL_VBLL |
| vull __builtin_vec_mergel (vbll, vull); |
| VEC_MERGEL_V2DI VEC_MERGEL_VBLL_VULL |
| |
| [VEC_MERGEO, vec_mergeo, __builtin_vec_vmrgow] |
| vsi __builtin_vec_vmrgow (vsi, vsi); |
| VMRGOW_V4SI VMRGOW_VSI |
| vui __builtin_vec_vmrgow (vui, vui); |
| VMRGOW_V4SI VMRGOW_VUI |
| vbi __builtin_vec_vmrgow (vbi, vbi); |
| VMRGOW_V4SI VMRGOW_VBI |
| vsll __builtin_vec_vmrgow (vsll, vsll); |
| VMRGOW_V2DI VMRGOW_VSLL |
| vull __builtin_vec_vmrgow (vull, vull); |
| VMRGOW_V2DI VMRGOW_VULL |
| vbll __builtin_vec_vmrgow (vbll, vbll); |
| VMRGOW_V2DI VMRGOW_VBLL |
| vf __builtin_vec_vmrgow (vf, vf); |
| VMRGOW_V4SF |
| vd __builtin_vec_vmrgow (vd, vd); |
| VMRGOW_V2DF |
| |
| [VEC_MFVSCR, vec_mfvscr, __builtin_vec_mfvscr] |
| vus __builtin_vec_mfvscr (); |
| MFVSCR |
| |
| [VEC_MIN, vec_min, __builtin_vec_min] |
| vsc __builtin_vec_min (vsc, vsc); |
| VMINSB |
| vuc __builtin_vec_min (vuc, vuc); |
| VMINUB |
| vss __builtin_vec_min (vss, vss); |
| VMINSH |
| vus __builtin_vec_min (vus, vus); |
| VMINUH |
| vsi __builtin_vec_min (vsi, vsi); |
| VMINSW |
| vui __builtin_vec_min (vui, vui); |
| VMINUW |
| vsll __builtin_vec_min (vsll, vsll); |
| VMINSD |
| vull __builtin_vec_min (vull, vull); |
| VMINUD |
| vf __builtin_vec_min (vf, vf); |
| VMINFP |
| vd __builtin_vec_min (vd, vd); |
| XVMINDP |
| ; The following variants are deprecated. |
| vsc __builtin_vec_min (vsc, vbc); |
| VMINSB VMINSB_SB |
| vsc __builtin_vec_min (vbc, vsc); |
| VMINSB VMINSB_BS |
| vuc __builtin_vec_min (vuc, vbc); |
| VMINUB VMINUB_UB |
| vuc __builtin_vec_min (vbc, vuc); |
| VMINUB VMINUB_BU |
| vss __builtin_vec_min (vss, vbs); |
| VMINSH VMINSH_SB |
| vss __builtin_vec_min (vbs, vss); |
| VMINSH VMINSH_BS |
| vus __builtin_vec_min (vus, vbs); |
| VMINUH VMINUH_UB |
| vus __builtin_vec_min (vbs, vus); |
| VMINUH VMINUH_BU |
| vsi __builtin_vec_min (vsi, vbi); |
| VMINSW VMINSW_SB |
| vsi __builtin_vec_min (vbi, vsi); |
| VMINSW VMINSW_BS |
| vui __builtin_vec_min (vui, vbi); |
| VMINUW VMINUW_UB |
| vui __builtin_vec_min (vbi, vui); |
| VMINUW VMINUW_BU |
| vsll __builtin_vec_min (vsll, vbll); |
| VMINSD VMINSD_SB |
| vsll __builtin_vec_min (vbll, vsll); |
| VMINSD VMINSD_BS |
| vull __builtin_vec_min (vull, vbll); |
| VMINUD VMINUD_UB |
| vull __builtin_vec_min (vbll, vull); |
| VMINUD VMINUD_BU |
| |
| [VEC_MLADD, vec_mladd, __builtin_vec_mladd] |
| vss __builtin_vec_mladd (vss, vss, vss); |
| VMLADDUHM VMLADDUHM_VSS2 |
| vss __builtin_vec_mladd (vss, vus, vus); |
| VMLADDUHM VMLADDUHM_VSSVUS2 |
| vss __builtin_vec_mladd (vus, vss, vss); |
| VMLADDUHM VMLADDUHM_VUSVSS2 |
| vus __builtin_vec_mladd (vus, vus, vus); |
| VMLADDUHM VMLADDUHM_VUS2 |
| |
| [VEC_MOD, vec_mod, __builtin_vec_mod] |
| vsi __builtin_vec_mod (vsi, vsi); |
| VMODSW |
| vui __builtin_vec_mod (vui, vui); |
| VMODUW |
| vsll __builtin_vec_mod (vsll, vsll); |
| VMODSD |
| vull __builtin_vec_mod (vull, vull); |
| VMODUD |
| vsq __builtin_vec_mod (vsq, vsq); |
| MODS_V1TI |
| vuq __builtin_vec_mod (vuq, vuq); |
| MODU_V1TI |
| |
| [VEC_MRADDS, vec_mradds, __builtin_vec_mradds] |
| vss __builtin_vec_mradds (vss, vss, vss); |
| VMHRADDSHS |
| |
| [VEC_MSUB, vec_msub, __builtin_vec_msub] |
| vf __builtin_vec_msub (vf, vf, vf); |
| XVMSUBSP |
| vd __builtin_vec_msub (vd, vd, vd); |
| XVMSUBDP |
| |
| [VEC_MSUM, vec_msum, __builtin_vec_msum] |
| vui __builtin_vec_msum (vuc, vuc, vui); |
| VMSUMUBM |
| vsi __builtin_vec_msum (vsc, vuc, vsi); |
| VMSUMMBM |
| vui __builtin_vec_msum (vus, vus, vui); |
| VMSUMUHM |
| vsi __builtin_vec_msum (vss, vss, vsi); |
| VMSUMSHM |
| vsq __builtin_vec_msum (vsll, vsll, vsq); |
| VMSUMUDM VMSUMUDM_S |
| vuq __builtin_vec_msum (vull, vull, vuq); |
| VMSUMUDM VMSUMUDM_U |
| |
| [VEC_MSUMC, vec_msumc, __builtin_vec_msumc] |
| vuq __builtin_vec_msumc (vull, vull, vuq); |
| VMSUMCUD |
| |
| [VEC_MSUMS, vec_msums, __builtin_vec_msums] |
| vui __builtin_vec_msums (vus, vus, vui); |
| VMSUMUHS |
| vsi __builtin_vec_msums (vss, vss, vsi); |
| VMSUMSHS |
| |
| [VEC_MTVSCR, vec_mtvscr, __builtin_vec_mtvscr] |
| void __builtin_vec_mtvscr (vbc); |
| MTVSCR MTVSCR_VBC |
| void __builtin_vec_mtvscr (vsc); |
| MTVSCR MTVSCR_VSC |
| void __builtin_vec_mtvscr (vuc); |
| MTVSCR MTVSCR_VUC |
| void __builtin_vec_mtvscr (vbs); |
| MTVSCR MTVSCR_VBS |
| void __builtin_vec_mtvscr (vss); |
| MTVSCR MTVSCR_VSS |
| void __builtin_vec_mtvscr (vus); |
| MTVSCR MTVSCR_VUS |
| void __builtin_vec_mtvscr (vp); |
| MTVSCR MTVSCR_VP |
| void __builtin_vec_mtvscr (vbi); |
| MTVSCR MTVSCR_VBI |
| void __builtin_vec_mtvscr (vsi); |
| MTVSCR MTVSCR_VSI |
| void __builtin_vec_mtvscr (vui); |
| MTVSCR MTVSCR_VUI |
| |
| ; Note that the entries for VEC_MUL are currently ignored. See rs6000-c.cc: |
| ; altivec_resolve_overloaded_builtin, where there is special-case code for |
| ; VEC_MUL. TODO: Is this really necessary? Investigate. Seven missing |
| ; prototypes here...no corresponding builtins. Also added "vmulld" in P10 |
| ; which could be used instead of MUL_V2DI, conditionally? |
| [VEC_MUL, vec_mul, __builtin_vec_mul] |
| vsll __builtin_vec_mul (vsll, vsll); |
| MUL_V2DI |
| vf __builtin_vec_mul (vf, vf); |
| XVMULSP |
| vd __builtin_vec_mul (vd, vd); |
| XVMULDP |
| |
| [VEC_MULE, vec_mule, __builtin_vec_mule] |
| vss __builtin_vec_mule (vsc, vsc); |
| VMULESB |
| vus __builtin_vec_mule (vuc, vuc); |
| VMULEUB |
| vsi __builtin_vec_mule (vss, vss); |
| VMULESH |
| vui __builtin_vec_mule (vus, vus); |
| VMULEUH |
| vsll __builtin_vec_mule (vsi, vsi); |
| VMULESW |
| vull __builtin_vec_mule (vui, vui); |
| VMULEUW |
| vsq __builtin_vec_mule (vsll, vsll); |
| VMULESD |
| vuq __builtin_vec_mule (vull, vull); |
| VMULEUD |
| |
| [VEC_MULH, vec_mulh, __builtin_vec_mulh] |
| vsi __builtin_vec_mulh (vsi, vsi); |
| VMULHSW |
| vui __builtin_vec_mulh (vui, vui); |
| VMULHUW |
| vsll __builtin_vec_mulh (vsll, vsll); |
| VMULHSD |
| vull __builtin_vec_mulh (vull, vull); |
| VMULHUD |
| |
| [VEC_MULO, vec_mulo, __builtin_vec_mulo] |
| vss __builtin_vec_mulo (vsc, vsc); |
| VMULOSB |
| vus __builtin_vec_mulo (vuc, vuc); |
| VMULOUB |
| vsi __builtin_vec_mulo (vss, vss); |
| VMULOSH |
| vui __builtin_vec_mulo (vus, vus); |
| VMULOUH |
| vsll __builtin_vec_mulo (vsi, vsi); |
| VMULOSW |
| vull __builtin_vec_mulo (vui, vui); |
| VMULOUW |
| vsq __builtin_vec_mulo (vsll, vsll); |
| VMULOSD |
| vuq __builtin_vec_mulo (vull, vull); |
| VMULOUD |
| |
| [VEC_NABS, vec_nabs, __builtin_vec_nabs] |
| vsc __builtin_vec_nabs (vsc); |
| NABS_V16QI |
| vss __builtin_vec_nabs (vss); |
| NABS_V8HI |
| vsi __builtin_vec_nabs (vsi); |
| NABS_V4SI |
| vsll __builtin_vec_nabs (vsll); |
| NABS_V2DI |
| vf __builtin_vec_nabs (vf); |
| NABS_V4SF |
| vd __builtin_vec_nabs (vd); |
| NABS_V2DF |
| |
| [VEC_NAND, vec_nand, __builtin_vec_nand] |
| vsc __builtin_vec_nand (vsc, vsc); |
| NAND_V16QI |
| vuc __builtin_vec_nand (vuc, vuc); |
| NAND_V16QI_UNS NAND_VUC |
| vbc __builtin_vec_nand (vbc, vbc); |
| NAND_V16QI_UNS NAND_VBC |
| vss __builtin_vec_nand (vss, vss); |
| NAND_V8HI |
| vus __builtin_vec_nand (vus, vus); |
| NAND_V8HI_UNS NAND_VUS |
| vbs __builtin_vec_nand (vbs, vbs); |
| NAND_V8HI_UNS NAND_VBS |
| vsi __builtin_vec_nand (vsi, vsi); |
| NAND_V4SI |
| vui __builtin_vec_nand (vui, vui); |
| NAND_V4SI_UNS NAND_VUI |
| vbi __builtin_vec_nand (vbi, vbi); |
| NAND_V4SI_UNS NAND_VBI |
| vsll __builtin_vec_nand (vsll, vsll); |
| NAND_V2DI |
| vull __builtin_vec_nand (vull, vull); |
| NAND_V2DI_UNS NAND_VULL |
| vbll __builtin_vec_nand (vbll, vbll); |
| NAND_V2DI_UNS NAND_VBLL |
| vf __builtin_vec_nand (vf, vf); |
| NAND_V4SF |
| vd __builtin_vec_nand (vd, vd); |
| NAND_V2DF |
| ; The following variants are deprecated. |
| vsc __builtin_vec_nand (vbc, vsc); |
| NAND_V16QI NAND_VBC_VSC |
| vsc __builtin_vec_nand (vsc, vbc); |
| NAND_V16QI NAND_VSC_VBC |
| vuc __builtin_vec_nand (vbc, vuc); |
| NAND_V16QI_UNS NAND_VBC_VUC |
| vuc __builtin_vec_nand (vuc, vbc); |
| NAND_V16QI_UNS NAND_VUC_VBC |
| vss __builtin_vec_nand (vbs, vss); |
| NAND_V8HI NAND_VBS_VSS |
| vss __builtin_vec_nand (vss, vbs); |
| NAND_V8HI NAND_VSS_VBS |
| vus __builtin_vec_nand (vbs, vus); |
| NAND_V8HI_UNS NAND_VBS_VUS |
| vus __builtin_vec_nand (vus, vbs); |
| NAND_V8HI_UNS NAND_VUS_VBS |
| vsi __builtin_vec_nand (vbi, vsi); |
| NAND_V4SI NAND_VBI_VSI |
| vsi __builtin_vec_nand (vsi, vbi); |
| NAND_V4SI NAND_VSI_VBI |
| vui __builtin_vec_nand (vbi, vui); |
| NAND_V4SI_UNS NAND_VBI_VUI |
| vui __builtin_vec_nand (vui, vbi); |
| NAND_V4SI_UNS NAND_VUI_VBI |
| vsll __builtin_vec_nand (vbll, vsll); |
| NAND_V2DI NAND_VBLL_VSLL |
| vsll __builtin_vec_nand (vsll, vbll); |
| NAND_V2DI NAND_VSLL_VBLL |
| vull __builtin_vec_nand (vbll, vull); |
| NAND_V2DI_UNS NAND_VBLL_VULL |
| vull __builtin_vec_nand (vull, vbll); |
| NAND_V2DI_UNS NAND_VULL_VBLL |
| |
| [VEC_NCIPHER_BE, vec_ncipher_be, __builtin_vec_vncipher_be] |
| vuc __builtin_vec_vncipher_be (vuc, vuc); |
| VNCIPHER_BE |
| |
| [VEC_NCIPHERLAST_BE, vec_ncipherlast_be, __builtin_vec_vncipherlast_be] |
| vuc __builtin_vec_vncipherlast_be (vuc, vuc); |
| VNCIPHERLAST_BE |
| |
| [VEC_NEARBYINT, vec_nearbyint, __builtin_vec_nearbyint] |
| vf __builtin_vec_nearbyint (vf); |
| XVRSPI XVRSPI_NBI |
| vd __builtin_vec_nearbyint (vd); |
| XVRDPI XVRDPI_NBI |
| |
| [VEC_NEG, vec_neg, __builtin_vec_neg] |
| vsc __builtin_vec_neg (vsc); |
| NEG_V16QI |
| vss __builtin_vec_neg (vss); |
| NEG_V8HI |
| vsi __builtin_vec_neg (vsi); |
| NEG_V4SI |
| vsll __builtin_vec_neg (vsll); |
| NEG_V2DI |
| vf __builtin_vec_neg (vf); |
| NEG_V4SF |
| vd __builtin_vec_neg (vd); |
| NEG_V2DF |
| |
| [VEC_NMADD, vec_nmadd, __builtin_vec_nmadd] |
| vf __builtin_vec_nmadd (vf, vf, vf); |
| XVNMADDSP |
| vd __builtin_vec_nmadd (vd, vd, vd); |
| XVNMADDDP |
| |
| [VEC_NMSUB, vec_nmsub, __builtin_vec_nmsub] |
| vf __builtin_vec_nmsub (vf, vf, vf); |
| VNMSUBFP |
| vd __builtin_vec_nmsub (vd, vd, vd); |
| XVNMSUBDP |
| |
| [VEC_NOR, vec_nor, __builtin_vec_nor] |
| vsc __builtin_vec_nor (vsc, vsc); |
| VNOR_V16QI |
| vuc __builtin_vec_nor (vuc, vuc); |
| VNOR_V16QI_UNS VNOR_V16QI_U |
| vbc __builtin_vec_nor (vbc, vbc); |
| VNOR_V16QI_UNS VNOR_V16QI_B |
| vss __builtin_vec_nor (vss, vss); |
| VNOR_V8HI |
| vus __builtin_vec_nor (vus, vus); |
| VNOR_V8HI_UNS VNOR_V8HI_U |
| vbs __builtin_vec_nor (vbs, vbs); |
| VNOR_V8HI_UNS VNOR_V8HI_B |
| vsi __builtin_vec_nor (vsi, vsi); |
| VNOR_V4SI |
| vui __builtin_vec_nor (vui, vui); |
| VNOR_V4SI_UNS VNOR_V4SI_U |
| vbi __builtin_vec_nor (vbi, vbi); |
| VNOR_V4SI_UNS VNOR_V4SI_B |
| vsll __builtin_vec_nor (vsll, vsll); |
| VNOR_V2DI |
| vull __builtin_vec_nor (vull, vull); |
| VNOR_V2DI_UNS VNOR_V2DI_U |
| vbll __builtin_vec_nor (vbll, vbll); |
| VNOR_V2DI_UNS VNOR_V2DI_B |
| vsq __builtin_vec_nor (vsq, vsq); |
| VNOR_V1TI VNOR_V1TI_S |
| vuq __builtin_vec_nor (vuq, vuq); |
| VNOR_V1TI_UNS VNOR_V1TI_U |
| vf __builtin_vec_nor (vf, vf); |
| VNOR_V4SF |
| vd __builtin_vec_nor (vd, vd); |
| VNOR_V2DF |
| ; The following variants are deprecated. |
| vsll __builtin_vec_nor (vsll, vbll); |
| VNOR_V2DI VNOR_VSLL_VBLL |
| vsll __builtin_vec_nor (vbll, vsll); |
| VNOR_V2DI VNOR_VBLL_VSLL |
| vull __builtin_vec_nor (vull, vbll); |
| VNOR_V2DI_UNS VNOR_VULL_VBLL |
| vull __builtin_vec_nor (vbll, vull); |
| VNOR_V2DI_UNS VNOR_VBLL_VULL |
| vsq __builtin_vec_nor (vsq, vbq); |
| VNOR_V1TI VNOR_VSQ_VBQ |
| vsq __builtin_vec_nor (vbq, vsq); |
| VNOR_V1TI VNOR_VBQ_VSQ |
| vuq __builtin_vec_nor (vuq, vbq); |
| VNOR_V1TI_UNS VNOR_VUQ_VBQ |
| vuq __builtin_vec_nor (vbq, vuq); |
| VNOR_V1TI_UNS VNOR_VBQ_VUQ |
| |
| [VEC_OR, vec_or, __builtin_vec_or] |
| vsc __builtin_vec_or (vsc, vsc); |
| VOR_V16QI |
| vuc __builtin_vec_or (vuc, vuc); |
| VOR_V16QI_UNS VOR_V16QI_U |
| vbc __builtin_vec_or (vbc, vbc); |
| VOR_V16QI_UNS VOR_V16QI_B |
| vss __builtin_vec_or (vss, vss); |
| VOR_V8HI |
| vus __builtin_vec_or (vus, vus); |
| VOR_V8HI_UNS VOR_V8HI_U |
| vbs __builtin_vec_or (vbs, vbs); |
| VOR_V8HI_UNS VOR_V8HI_B |
| vsi __builtin_vec_or (vsi, vsi); |
| VOR_V4SI |
| vui __builtin_vec_or (vui, vui); |
| VOR_V4SI_UNS VOR_V4SI_U |
| vbi __builtin_vec_or (vbi, vbi); |
| VOR_V4SI_UNS VOR_V4SI_B |
| vsll __builtin_vec_or (vsll, vsll); |
| VOR_V2DI |
| vull __builtin_vec_or (vull, vull); |
| VOR_V2DI_UNS VOR_V2DI_U |
| vbll __builtin_vec_or (vbll, vbll); |
| VOR_V2DI_UNS VOR_V2DI_B |
| vf __builtin_vec_or (vf, vf); |
| VOR_V4SF |
| vd __builtin_vec_or (vd, vd); |
| VOR_V2DF |
| ; The following variants are deprecated. |
| vsc __builtin_vec_or (vsc, vbc); |
| VOR_V16QI VOR_VSC_VBC |
| vsc __builtin_vec_or (vbc, vsc); |
| VOR_V16QI VOR_VBC_VSC |
| vuc __builtin_vec_or (vuc, vbc); |
| VOR_V16QI_UNS VOR_V16QI_UB |
| vuc __builtin_vec_or (vbc, vuc); |
| VOR_V16QI_UNS VOR_V16QI_BU |
| vss __builtin_vec_or (vss, vbs); |
| VOR_V8HI VOR_VSS_VBS |
| vss __builtin_vec_or (vbs, vss); |
| VOR_V8HI VOR_VBS_VSS |
| vus __builtin_vec_or (vus, vbs); |
| VOR_V8HI_UNS VOR_V8HI_UB |
| vus __builtin_vec_or (vbs, vus); |
| VOR_V8HI_UNS VOR_V8HI_BU |
| vsi __builtin_vec_or (vsi, vbi); |
| VOR_V4SI VOR_VSI_VBI |
| vsi __builtin_vec_or (vbi, vsi); |
| VOR_V4SI VOR_VBI_VSI |
| vui __builtin_vec_or (vui, vbi); |
| VOR_V4SI_UNS VOR_V4SI_UB |
| vui __builtin_vec_or (vbi, vui); |
| VOR_V4SI_UNS VOR_V4SI_BU |
| vsll __builtin_vec_or (vsll, vbll); |
| VOR_V2DI VOR_VSLL_VBLL |
| vsll __builtin_vec_or (vbll, vsll); |
| VOR_V2DI VOR_VBLL_VSLL |
| vull __builtin_vec_or (vull, vbll); |
| VOR_V2DI_UNS VOR_V2DI_UB |
| vull __builtin_vec_or (vbll, vull); |
| VOR_V2DI_UNS VOR_V2DI_BU |
| vf __builtin_vec_or (vf, vbi); |
| VOR_V4SF VOR_VF_VBI |
| vf __builtin_vec_or (vbi, vf); |
| VOR_V4SF VOR_VBI_VF |
| vd __builtin_vec_or (vd, vbll); |
| VOR_V2DF VOR_VD_VBLL |
| vd __builtin_vec_or (vbll, vd); |
| VOR_V2DF VOR_VBLL_VD |
| |
| [VEC_ORC, vec_orc, __builtin_vec_orc] |
| vsc __builtin_vec_orc (vsc, vsc); |
| ORC_V16QI |
| vuc __builtin_vec_orc (vuc, vuc); |
| ORC_V16QI_UNS ORC_VUC |
| vbc __builtin_vec_orc (vbc, vbc); |
| ORC_V16QI_UNS ORC_VBC |
| vss __builtin_vec_orc (vss, vss); |
| ORC_V8HI |
| vus __builtin_vec_orc (vus, vus); |
| ORC_V8HI_UNS ORC_VUS |
| vbs __builtin_vec_orc (vbs, vbs); |
| ORC_V8HI_UNS ORC_VBS |
| vsi __builtin_vec_orc (vsi, vsi); |
| ORC_V4SI |
| vui __builtin_vec_orc (vui, vui); |
| ORC_V4SI_UNS ORC_VUI |
| vbi __builtin_vec_orc (vbi, vbi); |
| ORC_V4SI_UNS ORC_VBI |
| vsll __builtin_vec_orc (vsll, vsll); |
| ORC_V2DI |
| vull __builtin_vec_orc (vull, vull); |
| ORC_V2DI_UNS ORC_VULL |
| vbll __builtin_vec_orc (vbll, vbll); |
| ORC_V2DI_UNS ORC_VBLL |
| vf __builtin_vec_orc (vf, vf); |
| ORC_V4SF |
| vd __builtin_vec_orc (vd, vd); |
| ORC_V2DF |
| ; The following variants are deprecated. |
| vsc __builtin_vec_orc (vbc, vsc); |
| ORC_V16QI ORC_VBC_VSC |
| vsc __builtin_vec_orc (vsc, vbc); |
| ORC_V16QI ORC_VSC_VBC |
| vuc __builtin_vec_orc (vbc, vuc); |
| ORC_V16QI_UNS ORC_VBC_VUC |
| vuc __builtin_vec_orc (vuc, vbc); |
| ORC_V16QI_UNS ORC_VUC_VBC |
| vss __builtin_vec_orc (vbs, vss); |
| ORC_V8HI ORC_VBS_VSS |
| vss __builtin_vec_orc (vss, vbs); |
| ORC_V8HI ORC_VSS_VBS |
| vus __builtin_vec_orc (vbs, vus); |
| ORC_V8HI_UNS ORC_VBS_VUS |
| vus __builtin_vec_orc (vus, vbs); |
| ORC_V8HI_UNS ORC_VUS_VBS |
| vsi __builtin_vec_orc (vbi, vsi); |
| ORC_V4SI ORC_VBI_VSI |
| vsi __builtin_vec_orc (vsi, vbi); |
| ORC_V4SI ORC_VSI_VBI |
| vui __builtin_vec_orc (vbi, vui); |
| ORC_V4SI_UNS ORC_VBI_VUI |
| vui __builtin_vec_orc (vui, vbi); |
| ORC_V4SI_UNS ORC_VUI_VBI |
| vsll __builtin_vec_orc (vbll, vsll); |
| ORC_V2DI ORC_VBLL_VSLL |
| vsll __builtin_vec_orc (vsll, vbll); |
| ORC_V2DI ORC_VSLL_VBLL |
| vull __builtin_vec_orc (vbll, vull); |
| ORC_V2DI_UNS ORC_VBLL_VULL |
| vull __builtin_vec_orc (vull, vbll); |
| ORC_V2DI_UNS ORC_VULL_VBLL |
| |
| [VEC_PACK, vec_pack, __builtin_vec_pack] |
| vsc __builtin_vec_pack (vss, vss); |
| VPKUHUM VPKUHUM_VSS |
| vuc __builtin_vec_pack (vus, vus); |
| VPKUHUM VPKUHUM_VUS |
| vbc __builtin_vec_pack (vbs, vbs); |
| VPKUHUM VPKUHUM_VBS |
| vss __builtin_vec_pack (vsi, vsi); |
| VPKUWUM VPKUWUM_VSI |
| vus __builtin_vec_pack (vui, vui); |
| VPKUWUM VPKUWUM_VUI |
| vbs __builtin_vec_pack (vbi, vbi); |
| VPKUWUM VPKUWUM_VBI |
| vsi __builtin_vec_pack (vsll, vsll); |
| VPKUDUM VPKUDUM_VSLL |
| vui __builtin_vec_pack (vull, vull); |
| VPKUDUM VPKUDUM_VULL |
| vbi __builtin_vec_pack (vbll, vbll); |
| VPKUDUM VPKUDUM_VBLL |
| vf __builtin_vec_pack (vd, vd); |
| FLOAT2_V2DF FLOAT2_V2DF_PACK |
| |
| [VEC_PACKPX, vec_packpx, __builtin_vec_packpx] |
| vp __builtin_vec_packpx (vui, vui); |
| VPKPX |
| |
| [VEC_PACKS, vec_packs, __builtin_vec_packs] |
| vuc __builtin_vec_packs (vus, vus); |
| VPKUHUS VPKUHUS_S |
| vsc __builtin_vec_packs (vss, vss); |
| VPKSHSS |
| vus __builtin_vec_packs (vui, vui); |
| VPKUWUS VPKUWUS_S |
| vss __builtin_vec_packs (vsi, vsi); |
| VPKSWSS |
| vui __builtin_vec_packs (vull, vull); |
| VPKUDUS VPKUDUS_S |
| vsi __builtin_vec_packs (vsll, vsll); |
| VPKSDSS |
| |
| [VEC_PACKSU, vec_packsu, __builtin_vec_packsu] |
| vuc __builtin_vec_packsu (vus, vus); |
| VPKUHUS VPKUHUS_U |
| vuc __builtin_vec_packsu (vss, vss); |
| VPKSHUS |
| vus __builtin_vec_packsu (vui, vui); |
| VPKUWUS VPKUWUS_U |
| vus __builtin_vec_packsu (vsi, vsi); |
| VPKSWUS |
| vui __builtin_vec_packsu (vull, vull); |
| VPKUDUS VPKUDUS_U |
| vui __builtin_vec_packsu (vsll, vsll); |
| VPKSDUS |
| |
| [VEC_PDEP, vec_pdep, __builtin_vec_vpdepd] |
| vull __builtin_vec_vpdepd (vull, vull); |
| VPDEPD |
| |
| [VEC_PERM, vec_perm, __builtin_vec_perm] |
| vsc __builtin_vec_perm (vsc, vsc, vuc); |
| VPERM_16QI |
| vuc __builtin_vec_perm (vuc, vuc, vuc); |
| VPERM_16QI_UNS VPERM_16QI_VUC |
| vbc __builtin_vec_perm (vbc, vbc, vuc); |
| VPERM_16QI_UNS VPERM_16QI_VBC |
| vss __builtin_vec_perm (vss, vss, vuc); |
| VPERM_8HI |
| vus __builtin_vec_perm (vus, vus, vuc); |
| VPERM_8HI_UNS VPERM_8HI_VUS |
| vbs __builtin_vec_perm (vbs, vbs, vuc); |
| VPERM_8HI_UNS VPERM_8HI_VBS |
| vp __builtin_vec_perm (vp, vp, vuc); |
| VPERM_8HI_UNS VPERM_8HI_VP |
| vsi __builtin_vec_perm (vsi, vsi, vuc); |
| VPERM_4SI |
| vui __builtin_vec_perm (vui, vui, vuc); |
| VPERM_4SI_UNS VPERM_4SI_VUI |
| vbi __builtin_vec_perm (vbi, vbi, vuc); |
| VPERM_4SI_UNS VPERM_4SI_VBI |
| vsll __builtin_vec_perm (vsll, vsll, vuc); |
| VPERM_2DI |
| vull __builtin_vec_perm (vull, vull, vuc); |
| VPERM_2DI_UNS VPERM_2DI_VULL |
| vbll __builtin_vec_perm (vbll, vbll, vuc); |
| VPERM_2DI_UNS VPERM_2DI_VBLL |
| vf __builtin_vec_perm (vf, vf, vuc); |
| VPERM_4SF |
| vd __builtin_vec_perm (vd, vd, vuc); |
| VPERM_2DF |
| vsq __builtin_vec_perm (vsq, vsq, vuc); |
| VPERM_1TI |
| vuq __builtin_vec_perm (vuq, vuq, vuc); |
| VPERM_1TI_UNS |
| ; The following variants are deprecated. |
| vsc __builtin_vec_perm (vsc, vuc, vuc); |
| VPERM_16QI VPERM_VSC_VUC_VUC |
| vbc __builtin_vec_perm (vbc, vbc, vbc); |
| VPERM_16QI VPERM_VBC_VBC_VBC |
| |
| [VEC_PERMX, vec_permx, __builtin_vec_xxpermx] |
| vsc __builtin_vec_xxpermx (vsc, vsc, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VSC |
| vuc __builtin_vec_xxpermx (vuc, vuc, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VUC |
| vss __builtin_vec_xxpermx (vss, vss, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VSS |
| vus __builtin_vec_xxpermx (vus, vus, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VUS |
| vsi __builtin_vec_xxpermx (vsi, vsi, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VSI |
| vui __builtin_vec_xxpermx (vui, vui, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VUI |
| vsll __builtin_vec_xxpermx (vsll, vsll, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VSLL |
| vull __builtin_vec_xxpermx (vull, vull, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VULL |
| vf __builtin_vec_xxpermx (vf, vf, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VF |
| vd __builtin_vec_xxpermx (vd, vd, vuc, const int); |
| XXPERMX_UV2DI XXPERMX_VD |
| |
| [VEC_PERMXOR, vec_permxor, __builtin_vec_vpermxor] |
| vsc __builtin_vec_vpermxor (vsc, vsc, vsc); |
| VPERMXOR VPERMXOR_VSC |
| vuc __builtin_vec_vpermxor (vuc, vuc, vuc); |
| VPERMXOR VPERMXOR_VUC |
| vbc __builtin_vec_vpermxor (vbc, vbc, vbc); |
| VPERMXOR VPERMXOR_VBC |
| |
| [VEC_PEXT, vec_pext, __builtin_vec_vpextd] |
| vull __builtin_vec_vpextd (vull, vull); |
| VPEXTD |
| |
| [VEC_PMSUM, vec_pmsum_be, __builtin_vec_vpmsum] |
| vus __builtin_vec_vpmsum (vuc, vuc); |
| VPMSUMB VPMSUMB_V |
| vui __builtin_vec_vpmsum (vus, vus); |
| VPMSUMH VPMSUMH_V |
| vull __builtin_vec_vpmsum (vui, vui); |
| VPMSUMW VPMSUMW_V |
| vuq __builtin_vec_vpmsum (vull, vull); |
| VPMSUMD VPMSUMD_V |
| |
| [VEC_POPCNT, vec_popcnt, __builtin_vec_vpopcntu] |
| vuc __builtin_vec_vpopcntu (vsc); |
| VPOPCNTB |
| vuc __builtin_vec_vpopcntu (vuc); |
| VPOPCNTUB |
| vus __builtin_vec_vpopcntu (vss); |
| VPOPCNTH |
| vus __builtin_vec_vpopcntu (vus); |
| VPOPCNTUH |
| vui __builtin_vec_vpopcntu (vsi); |
| VPOPCNTW |
| vui __builtin_vec_vpopcntu (vui); |
| VPOPCNTUW |
| vull __builtin_vec_vpopcntu (vsll); |
| VPOPCNTD |
| vull __builtin_vec_vpopcntu (vull); |
| VPOPCNTUD |
| |
| [VEC_PARITY_LSBB, vec_parity_lsbb, __builtin_vec_vparity_lsbb] |
| vui __builtin_vec_vparity_lsbb (vsi); |
| VPRTYBW VPRTYBW_S |
| vui __builtin_vec_vparity_lsbb (vui); |
| VPRTYBW VPRTYBW_U |
| vull __builtin_vec_vparity_lsbb (vsll); |
| VPRTYBD VPRTYBD_S |
| vull __builtin_vec_vparity_lsbb (vull); |
| VPRTYBD VPRTYBD_U |
| vuq __builtin_vec_vparity_lsbb (vsq); |
| VPRTYBQ VPRTYBQ_S |
| vuq __builtin_vec_vparity_lsbb (vuq); |
| VPRTYBQ VPRTYBQ_U |
| |
| ; There are no actual builtins for vec_promote. There is special handling for |
| ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
| ; is replaced by a constructor. The single overload here causes |
| ; __builtin_vec_promote to be registered with the front end so that can happen. |
| [VEC_PROMOTE, vec_promote, __builtin_vec_promote] |
| vsi __builtin_vec_promote (vsi, const int); |
| ABS_V4SI PROMOTE_FAKERY |
| |
| [VEC_RE, vec_re, __builtin_vec_re] |
| vf __builtin_vec_re (vf); |
| VREFP |
| vd __builtin_vec_re (vd); |
| XVREDP |
| |
| [VEC_RECIP, vec_recipdiv, __builtin_vec_recipdiv] |
| vf __builtin_vec_recipdiv (vf, vf); |
| RECIP_V4SF |
| vd __builtin_vec_recipdiv (vd, vd); |
| RECIP_V2DF |
| |
| [VEC_REPLACE_ELT, vec_replace_elt, __builtin_vec_replace_elt] |
| vui __builtin_vec_replace_elt (vui, unsigned int, const int); |
| VREPLACE_ELT_UV4SI |
| vsi __builtin_vec_replace_elt (vsi, signed int, const int); |
| VREPLACE_ELT_V4SI |
| vull __builtin_vec_replace_elt (vull, unsigned long long, const int); |
| VREPLACE_ELT_UV2DI |
| vsll __builtin_vec_replace_elt (vsll, signed long long, const int); |
| VREPLACE_ELT_V2DI |
| vf __builtin_vec_replace_elt (vf, float, const int); |
| VREPLACE_ELT_V4SF |
| vd __builtin_vec_replace_elt (vd, double, const int); |
| VREPLACE_ELT_V2DF |
| |
| [VEC_REPLACE_UN, vec_replace_unaligned, __builtin_vec_replace_un] |
| vuc __builtin_vec_replace_un (vui, unsigned int, const int); |
| VREPLACE_UN_UV4SI |
| vuc __builtin_vec_replace_un (vsi, signed int, const int); |
| VREPLACE_UN_V4SI |
| vuc __builtin_vec_replace_un (vull, unsigned long long, const int); |
| VREPLACE_UN_UV2DI |
| vuc __builtin_vec_replace_un (vsll, signed long long, const int); |
| VREPLACE_UN_V2DI |
| vuc __builtin_vec_replace_un (vf, float, const int); |
| VREPLACE_UN_V4SF |
| vuc __builtin_vec_replace_un (vd, double, const int); |
| VREPLACE_UN_V2DF |
| |
| [VEC_REVB, vec_revb, __builtin_vec_revb] |
| vss __builtin_vec_revb (vss); |
| REVB_V8HI REVB_VSS |
| vus __builtin_vec_revb (vus); |
| REVB_V8HI REVB_VUS |
| vsi __builtin_vec_revb (vsi); |
| REVB_V4SI REVB_VSI |
| vui __builtin_vec_revb (vui); |
| REVB_V4SI REVB_VUI |
| vsll __builtin_vec_revb (vsll); |
| REVB_V2DI REVB_VSLL |
| vull __builtin_vec_revb (vull); |
| REVB_V2DI REVB_VULL |
| vsq __builtin_vec_revb (vsq); |
| REVB_V1TI REVB_VSQ |
| vuq __builtin_vec_revb (vuq); |
| REVB_V1TI REVB_VUQ |
| vf __builtin_vec_revb (vf); |
| REVB_V4SF |
| vd __builtin_vec_revb (vd); |
| REVB_V2DF |
| ; The following variants are deprecated. |
| vsc __builtin_vec_revb (vsc); |
| REVB_V16QI REVB_VSC |
| vuc __builtin_vec_revb (vuc); |
| REVB_V16QI REVB_VUC |
| vbc __builtin_vec_revb (vbc); |
| REVB_V16QI REVB_VBC |
| vbs __builtin_vec_revb (vbs); |
| REVB_V8HI REVB_VBS |
| vbi __builtin_vec_revb (vbi); |
| REVB_V4SI REVB_VBI |
| vbll __builtin_vec_revb (vbll); |
| REVB_V2DI REVB_VBLL |
| |
| [VEC_REVE, vec_reve, __builtin_vec_vreve] |
| vsc __builtin_vec_vreve (vsc); |
| VREVE_V16QI VREVE_VSC |
| vuc __builtin_vec_vreve (vuc); |
| VREVE_V16QI VREVE_VUC |
| vbc __builtin_vec_vreve (vbc); |
| VREVE_V16QI VREVE_VBC |
| vss __builtin_vec_vreve (vss); |
| VREVE_V8HI VREVE_VSS |
| vus __builtin_vec_vreve (vus); |
| VREVE_V8HI VREVE_VUS |
| vbs __builtin_vec_vreve (vbs); |
| VREVE_V8HI VREVE_VBS |
| vsi __builtin_vec_vreve (vsi); |
| VREVE_V4SI VREVE_VSI |
| vui __builtin_vec_vreve (vui); |
| VREVE_V4SI VREVE_VUI |
| vbi __builtin_vec_vreve (vbi); |
| VREVE_V4SI VREVE_VBI |
| vsll __builtin_vec_vreve (vsll); |
| VREVE_V2DI VREVE_VSLL |
| vull __builtin_vec_vreve (vull); |
| VREVE_V2DI VREVE_VULL |
| vbll __builtin_vec_vreve (vbll); |
| VREVE_V2DI VREVE_VBLL |
| vf __builtin_vec_vreve (vf); |
| VREVE_V4SF |
| vd __builtin_vec_vreve (vd); |
| VREVE_V2DF |
| |
| [VEC_RINT, vec_rint, __builtin_vec_rint] |
| vf __builtin_vec_rint (vf); |
| XVRSPIC |
| vd __builtin_vec_rint (vd); |
| XVRDPIC |
| |
| [VEC_RL, vec_rl, __builtin_vec_rl] |
| vsc __builtin_vec_rl (vsc, vuc); |
| VRLB VRLB_VSC |
| vuc __builtin_vec_rl (vuc, vuc); |
| VRLB VRLB_VUC |
| vss __builtin_vec_rl (vss, vus); |
| VRLH VRLH_VSS |
| vus __builtin_vec_rl (vus, vus); |
| VRLH VRLH_VUS |
| vsi __builtin_vec_rl (vsi, vui); |
| VRLW VRLW_VSI |
| vui __builtin_vec_rl (vui, vui); |
| VRLW VRLW_VUI |
| vsll __builtin_vec_rl (vsll, vull); |
| VRLD VRLD_VSLL |
| vull __builtin_vec_rl (vull, vull); |
| VRLD VRLD_VULL |
| vsq __builtin_vec_rl (vsq, vuq); |
| VRLQ VRLQ_VSQ |
| vuq __builtin_vec_rl (vuq, vuq); |
| VRLQ VRLQ_VUQ |
| |
| [VEC_RLMI, vec_rlmi, __builtin_vec_rlmi] |
| vui __builtin_vec_rlmi (vui, vui, vui); |
| VRLWMI |
| vull __builtin_vec_rlmi (vull, vull, vull); |
| VRLDMI |
| vsq __builtin_vec_rlmi (vsq, vsq, vuq); |
| VRLQMI VRLQMI_VSQ |
| vuq __builtin_vec_rlmi (vuq, vuq, vuq); |
| VRLQMI VRLQMI_VUQ |
| |
| [VEC_RLNM, vec_vrlnm, __builtin_vec_rlnm] |
| vui __builtin_vec_rlnm (vui, vui); |
| VRLWNM |
| vull __builtin_vec_rlnm (vull, vull); |
| VRLDNM |
| vsq __builtin_vec_rlnm (vsq, vuq); |
| VRLQNM VRLQNM_VSQ |
| vuq __builtin_vec_rlnm (vuq, vuq); |
| VRLQNM VRLQNM_VUQ |
| |
| [VEC_ROUND, vec_round, __builtin_vec_round] |
| vf __builtin_vec_round (vf); |
| VRFIN |
| vd __builtin_vec_round (vd); |
| XVRDPI |
| |
| [VEC_RSQRT, vec_rsqrt, __builtin_vec_rsqrt] |
| vf __builtin_vec_rsqrt (vf); |
| RSQRT_4SF |
| vd __builtin_vec_rsqrt (vd); |
| RSQRT_2DF |
| |
| [VEC_RSQRTE, vec_rsqrte, __builtin_vec_rsqrte] |
| vf __builtin_vec_rsqrte (vf); |
| VRSQRTEFP |
| vd __builtin_vec_rsqrte (vd); |
| XVRSQRTEDP |
| |
| [VEC_SBOX_BE, vec_sbox_be, __builtin_vec_sbox_be] |
| vuc __builtin_vec_sbox_be (vuc); |
| VSBOX_BE |
| |
| [VEC_SEL, vec_sel, __builtin_vec_sel] |
| vsc __builtin_vec_sel (vsc, vsc, vbc); |
| VSEL_16QI VSEL_16QI_B |
| vsc __builtin_vec_sel (vsc, vsc, vuc); |
| VSEL_16QI VSEL_16QI_U |
| vuc __builtin_vec_sel (vuc, vuc, vbc); |
| VSEL_16QI_UNS VSEL_16QI_UB |
| vuc __builtin_vec_sel (vuc, vuc, vuc); |
| VSEL_16QI_UNS VSEL_16QI_UU |
| vbc __builtin_vec_sel (vbc, vbc, vbc); |
| VSEL_16QI_UNS VSEL_16QI_BB |
| vbc __builtin_vec_sel (vbc, vbc, vuc); |
| VSEL_16QI_UNS VSEL_16QI_BU |
| vss __builtin_vec_sel (vss, vss, vbs); |
| VSEL_8HI VSEL_8HI_B |
| vss __builtin_vec_sel (vss, vss, vus); |
| VSEL_8HI VSEL_8HI_U |
| vus __builtin_vec_sel (vus, vus, vbs); |
| VSEL_8HI_UNS VSEL_8HI_UB |
| vus __builtin_vec_sel (vus, vus, vus); |
| VSEL_8HI_UNS VSEL_8HI_UU |
| vbs __builtin_vec_sel (vbs, vbs, vbs); |
| VSEL_8HI_UNS VSEL_8HI_BB |
| vbs __builtin_vec_sel (vbs, vbs, vus); |
| VSEL_8HI_UNS VSEL_8HI_BU |
| vsi __builtin_vec_sel (vsi, vsi, vbi); |
| VSEL_4SI VSEL_4SI_B |
| vsi __builtin_vec_sel (vsi, vsi, vui); |
| VSEL_4SI VSEL_4SI_U |
| vui __builtin_vec_sel (vui, vui, vbi); |
| VSEL_4SI_UNS VSEL_4SI_UB |
| vui __builtin_vec_sel (vui, vui, vui); |
| VSEL_4SI_UNS VSEL_4SI_UU |
| vbi __builtin_vec_sel (vbi, vbi, vbi); |
| VSEL_4SI_UNS VSEL_4SI_BB |
| vbi __builtin_vec_sel (vbi, vbi, vui); |
| VSEL_4SI_UNS VSEL_4SI_BU |
| vsll __builtin_vec_sel (vsll, vsll, vbll); |
| VSEL_2DI_B VSEL_2DI_B |
| vsll __builtin_vec_sel (vsll, vsll, vull); |
| VSEL_2DI_B VSEL_2DI_U |
| vull __builtin_vec_sel (vull, vull, vbll); |
| VSEL_2DI_UNS VSEL_2DI_UB |
| vull __builtin_vec_sel (vull, vull, vull); |
| VSEL_2DI_UNS VSEL_2DI_UU |
| vbll __builtin_vec_sel (vbll, vbll, vbll); |
| VSEL_2DI_UNS VSEL_2DI_BB |
| vbll __builtin_vec_sel (vbll, vbll, vull); |
| VSEL_2DI_UNS VSEL_2DI_BU |
| vf __builtin_vec_sel (vf, vf, vbi); |
| VSEL_4SF VSEL_4SF_B |
| vf __builtin_vec_sel (vf, vf, vui); |
| VSEL_4SF VSEL_4SF_U |
| vd __builtin_vec_sel (vd, vd, vbll); |
| VSEL_2DF VSEL_2DF_B |
| vd __builtin_vec_sel (vd, vd, vull); |
| VSEL_2DF VSEL_2DF_U |
| ; The following variants are deprecated. |
| vsll __builtin_vec_sel (vsll, vsll, vsll); |
| VSEL_2DI_B VSEL_2DI_S |
| vull __builtin_vec_sel (vull, vull, vsll); |
| VSEL_2DI_UNS VSEL_2DI_US |
| vf __builtin_vec_sel (vf, vf, vf); |
| VSEL_4SF VSEL_4SF_F |
| vf __builtin_vec_sel (vf, vf, vsi); |
| VSEL_4SF VSEL_4SF_S |
| vd __builtin_vec_sel (vd, vd, vsll); |
| VSEL_2DF VSEL_2DF_S |
| vd __builtin_vec_sel (vd, vd, vd); |
| VSEL_2DF VSEL_2DF_D |
| |
| [VEC_SHASIGMA_BE, vec_shasigma_be, __builtin_crypto_vshasigma] |
| vui __builtin_crypto_vshasigma (vui, const int, const int); |
| VSHASIGMAW |
| vull __builtin_crypto_vshasigma (vull, const int, const int); |
| VSHASIGMAD |
| |
| [VEC_SIGNED, vec_signed, __builtin_vec_vsigned] |
| vsi __builtin_vec_vsigned (vf); |
| VEC_VSIGNED_V4SF |
| vsll __builtin_vec_vsigned (vd); |
| VEC_VSIGNED_V2DF |
| |
| [VEC_SIGNED2, vec_signed2, __builtin_vec_vsigned2] |
| vsi __builtin_vec_vsigned2 (vd, vd); |
| VEC_VSIGNED2_V2DF |
| |
| [VEC_SIGNEDE, vec_signede, __builtin_vec_vsignede] |
| vsi __builtin_vec_vsignede (vd); |
| VEC_VSIGNEDE_V2DF |
| |
| [VEC_SIGNEDO, vec_signedo, __builtin_vec_vsignedo] |
| vsi __builtin_vec_vsignedo (vd); |
| VEC_VSIGNEDO_V2DF |
| |
| [VEC_SIGNEXTI, vec_signexti, __builtin_vec_signexti] |
| vsi __builtin_vec_signexti (vsc); |
| VSIGNEXTSB2W |
| vsi __builtin_vec_signexti (vss); |
| VSIGNEXTSH2W |
| |
| [VEC_SIGNEXTLL, vec_signextll, __builtin_vec_signextll] |
| vsll __builtin_vec_signextll (vsc); |
| VSIGNEXTSB2D |
| vsll __builtin_vec_signextll (vss); |
| VSIGNEXTSH2D |
| vsll __builtin_vec_signextll (vsi); |
| VSIGNEXTSW2D |
| |
| [VEC_SIGNEXTQ, vec_signextq, __builtin_vec_signextq] |
| vsq __builtin_vec_signextq (vsll); |
| VSIGNEXTSD2Q |
| |
| [VEC_SL, vec_sl, __builtin_vec_sl] |
| vsc __builtin_vec_sl (vsc, vuc); |
| VSLB VSLB_VSC |
| vuc __builtin_vec_sl (vuc, vuc); |
| VSLB VSLB_VUC |
| vss __builtin_vec_sl (vss, vus); |
| VSLH VSLH_VSS |
| vus __builtin_vec_sl (vus, vus); |
| VSLH VSLH_VUS |
| vsi __builtin_vec_sl (vsi, vui); |
| VSLW VSLW_VSI |
| vui __builtin_vec_sl (vui, vui); |
| VSLW VSLW_VUI |
| vsll __builtin_vec_sl (vsll, vull); |
| VSLD VSLD_VSLL |
| vull __builtin_vec_sl (vull, vull); |
| VSLD VSLD_VULL |
| vsq __builtin_vec_sl (vsq, vuq); |
| VSLQ VSLQ_VSQ |
| vuq __builtin_vec_sl (vuq, vuq); |
| VSLQ VSLQ_VUQ |
| |
| [VEC_SLD, vec_sld, __builtin_vec_sld] |
| vsc __builtin_vec_sld (vsc, vsc, const int); |
| VSLDOI_16QI VSLDOI_VSC |
| vbc __builtin_vec_sld (vbc, vbc, const int); |
| VSLDOI_16QI VSLDOI_VBC |
| vuc __builtin_vec_sld (vuc, vuc, const int); |
| VSLDOI_16QI VSLDOI_VUC |
| vss __builtin_vec_sld (vss, vss, const int); |
| VSLDOI_8HI VSLDOI_VSS |
| vbs __builtin_vec_sld (vbs, vbs, const int); |
| VSLDOI_8HI VSLDOI_VBS |
| vus __builtin_vec_sld (vus, vus, const int); |
| VSLDOI_8HI VSLDOI_VUS |
| vp __builtin_vec_sld (vp, vp, const int); |
| VSLDOI_8HI VSLDOI_VP |
| vsi __builtin_vec_sld (vsi, vsi, const int); |
| VSLDOI_4SI VSLDOI_VSI |
| vbi __builtin_vec_sld (vbi, vbi, const int); |
| VSLDOI_4SI VSLDOI_VBI |
| vui __builtin_vec_sld (vui, vui, const int); |
| VSLDOI_4SI VSLDOI_VUI |
| vsll __builtin_vec_sld (vsll, vsll, const int); |
| VSLDOI_2DI VSLDOI_VSLL |
| vbll __builtin_vec_sld (vbll, vbll, const int); |
| VSLDOI_2DI VSLDOI_VBLL |
| vull __builtin_vec_sld (vull, vull, const int); |
| VSLDOI_2DI VSLDOI_VULL |
| vf __builtin_vec_sld (vf, vf, const int); |
| VSLDOI_4SF |
| vd __builtin_vec_sld (vd, vd, const int); |
| VSLDOI_2DF |
| |
| [VEC_SLDB, vec_sldb, __builtin_vec_sldb] |
| vsc __builtin_vec_sldb (vsc, vsc, const int); |
| VSLDB_V16QI VSLDB_VSC |
| vuc __builtin_vec_sldb (vuc, vuc, const int); |
| VSLDB_V16QI VSLDB_VUC |
| vss __builtin_vec_sldb (vss, vss, const int); |
| VSLDB_V8HI VSLDB_VSS |
| vus __builtin_vec_sldb (vus, vus, const int); |
| VSLDB_V8HI VSLDB_VUS |
| vsi __builtin_vec_sldb (vsi, vsi, const int); |
| VSLDB_V4SI VSLDB_VSI |
| vui __builtin_vec_sldb (vui, vui, const int); |
| VSLDB_V4SI VSLDB_VUI |
| vsll __builtin_vec_sldb (vsll, vsll, const int); |
| VSLDB_V2DI VSLDB_VSLL |
| vull __builtin_vec_sldb (vull, vull, const int); |
| VSLDB_V2DI VSLDB_VULL |
| |
| [VEC_SLDW, vec_sldw, __builtin_vec_sldw] |
| vsc __builtin_vec_sldw (vsc, vsc, const int); |
| XXSLDWI_16QI XXSLDWI_VSC |
| vuc __builtin_vec_sldw (vuc, vuc, const int); |
| XXSLDWI_16QI XXSLDWI_VUC |
| vss __builtin_vec_sldw (vss, vss, const int); |
| XXSLDWI_8HI XXSLDWI_VSS |
| vus __builtin_vec_sldw (vus, vus, const int); |
| XXSLDWI_8HI XXSLDWI_VUS |
| vsi __builtin_vec_sldw (vsi, vsi, const int); |
| XXSLDWI_4SI XXSLDWI_VSI |
| vui __builtin_vec_sldw (vui, vui, const int); |
| XXSLDWI_4SI XXSLDWI_VUI |
| vsll __builtin_vec_sldw (vsll, vsll, const int); |
| XXSLDWI_2DI XXSLDWI_VSLL |
| vull __builtin_vec_sldw (vull, vull, const int); |
| XXSLDWI_2DI XXSLDWI_VULL |
| vf __builtin_vec_sldw (vf, vf, const int); |
| XXSLDWI_4SF XXSLDWI_VF |
| vd __builtin_vec_sldw (vd, vd, const int); |
| XXSLDWI_2DF XXSLDWI_VD |
| |
| [VEC_SLL, vec_sll, __builtin_vec_sll] |
| vsc __builtin_vec_sll (vsc, vuc); |
| VSL VSL_VSC |
| vuc __builtin_vec_sll (vuc, vuc); |
| VSL VSL_VUC |
| vss __builtin_vec_sll (vss, vuc); |
| VSL VSL_VSS |
| vus __builtin_vec_sll (vus, vuc); |
| VSL VSL_VUS |
| vp __builtin_vec_sll (vp, vuc); |
| VSL VSL_VP |
| vsi __builtin_vec_sll (vsi, vuc); |
| VSL VSL_VSI |
| vui __builtin_vec_sll (vui, vuc); |
| VSL VSL_VUI |
| vsll __builtin_vec_sll (vsll, vuc); |
| VSL VSL_VSLL |
| vull __builtin_vec_sll (vull, vuc); |
| VSL VSL_VULL |
| ; The following variants are deprecated. |
| vsc __builtin_vec_sll (vsc, vus); |
| VSL VSL_VSC_VUS |
| vsc __builtin_vec_sll (vsc, vui); |
| VSL VSL_VSC_VUI |
| vuc __builtin_vec_sll (vuc, vus); |
| VSL VSL_VUC_VUS |
| vuc __builtin_vec_sll (vuc, vui); |
| VSL VSL_VUC_VUI |
| vbc __builtin_vec_sll (vbc, vuc); |
| VSL VSL_VBC_VUC |
| vbc __builtin_vec_sll (vbc, vus); |
| VSL VSL_VBC_VUS |
| vbc __builtin_vec_sll (vbc, vui); |
| VSL VSL_VBC_VUI |
| vss __builtin_vec_sll (vss, vus); |
| VSL VSL_VSS_VUS |
| vss __builtin_vec_sll (vss, vui); |
| VSL VSL_VSS_VUI |
| vus __builtin_vec_sll (vus, vus); |
| VSL VSL_VUS_VUS |
| vus __builtin_vec_sll (vus, vui); |
| VSL VSL_VUS_VUI |
| vbs __builtin_vec_sll (vbs, vuc); |
| VSL VSL_VBS_VUC |
| vbs __builtin_vec_sll (vbs, vus); |
| VSL VSL_VBS_VUS |
| vbs __builtin_vec_sll (vbs, vui); |
| VSL VSL_VBS_VUI |
| vp __builtin_vec_sll (vp, vus); |
| VSL VSL_VP_VUS |
| vp __builtin_vec_sll (vp, vui); |
| VSL VSL_VP_VUI |
| vsi __builtin_vec_sll (vsi, vus); |
| VSL VSL_VSI_VUS |
| vsi __builtin_vec_sll (vsi, vui); |
| VSL VSL_VSI_VUI |
| vui __builtin_vec_sll (vui, vus); |
| VSL VSL_VUI_VUS |
| vui __builtin_vec_sll (vui, vui); |
| VSL VSL_VUI_VUI |
| vbi __builtin_vec_sll (vbi, vuc); |
| VSL VSL_VBI_VUC |
| vbi __builtin_vec_sll (vbi, vus); |
| VSL VSL_VBI_VUS |
| vbi __builtin_vec_sll (vbi, vui); |
| VSL VSL_VBI_VUI |
| vbll __builtin_vec_sll (vbll, vuc); |
| VSL VSL_VBLL_VUC |
| vbll __builtin_vec_sll (vbll, vus); |
| VSL VSL_VBLL_VUS |
| vbll __builtin_vec_sll (vbll, vull); |
| VSL VSL_VBLL_VULL |
| |
| [VEC_SLO, vec_slo, __builtin_vec_slo] |
| vsc __builtin_vec_slo (vsc, vsc); |
| VSLO VSLO_VSCS |
| vsc __builtin_vec_slo (vsc, vuc); |
| VSLO VSLO_VSCU |
| vuc __builtin_vec_slo (vuc, vsc); |
| VSLO VSLO_VUCS |
| vuc __builtin_vec_slo (vuc, vuc); |
| VSLO VSLO_VUCU |
| vss __builtin_vec_slo (vss, vsc); |
| VSLO VSLO_VSSS |
| vss __builtin_vec_slo (vss, vuc); |
| VSLO VSLO_VSSU |
| vus __builtin_vec_slo (vus, vsc); |
| VSLO VSLO_VUSS |
| vus __builtin_vec_slo (vus, vuc); |
| VSLO VSLO_VUSU |
| vp __builtin_vec_slo (vp, vsc); |
| VSLO VSLO_VPS |
| vp __builtin_vec_slo (vp, vuc); |
| VSLO VSLO_VPU |
| vsi __builtin_vec_slo (vsi, vsc); |
| VSLO VSLO_VSIS |
| vsi __builtin_vec_slo (vsi, vuc); |
| VSLO VSLO_VSIU |
| vui __builtin_vec_slo (vui, vsc); |
| VSLO VSLO_VUIS |
| vui __builtin_vec_slo (vui, vuc); |
| VSLO VSLO_VUIU |
| vsll __builtin_vec_slo (vsll, vsc); |
| VSLO VSLO_VSLLS |
| vsll __builtin_vec_slo (vsll, vuc); |
| VSLO VSLO_VSLLU |
| vull __builtin_vec_slo (vull, vsc); |
| VSLO VSLO_VULLS |
| vull __builtin_vec_slo (vull, vuc); |
| VSLO VSLO_VULLU |
| vf __builtin_vec_slo (vf, vsc); |
| VSLO VSLO_VFS |
| vf __builtin_vec_slo (vf, vuc); |
| VSLO VSLO_VFU |
| |
| [VEC_SLV, vec_slv, __builtin_vec_vslv] |
| vuc __builtin_vec_vslv (vuc, vuc); |
| VSLV |
| |
| [VEC_SPLAT, vec_splat, __builtin_vec_splat] |
| vsc __builtin_vec_splat (vsc, signed int); |
| VSPLTB VSPLTB_VSC |
| vuc __builtin_vec_splat (vuc, signed int); |
| VSPLTB VSPLTB_VUC |
| vbc __builtin_vec_splat (vbc, signed int); |
| VSPLTB VSPLTB_VBC |
| vss __builtin_vec_splat (vss, signed int); |
| VSPLTH VSPLTH_VSS |
| vus __builtin_vec_splat (vus, signed int); |
| VSPLTH VSPLTH_VUS |
| vbs __builtin_vec_splat (vbs, signed int); |
| VSPLTH VSPLTH_VBS |
| vp __builtin_vec_splat (vp, signed int); |
| VSPLTH VSPLTH_VP |
| vf __builtin_vec_splat (vf, signed int); |
| VSPLTW VSPLTW_VF |
| vsi __builtin_vec_splat (vsi, signed int); |
| VSPLTW VSPLTW_VSI |
| vui __builtin_vec_splat (vui, signed int); |
| VSPLTW VSPLTW_VUI |
| vbi __builtin_vec_splat (vbi, signed int); |
| VSPLTW VSPLTW_VBI |
| vd __builtin_vec_splat (vd, signed int); |
| XXSPLTD_V2DF |
| vsll __builtin_vec_splat (vsll, signed int); |
| XXSPLTD_V2DI XXSPLTD_VSLL |
| vull __builtin_vec_splat (vull, signed int); |
| XXSPLTD_V2DI XXSPLTD_VULL |
| vbll __builtin_vec_splat (vbll, signed int); |
| XXSPLTD_V2DI XXSPLTD_VBLL |
| |
| [VEC_SPLAT_S8, vec_splat_s8, __builtin_vec_splat_s8] |
| vsc __builtin_vec_splat_s8 (signed int); |
| VSPLTISB |
| |
| [VEC_SPLAT_S16, vec_splat_s16, __builtin_vec_splat_s16] |
| vss __builtin_vec_splat_s16 (signed int); |
| VSPLTISH |
| |
| [VEC_SPLAT_S32, vec_splat_s32, __builtin_vec_splat_s32] |
| vsi __builtin_vec_splat_s32 (signed int); |
| VSPLTISW |
| |
| ; There are no entries for vec_splat_u{8,16,32}. These are handled |
| ; in altivec.h with a #define and a cast. |
| |
| [VEC_SPLATI, vec_splati, __builtin_vec_xxspltiw] |
| vsi __builtin_vec_xxspltiw (signed int); |
| VXXSPLTIW_V4SI |
| vf __builtin_vec_xxspltiw (float); |
| VXXSPLTIW_V4SF |
| |
| [VEC_SPLATID, vec_splatid, __builtin_vec_xxspltid] |
| vd __builtin_vec_xxspltid (float); |
| VXXSPLTIDP |
| |
| [VEC_SPLATI_INS, vec_splati_ins, __builtin_vec_xxsplti32dx] |
| vsi __builtin_vec_xxsplti32dx (vsi, const int, signed int); |
| VXXSPLTI32DX_V4SI VXXSPLTI32DX_VSI |
| vui __builtin_vec_xxsplti32dx (vui, const int, unsigned int); |
| VXXSPLTI32DX_V4SI VXXSPLTI32DX_VUI |
| vf __builtin_vec_xxsplti32dx (vf, const int, float); |
| VXXSPLTI32DX_V4SF |
| |
| ; There are no actual builtins for vec_splats. There is special handling for |
| ; this in altivec_resolve_overloaded_builtin in rs6000-c.cc, where the call |
| ; is replaced by a constructor. The single overload here causes |
| ; __builtin_vec_splats to be registered with the front end so that can happen. |
| [VEC_SPLATS, vec_splats, __builtin_vec_splats] |
| vsi __builtin_vec_splats (vsi); |
| ABS_V4SI SPLATS_FAKERY |
| |
| [VEC_SQRT, vec_sqrt, __builtin_vec_sqrt] |
| vf __builtin_vec_sqrt (vf); |
| XVSQRTSP |
| vd __builtin_vec_sqrt (vd); |
| XVSQRTDP |
| |
| [VEC_SR, vec_sr, __builtin_vec_sr] |
| vsc __builtin_vec_sr (vsc, vuc); |
| VSRB VSRB_VSC |
| vuc __builtin_vec_sr (vuc, vuc); |
| VSRB VSRB_VUC |
| vss __builtin_vec_sr (vss, vus); |
| VSRH VSRH_VSS |
| vus __builtin_vec_sr (vus, vus); |
| VSRH VSRH_VUS |
| vsi __builtin_vec_sr (vsi, vui); |
| VSRW VSRW_VSI |
| vui __builtin_vec_sr (vui, vui); |
| VSRW VSRW_VUI |
| vsll __builtin_vec_sr (vsll, vull); |
| VSRD VSRD_VSLL |
| vull __builtin_vec_sr (vull, vull); |
| VSRD VSRD_VULL |
| vsq __builtin_vec_sr (vsq, vuq); |
| VSRQ VSRQ_VSQ |
| vuq __builtin_vec_sr (vuq, vuq); |
| VSRQ VSRQ_VUQ |
| |
| [VEC_SRA, vec_sra, __builtin_vec_sra] |
| vsc __builtin_vec_sra (vsc, vuc); |
| VSRAB VSRAB_VSC |
| vuc __builtin_vec_sra (vuc, vuc); |
| VSRAB VSRAB_VUC |
| vss __builtin_vec_sra (vss, vus); |
| VSRAH VSRAH_VSS |
| vus __builtin_vec_sra (vus, vus); |
| VSRAH VSRAH_VUS |
| vsi __builtin_vec_sra (vsi, vui); |
| VSRAW VSRAW_VSI |
| vui __builtin_vec_sra (vui, vui); |
| VSRAW VSRAW_VUI |
| vsll __builtin_vec_sra (vsll, vull); |
| VSRAD VSRAD_VSLL |
| vull __builtin_vec_sra (vull, vull); |
| VSRAD VSRAD_VULL |
| vsq __builtin_vec_sra (vsq, vuq); |
| VSRAQ VSRAQ_VSQ |
| vuq __builtin_vec_sra (vuq, vuq); |
| VSRAQ VSRAQ_VUQ |
| |
| [VEC_SRDB, vec_srdb, __builtin_vec_srdb] |
| vsc __builtin_vec_srdb (vsc, vsc, const int); |
| VSRDB_V16QI VSRDB_VSC |
| vuc __builtin_vec_srdb (vuc, vuc, const int); |
| VSRDB_V16QI VSRDB_VUC |
| vss __builtin_vec_srdb (vss, vss, const int); |
| VSRDB_V8HI VSRDB_VSS |
| vus __builtin_vec_srdb (vus, vus, const int); |
| VSRDB_V8HI VSRDB_VUS |
| vsi __builtin_vec_srdb (vsi, vsi, const int); |
| VSRDB_V4SI VSRDB_VSI |
| vui __builtin_vec_srdb (vui, vui, const int); |
| VSRDB_V4SI VSRDB_VUI |
| vsll __builtin_vec_srdb (vsll, vsll, const int); |
| VSRDB_V2DI VSRDB_VSLL |
| vull __builtin_vec_srdb (vull, vull, const int); |
| VSRDB_V2DI VSRDB_VULL |
| |
| [VEC_SRL, vec_srl, __builtin_vec_srl] |
| vsc __builtin_vec_srl (vsc, vuc); |
| VSR VSR_VSC |
| vuc __builtin_vec_srl (vuc, vuc); |
| VSR VSR_VUC |
| vss __builtin_vec_srl (vss, vuc); |
| VSR VSR_VSS |
| vus __builtin_vec_srl (vus, vuc); |
| VSR VSR_VUS |
| vp __builtin_vec_srl (vp, vuc); |
| VSR VSR_VP |
| vsi __builtin_vec_srl (vsi, vuc); |
| VSR VSR_VSI |
| vui __builtin_vec_srl (vui, vuc); |
| VSR VSR_VUI |
| vsll __builtin_vec_srl (vsll, vuc); |
| VSR VSR_VSLL |
| vull __builtin_vec_srl (vull, vuc); |
| VSR VSR_VULL |
| ; The following variants are deprecated. |
| vsc __builtin_vec_srl (vsc, vus); |
| VSR VSR_VSC_VUS |
| vsc __builtin_vec_srl (vsc, vui); |
| VSR VSR_VSC_VUI |
| vuc __builtin_vec_srl (vuc, vus); |
| VSR VSR_VUC_VUS |
| vuc __builtin_vec_srl (vuc, vui); |
| VSR VSR_VUC_VUI |
| vbc __builtin_vec_srl (vbc, vuc); |
| VSR VSR_VBC_VUC |
| vbc __builtin_vec_srl (vbc, vus); |
| VSR VSR_VBC_VUS |
| vbc __builtin_vec_srl (vbc, vui); |
| VSR VSR_VBC_VUI |
| vss __builtin_vec_srl (vss, vus); |
| VSR VSR_VSS_VUS |
| vss __builtin_vec_srl (vss, vui); |
| VSR VSR_VSS_VUI |
| vus __builtin_vec_srl (vus, vus); |
| VSR VSR_VUS_VUS |
| vus __builtin_vec_srl (vus, vui); |
| VSR VSR_VUS_VUI |
| vbs __builtin_vec_srl (vbs, vuc); |
| VSR VSR_VBS_VUC |
| vbs __builtin_vec_srl (vbs, vus); |
| VSR VSR_VBS_VUS |
| vbs __builtin_vec_srl (vbs, vui); |
| VSR VSR_VBS_VUI |
| vp __builtin_vec_srl (vp, vus); |
| VSR VSR_VP_VUS |
| vp __builtin_vec_srl (vp, vui); |
| VSR VSR_VP_VUI |
| vsi __builtin_vec_srl (vsi, vus); |
| VSR VSR_VSI_VUS |
| vsi __builtin_vec_srl (vsi, vui); |
| VSR VSR_VSI_VUI |
| vui __builtin_vec_srl (vui, vus); |
| VSR VSR_VUI_VUS |
| vui __builtin_vec_srl (vui, vui); |
| VSR VSR_VUI_VUI |
| vbi __builtin_vec_srl (vbi, vuc); |
| VSR VSR_VBI_VUC |
| vbi __builtin_vec_srl (vbi, vus); |
| VSR VSR_VBI_VUS |
| vbi __builtin_vec_srl (vbi, vui); |
| VSR VSR_VBI_VUI |
| |
| [VEC_SRO, vec_sro, __builtin_vec_sro] |
| vsc __builtin_vec_sro (vsc, vsc); |
| VSRO VSRO_VSCS |
| vsc __builtin_vec_sro (vsc, vuc); |
| VSRO VSRO_VSCU |
| vuc __builtin_vec_sro (vuc, vsc); |
| VSRO VSRO_VUCS |
| vuc __builtin_vec_sro (vuc, vuc); |
| VSRO VSRO_VUCU |
| vss __builtin_vec_sro (vss, vsc); |
| VSRO VSRO_VSSS |
| vss __builtin_vec_sro (vss, vuc); |
| VSRO VSRO_VSSU |
| vus __builtin_vec_sro (vus, vsc); |
| VSRO VSRO_VUSS |
| vus __builtin_vec_sro (vus, vuc); |
| VSRO VSRO_VUSU |
| vp __builtin_vec_sro (vp, vsc); |
| VSRO VSRO_VPS |
| vp __builtin_vec_sro (vp, vuc); |
| VSRO VSRO_VPU |
| vsi __builtin_vec_sro (vsi, vsc); |
| VSRO VSRO_VSIS |
| vsi __builtin_vec_sro (vsi, vuc); |
| VSRO VSRO_VSIU |
| vui __builtin_vec_sro (vui, vsc); |
| VSRO VSRO_VUIS |
| vui __builtin_vec_sro (vui, vuc); |
| VSRO VSRO_VUIU |
| vsll __builtin_vec_sro (vsll, vsc); |
| VSRO VSRO_VSLLS |
| vsll __builtin_vec_sro (vsll, vuc); |
| VSRO VSRO_VSLLU |
| vull __builtin_vec_sro (vull, vsc); |
| VSRO VSRO_VULLS |
| vull __builtin_vec_sro (vull, vuc); |
| VSRO VSRO_VULLU |
| vf __builtin_vec_sro (vf, vsc); |
| VSRO VSRO_VFS |
| vf __builtin_vec_sro (vf, vuc); |
| VSRO VSRO_VFU |
| |
| [VEC_SRV, vec_srv, __builtin_vec_vsrv] |
| vuc __builtin_vec_vsrv (vuc, vuc); |
| VSRV |
| |
| [VEC_ST, vec_st, __builtin_vec_st] |
| void __builtin_vec_st (vsc, signed long long, vsc *); |
| STVX_V16QI STVX_VSC |
| void __builtin_vec_st (vsc, signed long long, signed char *); |
| STVX_V16QI STVX_SC |
| void __builtin_vec_st (vuc, signed long long, vuc *); |
| STVX_V16QI STVX_VUC |
| void __builtin_vec_st (vuc, signed long long, unsigned char *); |
| STVX_V16QI STVX_UC |
| void __builtin_vec_st (vbc, signed long long, vbc *); |
| STVX_V16QI STVX_VBC |
| void __builtin_vec_st (vbc, signed long long, signed char *); |
| STVX_V16QI STVX_SC_B |
| void __builtin_vec_st (vbc, signed long long, unsigned char *); |
| STVX_V16QI STVX_UC_B |
| void __builtin_vec_st (vss, signed long long, vss *); |
| STVX_V8HI STVX_VSS |
| void __builtin_vec_st (vss, signed long long, signed short *); |
| STVX_V8HI STVX_SS |
| void __builtin_vec_st (vus, signed long long, vus *); |
| STVX_V8HI STVX_VUS |
| void __builtin_vec_st (vus, signed long long, unsigned short *); |
| STVX_V8HI STVX_US |
| void __builtin_vec_st (vbs, signed long long, vbs *); |
| STVX_V8HI STVX_VBS |
| void __builtin_vec_st (vbs, signed long long, signed short *); |
| STVX_V8HI STVX_SS_B |
| void __builtin_vec_st (vbs, signed long long, unsigned short *); |
| STVX_V8HI STVX_US_B |
| void __builtin_vec_st (vp, signed long long, vp *); |
| STVX_V8HI STVX_P |
| void __builtin_vec_st (vsi, signed long long, vsi *); |
| STVX_V4SI STVX_VSI |
| void __builtin_vec_st (vsi, signed long long, signed int *); |
| STVX_V4SI STVX_SI |
| void __builtin_vec_st (vui, signed long long, vui *); |
| STVX_V4SI STVX_VUI |
| void __builtin_vec_st (vui, signed long long, unsigned int *); |
| STVX_V4SI STVX_UI |
| void __builtin_vec_st (vbi, signed long long, vbi *); |
| STVX_V4SI STVX_VBI |
| void __builtin_vec_st (vbi, signed long long, signed int *); |
| STVX_V4SI STVX_SI_B |
| void __builtin_vec_st (vbi, signed long long, unsigned int *); |
| STVX_V4SI STVX_UI_B |
| void __builtin_vec_st (vsll, signed long long, vsll *); |
| STVX_V2DI STVX_VSLL |
| void __builtin_vec_st (vsll, signed long long, signed long long *); |
| STVX_V2DI STVX_SLL |
| void __builtin_vec_st (vull, signed long long, vull *); |
| STVX_V2DI STVX_VULL |
| void __builtin_vec_st (vull, signed long long, unsigned long long *); |
| STVX_V2DI STVX_ULL |
| void __builtin_vec_st (vbll, signed long long, vbll *); |
| STVX_V2DI STVX_VBLL |
| void __builtin_vec_st (vf, signed long long, vf *); |
| STVX_V4SF STVX_VF |
| void __builtin_vec_st (vf, signed long long, float *); |
| STVX_V4SF STVX_F |
| void __builtin_vec_st (vd, signed long long, vd *); |
| STVX_V2DF STVX_VD |
| void __builtin_vec_st (vd, signed long long, double *); |
| STVX_V2DF STVX_D |
| ; The following variants are deprecated. |
| void __builtin_vec_st (vbll, signed long long, signed long long *); |
| STVX_V2DI STVX_SLL_B |
| void __builtin_vec_st (vbll, signed long long, unsigned long long *); |
| STVX_V2DI STVX_ULL_B |
| |
| [VEC_STE, vec_ste, __builtin_vec_ste] |
| void __builtin_vec_ste (vsc, signed long long, signed char *); |
| STVEBX STVEBX_S |
| void __builtin_vec_ste (vuc, signed long long, unsigned char *); |
| STVEBX STVEBX_U |
| void __builtin_vec_ste (vbc, signed long long, signed char *); |
| STVEBX STVEBX_BS |
| void __builtin_vec_ste (vbc, signed long long, unsigned char *); |
| STVEBX STVEBX_BU |
| void __builtin_vec_ste (vss, signed long long, signed short *); |
| STVEHX STVEHX_S |
| void __builtin_vec_ste (vus, signed long long, unsigned short *); |
| STVEHX STVEHX_U |
| void __builtin_vec_ste (vbs, signed long long, signed short *); |
| STVEHX STVEHX_BS |
| void __builtin_vec_ste (vbs, signed long long, unsigned short *); |
| STVEHX STVEHX_BU |
| void __builtin_vec_ste (vp, signed long long, signed short *); |
| STVEHX STVEHX_PS |
| void __builtin_vec_ste (vp, signed long long, unsigned short *); |
| STVEHX STVEHX_PU |
| void __builtin_vec_ste (vsi, signed long long, signed int *); |
| STVEWX STVEHWX_S |
| void __builtin_vec_ste (vui, signed long long, unsigned int *); |
| STVEWX STVEWX_U |
| void __builtin_vec_ste (vbi, signed long long, signed int *); |
| STVEWX STVEWX_BS |
| void __builtin_vec_ste (vbi, signed long long, unsigned int *); |
| STVEWX STVEWX_BU |
| void __builtin_vec_ste (vf, signed long long, float *); |
| STVEWX STVEWX_F |
| |
| ; There are no builtins for VEC_STEP; this is handled directly |
| ; with a constant replacement in rs6000_resolve_overloaded_builtin. |
| ; The single overload registers __builtin_vec_step with the front end |
| ; so this can happen. |
| [VEC_STEP, vec_step, __builtin_vec_step] |
| signed int __builtin_vec_step (vsi); |
| VCLZLSBB_V4SI STEP_FAKERY |
| |
| [VEC_STL, vec_stl, __builtin_vec_stl] |
| void __builtin_vec_stl (vsc, signed long long, vsc *); |
| STVXL_V16QI STVXL_VSC |
| void __builtin_vec_stl (vsc, signed long long, signed char *); |
| STVXL_V16QI STVXL_SC |
| void __builtin_vec_stl (vuc, signed long long, vuc *); |
| STVXL_V16QI STVXL_VUC |
| void __builtin_vec_stl (vuc, signed long long, unsigned char *); |
| STVXL_V16QI STVXL_UC |
| void __builtin_vec_stl (vbc, signed long long, vbc *); |
| STVXL_V16QI STVXL_VBC |
| void __builtin_vec_stl (vbc, signed long long, signed char *); |
| STVXL_V16QI STVXL_SC_B |
| void __builtin_vec_stl (vbc, signed long long, unsigned char *); |
| STVXL_V16QI STVXL_UC_B |
| void __builtin_vec_stl (vss, signed long long, vss *); |
| STVXL_V8HI STVXL_VSS |
| void __builtin_vec_stl (vss, signed long long, signed short *); |
| STVXL_V8HI STVXL_SS |
| void __builtin_vec_stl (vus, signed long long, vus *); |
| STVXL_V8HI STVXL_VUS |
| void __builtin_vec_stl (vus, signed long long, unsigned short *); |
| STVXL_V8HI STVXL_US |
| void __builtin_vec_stl (vbs, signed long long, vbs *); |
| STVXL_V8HI STVXL_VBS |
| void __builtin_vec_stl (vbs, signed long long, signed short *); |
| STVXL_V8HI STVXL_SS_B |
| void __builtin_vec_stl (vbs, signed long long, unsigned short *); |
| STVXL_V8HI STVXL_US_B |
| void __builtin_vec_stl (vp, signed long long, vp *); |
| STVXL_V8HI STVXL_P |
| void __builtin_vec_stl (vsi, signed long long, vsi *); |
| STVXL_V4SI STVXL_VSI |
| void __builtin_vec_stl (vsi, signed long long, signed int *); |
| STVXL_V4SI STVXL_SI |
| void __builtin_vec_stl (vui, signed long long, vui *); |
| STVXL_V4SI STVXL_VUI |
| void __builtin_vec_stl (vui, signed long long, unsigned int *); |
| STVXL_V4SI STVXL_UI |
| void __builtin_vec_stl (vbi, signed long long, vbi *); |
| STVXL_V4SI STVXL_VBI |
| void __builtin_vec_stl (vbi, signed long long, signed int *); |
| STVXL_V4SI STVXL_SI_B |
| void __builtin_vec_stl (vbi, signed long long, unsigned int *); |
| STVXL_V4SI STVXL_UI_B |
| void __builtin_vec_stl (vsll, signed long long, vsll *); |
| STVXL_V2DI STVXL_VSLL |
| void __builtin_vec_stl (vsll, signed long long, signed long long *); |
| STVXL_V2DI STVXL_SLL |
| void __builtin_vec_stl (vull, signed long long, vull *); |
| STVXL_V2DI STVXL_VULL |
| void __builtin_vec_stl (vull, signed long long, unsigned long long *); |
| STVXL_V2DI STVXL_ULL |
| void __builtin_vec_stl (vbll, signed long long, vbll *); |
| STVXL_V2DI STVXL_VBLL |
| void __builtin_vec_stl (vbll, signed long long, signed long long *); |
| STVXL_V2DI STVXL_SLL_B |
| void __builtin_vec_stl (vbll, signed long long, unsigned long long *); |
| STVXL_V2DI STVXL_ULL_B |
| void __builtin_vec_stl (vf, signed long long, vf *); |
| STVXL_V4SF STVXL_VF |
| void __builtin_vec_stl (vf, signed long long, float *); |
| STVXL_V4SF STVXL_F |
| void __builtin_vec_stl (vd, signed long long, vd *); |
| STVXL_V2DF STVXL_VD |
| void __builtin_vec_stl (vd, signed long long, double *); |
| STVXL_V2DF STVXL_D |
| |
| [VEC_STRIL, vec_stril, __builtin_vec_stril] |
| vuc __builtin_vec_stril (vuc); |
| VSTRIBL VSTRIBL_U |
| vsc __builtin_vec_stril (vsc); |
| VSTRIBL VSTRIBL_S |
| vus __builtin_vec_stril (vus); |
| VSTRIHL VSTRIHL_U |
| vss __builtin_vec_stril (vss); |
| VSTRIHL VSTRIHL_S |
| |
| [VEC_STRIL_P, vec_stril_p, __builtin_vec_stril_p] |
| signed int __builtin_vec_stril_p (vuc); |
| VSTRIBL_P VSTRIBL_PU |
| signed int __builtin_vec_stril_p (vsc); |
| VSTRIBL_P VSTRIBL_PS |
| signed int __builtin_vec_stril_p (vus); |
| VSTRIHL_P VSTRIHL_PU |
| signed int __builtin_vec_stril_p (vss); |
| VSTRIHL_P VSTRIHL_PS |
| |
| [VEC_STRIR, vec_strir, __builtin_vec_strir] |
| vuc __builtin_vec_strir (vuc); |
| VSTRIBR VSTRIBR_U |
| vsc __builtin_vec_strir (vsc); |
| VSTRIBR VSTRIBR_S |
| vus __builtin_vec_strir (vus); |
| VSTRIHR VSTRIHR_U |
| vss __builtin_vec_strir (vss); |
| VSTRIHR VSTRIHR_S |
| |
| [VEC_STRIR_P, vec_strir_p, __builtin_vec_strir_p] |
| signed int __builtin_vec_strir_p (vuc); |
| VSTRIBR_P VSTRIBR_PU |
| signed int __builtin_vec_strir_p (vsc); |
| VSTRIBR_P VSTRIBR_PS |
| signed int __builtin_vec_strir_p (vus); |
| VSTRIHR_P VSTRIHR_PU |
| signed int __builtin_vec_strir_p (vss); |
| VSTRIHR_P VSTRIHR_PS |
| |
| [VEC_STVLX, vec_stvlx, __builtin_vec_stvlx, __PPU__] |
| void __builtin_vec_stvlx (vbc, signed long long, vbc *); |
| STVLX STVLX_VBC |
| void __builtin_vec_stvlx (vsc, signed long long, vsc *); |
| STVLX STVLX_VSC |
| void __builtin_vec_stvlx (vsc, signed long long, signed char *); |
| STVLX STVLX_SC |
| void __builtin_vec_stvlx (vuc, signed long long, vuc *); |
| STVLX STVLX_VUC |
| void __builtin_vec_stvlx (vuc, signed long long, unsigned char *); |
| STVLX STVLX_UC |
| void __builtin_vec_stvlx (vbs, signed long long, vbs *); |
| STVLX STVLX_VBS |
| void __builtin_vec_stvlx (vss, signed long long, vss *); |
| STVLX STVLX_VSS |
| void __builtin_vec_stvlx (vss, signed long long, signed short *); |
| STVLX STVLX_SS |
| void __builtin_vec_stvlx (vus, signed long long, vus *); |
| STVLX STVLX_VUS |
| void __builtin_vec_stvlx (vus, signed long long, unsigned short *); |
| STVLX STVLX_US |
| void __builtin_vec_stvlx (vp, signed long long, vp *); |
| STVLX STVLX_VP |
| void __builtin_vec_stvlx (vbi, signed long long, vbi *); |
| STVLX STVLX_VBI |
| void __builtin_vec_stvlx (vsi, signed long long, vsi *); |
| STVLX STVLX_VSI |
| void __builtin_vec_stvlx (vsi, signed long long, signed int *); |
| STVLX STVLX_SI |
| void __builtin_vec_stvlx (vui, signed long long, vui *); |
| STVLX STVLX_VUI |
| void __builtin_vec_stvlx (vui, signed long long, unsigned int *); |
| STVLX STVLX_UI |
| void __builtin_vec_stvlx (vf, signed long long, vf *); |
| STVLX STVLX_VF |
| void __builtin_vec_stvlx (vf, signed long long, float *); |
| STVLX STVLX_F |
| |
| [VEC_STVLXL, vec_stvlxl, __builtin_vec_stvlxl, __PPU__] |
| void __builtin_vec_stvlxl (vbc, signed long long, vbc *); |
| STVLXL STVLXL_VBC |
| void __builtin_vec_stvlxl (vsc, signed long long, vsc *); |
| STVLXL STVLXL_VSC |
| void __builtin_vec_stvlxl (vsc, signed long long, signed char *); |
| STVLXL STVLXL_SC |
| void __builtin_vec_stvlxl (vuc, signed long long, vuc *); |
| STVLXL STVLXL_VUC |
| void __builtin_vec_stvlxl (vuc, signed long long, unsigned char *); |
| STVLXL STVLXL_UC |
| void __builtin_vec_stvlxl (vbs, signed long long, vbs *); |
| STVLXL STVLXL_VBS |
| void __builtin_vec_stvlxl (vss, signed long long, vss *); |
| STVLXL STVLXL_VSS |
| void __builtin_vec_stvlxl (vss, signed long long, signed short *); |
| STVLXL STVLXL_SS |
| void __builtin_vec_stvlxl (vus, signed long long, vus *); |
| STVLXL STVLXL_VUS |
| void __builtin_vec_stvlxl (vus, signed long long, unsigned short *); |
| STVLXL STVLXL_US |
| void __builtin_vec_stvlxl (vp, signed long long, vp *); |
| STVLXL STVLXL_VP |
| void __builtin_vec_stvlxl (vbi, signed long long, vbi *); |
| STVLXL STVLXL_VBI |
| void __builtin_vec_stvlxl (vsi, signed long long, vsi *); |
| STVLXL STVLXL_VSI |
| void __builtin_vec_stvlxl (vsi, signed long long, signed int *); |
| STVLXL STVLXL_SI |
| void __builtin_vec_stvlxl (vui, signed long long, vui *); |
| STVLXL STVLXL_VUI |
| void __builtin_vec_stvlxl (vui, signed long long, unsigned int *); |
| STVLXL STVLXL_UI |
| void __builtin_vec_stvlxl (vf, signed long long, vf *); |
| STVLXL STVLXL_VF |
| void __builtin_vec_stvlxl (vf, signed long long, float *); |
| STVLXL STVLXL_F |
| |
| [VEC_STVRX, vec_stvrx, __builtin_vec_stvrx, __PPU__] |
| void __builtin_vec_stvrx (vbc, signed long long, vbc *); |
| STVRX STVRX_VBC |
| void __builtin_vec_stvrx (vsc, signed long long, vsc *); |
| STVRX STVRX_VSC |
| void __builtin_vec_stvrx (vsc, signed long long, signed char *); |
| STVRX STVRX_SC |
| void __builtin_vec_stvrx (vuc, signed long long, vuc *); |
| STVRX STVRX_VUC |
| void __builtin_vec_stvrx (vuc, signed long long, unsigned char *); |
| STVRX STVRX_UC |
| void __builtin_vec_stvrx (vbs, signed long long, vbs *); |
| STVRX STVRX_VBS |
| void __builtin_vec_stvrx (vss, signed long long, vss *); |
| STVRX STVRX_VSS |
| void __builtin_vec_stvrx (vss, signed long long, signed short *); |
| STVRX STVRX_SS |
| void __builtin_vec_stvrx (vus, signed long long, vus *); |
| STVRX STVRX_VUS |
| void __builtin_vec_stvrx (vus, signed long long, unsigned short *); |
| STVRX STVRX_US |
| void __builtin_vec_stvrx (vp, signed long long, vp *); |
| STVRX STVRX_VP |
| void __builtin_vec_stvrx (vbi, signed long long, vbi *); |
| STVRX STVRX_VBI |
| void __builtin_vec_stvrx (vsi, signed long long, vsi *); |
| STVRX STVRX_VSI |
| void __builtin_vec_stvrx (vsi, signed long long, signed int *); |
| STVRX STVRX_SI |
| void __builtin_vec_stvrx (vui, signed long long, vui *); |
| STVRX STVRX_VUI |
| void __builtin_vec_stvrx (vui, signed long long, unsigned int *); |
| STVRX STVRX_UI |
| void __builtin_vec_stvrx (vf, signed long long, vf *); |
| STVRX STVRX_VF |
| void __builtin_vec_stvrx (vf, signed long long, float *); |
| STVRX STVRX_F |
| |
| [VEC_STVRXL, vec_stvrxl, __builtin_vec_stvrxl, __PPU__] |
| void __builtin_vec_stvrxl (vbc, signed long long, vbc *); |
| STVRXL STVRXL_VBC |
| void __builtin_vec_stvrxl (vsc, signed long long, vsc *); |
| STVRXL STVRXL_VSC |
| void __builtin_vec_stvrxl (vsc, signed long long, signed char *); |
| STVRXL STVRXL_SC |
| void __builtin_vec_stvrxl (vuc, signed long long, vuc *); |
| STVRXL STVRXL_VUC |
| void __builtin_vec_stvrxl (vuc, signed long long, unsigned char *); |
| STVRXL STVRXL_UC |
| void __builtin_vec_stvrxl (vbs, signed long long, vbs *); |
| STVRXL STVRXL_VBS |
| void __builtin_vec_stvrxl (vss, signed long long, vss *); |
| STVRXL STVRXL_VSS |
| void __builtin_vec_stvrxl (vss, signed long long, signed short *); |
| STVRXL STVRXL_SS |
| void __builtin_vec_stvrxl (vus, signed long long, vus *); |
| STVRXL STVRXL_VUS |
| void __builtin_vec_stvrxl (vus, signed long long, unsigned short *); |
| STVRXL STVRXL_US |
| void __builtin_vec_stvrxl (vp, signed long long, vp *); |
| STVRXL STVRXL_VP |
| void __builtin_vec_stvrxl (vbi, signed long long, vbi *); |
| STVRXL STVRXL_VBI |
| void __builtin_vec_stvrxl (vsi, signed long long, vsi *); |
| STVRXL STVRXL_VSI |
| void __builtin_vec_stvrxl (vsi, signed long long, signed int *); |
| STVRXL STVRXL_SI |
| void __builtin_vec_stvrxl (vui, signed long long, vui *); |
| STVRXL STVRXL_VUI |
| void __builtin_vec_stvrxl (vui, signed long long, unsigned int *); |
| STVRXL STVRXL_UI |
| void __builtin_vec_stvrxl (vf, signed long long, vf *); |
| STVRXL STVRXL_VF |
| void __builtin_vec_stvrxl (vf, signed long long, float *); |
| STVRXL STVRXL_F |
| |
| [VEC_STXVL, vec_xst_len, __builtin_vec_stxvl] |
| void __builtin_vec_stxvl (vsc, signed char *, unsigned int); |
| STXVL STXVL_VSC |
| void __builtin_vec_stxvl (vuc, unsigned char *, unsigned int); |
| STXVL STXVL_VUC |
| void __builtin_vec_stxvl (vss, signed short *, unsigned int); |
| STXVL STXVL_VSS |
| void __builtin_vec_stxvl (vus, unsigned short *, unsigned int); |
| STXVL STXVL_VUS |
| void __builtin_vec_stxvl (vsi, signed int *, unsigned int); |
| STXVL STXVL_VSI |
| void __builtin_vec_stxvl (vui, unsigned int *, unsigned int); |
| STXVL STXVL_VUI |
| void __builtin_vec_stxvl (vsll, signed long long *, unsigned int); |
| STXVL STXVL_VSLL |
| void __builtin_vec_stxvl (vull, unsigned long long *, unsigned int); |
| STXVL STXVL_VULL |
| void __builtin_vec_stxvl (vsq, signed __int128 *, unsigned int); |
| STXVL STXVL_VSQ |
| void __builtin_vec_stxvl (vuq, unsigned __int128 *, unsigned int); |
| STXVL STXVL_VUQ |
| void __builtin_vec_stxvl (vf, float *, unsigned int); |
| STXVL STXVL_VF |
| void __builtin_vec_stxvl (vd, double *, unsigned int); |
| STXVL STXVL_VD |
| |
| [VEC_SUB, vec_sub, __builtin_vec_sub] |
| vsc __builtin_vec_sub (vsc, vsc); |
| VSUBUBM VSUBUBM_VSC |
| vuc __builtin_vec_sub (vuc, vuc); |
| VSUBUBM VSUBUBM_VUC |
| vss __builtin_vec_sub (vss, vss); |
| VSUBUHM VSUBUHM_VSS |
| vus __builtin_vec_sub (vus, vus); |
| VSUBUHM VSUBUHM_VUS |
| vsi __builtin_vec_sub (vsi, vsi); |
| VSUBUWM VSUBUWM_VSI |
| vui __builtin_vec_sub (vui, vui); |
| VSUBUWM VSUBUWM_VUI |
| vsll __builtin_vec_sub (vsll, vsll); |
| VSUBUDM VSUBUDM_VSLL |
| vull __builtin_vec_sub (vull, vull); |
| VSUBUDM VSUBUDM_VULL |
| vsq __builtin_vec_sub (vsq, vsq); |
| VSUBUQM VSUBUQM_VSQ |
| vuq __builtin_vec_sub (vuq, vuq); |
| VSUBUQM VSUBUQM_VUQ |
| vf __builtin_vec_sub (vf, vf); |
| VSUBFP |
| vd __builtin_vec_sub (vd, vd); |
| XVSUBDP |
| ; The following variants are deprecated. |
| vsc __builtin_vec_sub (vsc, vbc); |
| VSUBUBM VSUBUBM_VSC_VBC |
| vsc __builtin_vec_sub (vbc, vsc); |
| VSUBUBM VSUBUBM_VBC_VSC |
| vuc __builtin_vec_sub (vuc, vbc); |
| VSUBUBM VSUBUBM_VUC_VBC |
| vuc __builtin_vec_sub (vbc, vuc); |
| VSUBUBM VSUBUBM_VBC_VUC |
| vss __builtin_vec_sub (vss, vbs); |
| VSUBUHM VSUBUHM_VSS_VBS |
| vss __builtin_vec_sub (vbs, vss); |
| VSUBUHM VSUBUHM_VBS_VSS |
| vus __builtin_vec_sub (vus, vbs); |
| VSUBUHM VSUBUHM_VUS_VBS |
| vus __builtin_vec_sub (vbs, vus); |
| VSUBUHM VSUBUHM_VBS_VUS |
| vsi __builtin_vec_sub (vsi, vbi); |
| VSUBUWM VSUBUWM_VSI_VBI |
| vsi __builtin_vec_sub (vbi, vsi); |
| VSUBUWM VSUBUWM_VBI_VSI |
| vui __builtin_vec_sub (vui, vbi); |
| VSUBUWM VSUBUWM_VUI_VBI |
| vui __builtin_vec_sub (vbi, vui); |
| VSUBUWM VSUBUWM_VBI_VUI |
| vsll __builtin_vec_sub (vsll, vbll); |
| VSUBUDM VSUBUDM_VSLL_VBLL |
| vsll __builtin_vec_sub (vbll, vsll); |
| VSUBUDM VSUBUDM_VBLL_VSLL |
| vull __builtin_vec_sub (vull, vbll); |
| VSUBUDM VSUBUDM_VULL_VBLL |
| vull __builtin_vec_sub (vbll, vull); |
| VSUBUDM VSUBUDM_VBLL_VULL |
| |
| [VEC_SUBC, vec_subc, __builtin_vec_subc] |
| vsi __builtin_vec_subc (vsi, vsi); |
| VSUBCUW VSUBCUW_VSI |
| vui __builtin_vec_subc (vui, vui); |
| VSUBCUW VSUBCUW_VUI |
| vsq __builtin_vec_subc (vsq, vsq); |
| VSUBCUQ VSUBCUQ_VSQ |
| vuq __builtin_vec_subc (vuq, vuq); |
| VSUBCUQ VSUBCUQ_VUQ |
| |
| ; TODO: Note that the entry for VEC_SUBE currently gets ignored in |
| ; altivec_resolve_overloaded_builtin. Revisit whether we can remove |
| ; that. We still need to register the legal builtin forms here. |
| [VEC_SUBE, vec_sube, __builtin_vec_sube] |
| vsq __builtin_vec_sube (vsq, vsq, vsq); |
| VSUBEUQM VSUBEUQM_VSQ |
| vuq __builtin_vec_sube (vuq, vuq, vuq); |
| VSUBEUQM VSUBEUQM_VUQ |
| |
| ; TODO: Note that the entry for VEC_SUBEC currently gets ignored in |
| ; altivec_resolve_overloaded_builtin. Revisit wh
|