OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [config/] [rs6000/] [rs6000-builtin.def] - Rev 328

Go to most recent revision | Compare with Previous | Blame | View Log

/* Builtin functions for rs6000/powerpc.
   Copyright (C) 2009, 2010
   Free Software Foundation, Inc.
   Contributed by Michael Meissner (meissner@linux.vnet.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.

   Under Section 7 of GPL version 3, you are granted additional
   permissions described in the GCC Runtime Library Exception, version
   3.1, as published by the Free Software Foundation.

   You should have received a copy of the GNU General Public License and
   a copy of the GCC Runtime Library Exception along with this program;
   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
   <http://www.gnu.org/licenses/>.  */

/* Before including this file, two macros must be defined:
   RS6000_BUILTIN        -- 2 arguments, the enum name, and classification
   RS6000_BUILTIN_EQUATE -- 2 arguments, enum name and value */

/* AltiVec builtins.  */
RS6000_BUILTIN(ALTIVEC_BUILTIN_ST_INTERNAL_4si,         RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LD_INTERNAL_4si,         RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ST_INTERNAL_8hi,         RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LD_INTERNAL_8hi,         RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ST_INTERNAL_16qi,        RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LD_INTERNAL_16qi,        RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ST_INTERNAL_4sf,         RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LD_INTERNAL_4sf,         RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDUBM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDUHM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDUWM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDFP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDCUW,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDUBS,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDSBS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDUHS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDSHS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDUWS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VADDSWS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VAND,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VANDC,                   RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VAVGUB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VAVGSB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VAVGUH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VAVGSH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VAVGUW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VAVGSW,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCFUX,                   RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCFSX,                   RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCTSXS,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCTUXS,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPBFP,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQUB,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQUH,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQUW,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQFP,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGEFP,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTUB,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTSB,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTUH,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTSH,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTUW,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTSW,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTFP,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEXPTEFP,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VLOGEFP,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMADDFP,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMAXUB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMAXSB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMAXUH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMAXSH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMAXUW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMAXSW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMAXFP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMHADDSHS,               RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMHRADDSHS,              RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMLADDUHM,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMRGHB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMRGHH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMRGHW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMRGLB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMRGLH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMRGLW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMSUMUBM,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMSUMMBM,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMSUMUHM,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMSUMSHM,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMSUMUHS,                RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMSUMSHS,                RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMINUB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMINSB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMINUH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMINSH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMINUW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMINSW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMINFP,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULEUB,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULEUB_UNS,             RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULESB,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULEUH,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULEUH_UNS,             RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULESH,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULOUB,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULOUB_UNS,             RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULOSB,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULOUH,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULOUH_UNS,             RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VMULOSH,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VNMSUBFP,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VNOR,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VOR,                     RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_2DF,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_2DI,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_4SI,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_4SF,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_8HI,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_16QI,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_2DI_UNS,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_4SI_UNS,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_8HI_UNS,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSEL_16QI_UNS,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_2DF,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_2DI,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_4SI,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_4SF,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_8HI,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_16QI,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_2DI_UNS,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_4SI_UNS,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_8HI_UNS,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPERM_16QI_UNS,          RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKUHUM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKUWUM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKPX,                   RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKUHSS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKSHSS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKUWSS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKSWSS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKUHUS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKSHUS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKUWUS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VPKSWUS,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VREFP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRFIM,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRFIN,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRFIP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRFIZ,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRLB,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRLH,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRLW,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VRSQRTEFP,               RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLB,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLH,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLW,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSL,                     RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLO,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSPLTB,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSPLTH,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSPLTW,                  RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSPLTISB,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSPLTISH,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSPLTISW,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSRB,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSRH,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSRW,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSRAB,                   RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSRAH,                   RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSRAW,                   RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSR,                     RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSRO,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBUBM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBUHM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBUWM,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBFP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBCUW,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBUBS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBSBS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBUHS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBSHS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBUWS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUBSWS,                 RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUM4UBS,                RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUM4SBS,                RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUM4SHS,                RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUM2SWS,                RS6000_BTC_SAT)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSUMSWS,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VXOR,                    RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLDOI_16QI,             RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLDOI_8HI,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLDOI_4SI,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VSLDOI_4SF,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VUPKHSB,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VUPKHPX,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VUPKHSH,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VUPKLSB,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VUPKLPX,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VUPKLSH,                 RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_MTVSCR,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_MFVSCR,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_DSSALL,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_DSS,                     RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVSL,                    RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVSR,                    RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_DSTT,                    RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_DSTST,                   RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_DSTSTT,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_DST,                     RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVEBX,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVEHX,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVEWX,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVXL,                    RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVX,                     RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVX,                    RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVLX,                    RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVLXL,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVRX,                    RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_LVRXL,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVEBX,                  RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVEHX,                  RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVEWX,                  RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVXL,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVLX,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVLXL,                  RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVRX,                   RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_STVRXL,                  RS6000_BTC_MEM)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPBFP_P,               RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQFP_P,              RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQUB_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQUH_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQUW_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGEFP_P,              RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTFP_P,              RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTSB_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTSH_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTSW_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTUB_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTUH_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGTUW_P,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ABSS_V4SI,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ABSS_V8HI,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ABSS_V16QI,              RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ABS_V4SI,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ABS_V4SF,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ABS_V8HI,                RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_ABS_V16QI,               RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_MASK_FOR_LOAD,           RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_MASK_FOR_STORE,          RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_INIT_V4SI,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_INIT_V8HI,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_INIT_V16QI,          RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_INIT_V4SF,           RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SET_V4SI,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SET_V8HI,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SET_V16QI,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SET_V4SF,            RS6000_BTC_FP_PURE)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_EXT_V4SI,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_EXT_V8HI,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_EXT_V16QI,           RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_EXT_V4SF,            RS6000_BTC_CONST)
RS6000_BUILTIN(ALTIVEC_BUILTIN_COPYSIGN_V4SF,           RS6000_BTC_CONST)

/* Altivec overloaded builtins.  */
/* For now, don't set the classification for overloaded functions.
   The function should be converted to the type specific instruction
   before we get to the point about classifying the builtin type.  */
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPEQ_P,                RS6000_BTC_MISC)
RS6000_BUILTIN_EQUATE(ALTIVEC_BUILTIN_OVERLOADED_FIRST,
                      ALTIVEC_BUILTIN_VCMPEQ_P)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGT_P,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VCMPGE_P,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ABS,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ABSS,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ADD,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ADDC,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ADDS,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_AND,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ANDC,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_AVG,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_EXTRACT,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CEIL,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPB,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPEQ,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPEQUB,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPEQUH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPEQUW,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPGE,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPGT,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPLE,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CMPLT,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_COPYSIGN,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CTF,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CTS,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_CTU,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_DST,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_DSTST,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_DSTSTT,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_DSTT,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_EXPTE,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_FLOOR,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LD,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LDE,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LDL,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LOGE,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVEBX,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVEHX,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVEWX,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVLX,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVLXL,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVRX,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVRXL,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVSL,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_LVSR,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MADD,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MADDS,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MAX,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MERGEH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MERGEL,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MIN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MLADD,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MPERM,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MRADDS,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MRGHB,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MRGHH,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MRGHW,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MRGLB,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MRGLH,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MRGLW,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MSUM,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MSUMS,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MTVSCR,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MULE,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_MULO,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_NEARBYINT,           RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_NMSUB,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_NOR,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_OR,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_PACK,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_PACKPX,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_PACKS,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_PACKSU,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_PERM,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_RE,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_RL,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_RINT,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ROUND,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_RSQRTE,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SEL,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SL,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SLD,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SLL,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SLO,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLAT,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLAT_S16,           RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLAT_S32,           RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLAT_S8,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLAT_U16,           RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLAT_U32,           RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLAT_U8,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLTB,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLTH,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLTW,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SQRT,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SR,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SRA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SRL,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SRO,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_ST,                  RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STE,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STL,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STVEBX,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STVEHX,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STVEWX,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STVLX,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STVLXL,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STVRX,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STVRXL,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SUB,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SUBC,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SUBS,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SUM2S,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SUM4S,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SUMS,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_TRUNC,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_UNPACKH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_UNPACKL,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDFP,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDSBS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDSHS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDSWS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDUBM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDUBS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDUHM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDUHS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDUWM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VADDUWS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VAVGSB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VAVGSH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VAVGSW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VAVGUB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VAVGUH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VAVGUW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCFSX,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCFUX,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPEQFP,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPEQUB,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPEQUH,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPEQUW,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPGTFP,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPGTSB,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPGTSH,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPGTSW,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPGTUB,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPGTUH,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VCMPGTUW,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMAXFP,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMAXSB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMAXSH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMAXSW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMAXUB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMAXUH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMAXUW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMINFP,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMINSB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMINSH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMINSW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMINUB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMINUH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMINUW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMRGHB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMRGHH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMRGHW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMRGLB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMRGLH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMRGLW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMSUMMBM,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMSUMSHM,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMSUMSHS,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMSUMUBM,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMSUMUHM,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMSUMUHS,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULESB,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULESH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULEUB,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULEUH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULOSB,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULOSH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULOUB,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VMULOUH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKSHSS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKSHUS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKSWSS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKSWUS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKUHUM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKUHUS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKUWUM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VPKUWUS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VRLB,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VRLH,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VRLW,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSLB,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSLH,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSLW,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSPLTB,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSPLTH,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSPLTW,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSRAB,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSRAH,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSRAW,               RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSRB,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSRH,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSRW,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBFP,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBSBS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBSHS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBSWS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBUBM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBUBS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBUHM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBUHS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBUWM,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUBUWS,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUM4SBS,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUM4SHS,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VSUM4UBS,            RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VUPKHPX,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VUPKHSB,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VUPKHSH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VUPKLPX,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VUPKLSB,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_VUPKLSH,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_XOR,                 RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_STEP,                RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_PROMOTE,             RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_INSERT,              RS6000_BTC_MISC)
RS6000_BUILTIN(ALTIVEC_BUILTIN_VEC_SPLATS,              RS6000_BTC_MISC)
RS6000_BUILTIN_EQUATE(ALTIVEC_BUILTIN_OVERLOADED_LAST,
                      ALTIVEC_BUILTIN_VEC_SPLATS)

/* SPE builtins.  */
RS6000_BUILTIN(SPE_BUILTIN_EVADDW,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVAND,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVANDC,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVDIVWS,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVDIVWU,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVEQV,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSADD,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSDIV,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSMUL,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSSUB,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLDDX,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLDHX,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLDWX,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLHHESPLATX,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLHHOSSPLATX,               RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLHHOUSPLATX,               RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHEX,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHOSX,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHOUX,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHSPLATX,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWWSPLATX,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMERGEHI,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMERGEHILO,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMERGELO,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMERGELOHI,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEGSMFAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEGSMFAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEGSMIAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEGSMIAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEGUMIAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEGUMIAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMFA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMFAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMFANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMIA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESMIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESSF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESSFA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESSFAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESSFANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHESSIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEUMI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEUMIA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEUMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEUMIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEUSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHEUSIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOGSMFAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOGSMFAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOGSMIAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOGSMIAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOGUMIAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOGUMIAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMFA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMFAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMFANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMIA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSMIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSSF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSSFA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSSFAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSSFANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOSSIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOUMI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOUMIA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOUMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOUMIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOUSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMHOUSIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMFA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMIA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSSF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSSFA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHUMI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHUMIA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLSMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLSMIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLSSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLSSIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLUMI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLUMIA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLUMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLUMIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLUSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWLUSIANW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMF,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMFA,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMFAA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMFAN,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMI,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMIA,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMIAA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSMIAN,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSSFAA,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSSF,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSSFA,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSSFAA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWSSFAN,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWUMI,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWUMIA,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWUMIAA,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWUMIAN,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVNAND,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVNOR,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVOR,                        RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVORC,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVRLW,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSLW,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSRWS,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSRWU,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTDDX,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTDHX,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTDWX,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWHEX,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWHOX,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWWEX,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWWOX,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSUBFW,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVXOR,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVABS,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVADDSMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVADDSSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVADDUMIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVADDUSIAAW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVCNTLSW,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVCNTLZW,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVEXTSB,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVEXTSH,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSABS,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCFSF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCFSI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCFUF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCFUI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCTSF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCTSI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCTSIZ,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCTUF,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCTUI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCTUIZ,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSNABS,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSNEG,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMRA,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVNEG,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVRNDW,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSUBFSMIAAW,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSUBFSSIAAW,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSUBFUMIAAW,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSUBFUSIAAW,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVADDIW,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLDD,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLDH,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLDW,                       RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLHHESPLAT,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLHHOSSPLAT,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLHHOUSPLAT,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHE,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHOS,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHOU,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWHSPLAT,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVLWWSPLAT,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVRLWI,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSLWI,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSRWIS,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSRWIU,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTDD,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTDH,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTDW,                      RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWHE,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWHO,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWWE,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSTWWO,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSUBIFW,                    RS6000_BTC_MISC)

  /* Compares.  */
RS6000_BUILTIN(SPE_BUILTIN_EVCMPEQ,                     RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVCMPGTS,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVCMPGTU,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVCMPLTS,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVCMPLTU,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCMPEQ,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCMPGT,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSCMPLT,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSTSTEQ,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSTSTGT,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVFSTSTLT,                   RS6000_BTC_MISC)

/* EVSEL compares.  */
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_CMPEQ,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_CMPGTS,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_CMPGTU,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_CMPLTS,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_CMPLTU,                RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_FSCMPEQ,               RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_FSCMPGT,               RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_FSCMPLT,               RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_FSTSTEQ,               RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_FSTSTGT,               RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSEL_FSTSTLT,               RS6000_BTC_MISC)

RS6000_BUILTIN(SPE_BUILTIN_EVSPLATFI,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVSPLATI,                    RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSSMAA,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMFAA,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMIAA,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHUSIAA,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHUMIAA,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSSFAN,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSSIAN,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMFAN,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHSMIAN,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHUSIAN,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHUMIAN,                  RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGSSFAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGSMFAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGSMIAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGUMIAA,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGSSFAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGSMFAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGSMIAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_EVMWHGUMIAN,                 RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_MTSPEFSCR,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_MFSPEFSCR,                   RS6000_BTC_MISC)
RS6000_BUILTIN(SPE_BUILTIN_BRINC,                       RS6000_BTC_MISC)

/* PAIRED builtins.  */
RS6000_BUILTIN(PAIRED_BUILTIN_DIVV2SF3,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_ABSV2SF2,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_NEGV2SF2,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_SQRTV2SF2,                RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_ADDV2SF3,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_SUBV2SF3,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_RESV2SF2,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MULV2SF3,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MSUB,                     RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MADD,                     RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_NMSUB,                    RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_NMADD,                    RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_NABSV2SF2,                RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_SUM0,                     RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_SUM1,                     RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MULS0,                    RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MULS1,                    RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MERGE00,                  RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MERGE01,                  RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MERGE10,                  RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MERGE11,                  RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MADDS0,                   RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_MADDS1,                   RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_STX,                      RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_LX,                       RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_SELV2SF4,                 RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_CMPU0,                    RS6000_BTC_MISC)
RS6000_BUILTIN(PAIRED_BUILTIN_CMPU1,                    RS6000_BTC_MISC)

  /* VSX builtins.  */
RS6000_BUILTIN(VSX_BUILTIN_LXSDX,                       RS6000_BTC_MEM)
RS6000_BUILTIN(VSX_BUILTIN_LXVD2X,                      RS6000_BTC_MEM)
RS6000_BUILTIN(VSX_BUILTIN_LXVDSX,                      RS6000_BTC_MEM)
RS6000_BUILTIN(VSX_BUILTIN_LXVW4X,                      RS6000_BTC_MEM)
RS6000_BUILTIN(VSX_BUILTIN_STXSDX,                      RS6000_BTC_MEM)
RS6000_BUILTIN(VSX_BUILTIN_STXVD2X,                     RS6000_BTC_MEM)
RS6000_BUILTIN(VSX_BUILTIN_STXVW4X,                     RS6000_BTC_MEM)
RS6000_BUILTIN(VSX_BUILTIN_XSABSDP,                     RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XSADDDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCMPODP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCMPUDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCPSGNDP,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XSCVDPSP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCVDPSXDS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCVDPSXWS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCVDPUXDS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCVDPUXWS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCVSPDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCVSXDDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSCVUXDDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSDIVDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMADDADP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMADDMDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMAXDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMINDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMOVDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMSUBADP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMSUBMDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSMULDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSNABSDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSNEGDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSNMADDADP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSNMADDMDP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSNMSUBADP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSNMSUBMDP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSRDPI,                      RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSRDPIC,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSRDPIM,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSRDPIP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSRDPIZ,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSREDP,                      RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSRSQRTEDP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSSQRTDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSSUBDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_CPSGNDP,                     RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_CPSGNSP,                     RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XSTDIVDP_FE,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSTDIVDP_FG,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSTSQRTDP_FE,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XSTSQRTDP_FG,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVABSDP,                     RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XVABSSP,                     RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XVADDDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVADDSP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPEQDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPEQSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGEDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGESP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGTDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGTSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPEQDP_P,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPEQSP_P,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGEDP_P,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGESP_P,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGTDP_P,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCMPGTSP_P,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCPSGNDP,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XVCPSGNSP,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XVCVDPSP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVDPSXDS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVDPSXWS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVDPUXDS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVDPUXDS_UNS,              RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVDPUXWS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSPDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSPSXDS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSPSXWS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSPUXDS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSPUXWS,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSXDDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSXDSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSXWDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVSXWSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVUXDDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVUXDDP_UNS,               RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVUXDSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVUXWDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVCVUXWSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVDIVDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVDIVSP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMADDDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMADDSP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMAXDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMAXSP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMINDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMINSP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMSUBDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMSUBSP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMULDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVMULSP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNABSDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNABSSP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNEGDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNEGSP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNMADDDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNMADDSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNMSUBDP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVNMSUBSP,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRDPI,                      RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRDPIC,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRDPIM,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRDPIP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRDPIZ,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVREDP,                      RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRESP,                      RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRSPI,                      RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRSPIC,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRSPIM,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRSPIP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRSPIZ,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRSQRTEDP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVRSQRTESP,                  RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVSQRTDP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVSQRTSP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVSUBDP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVSUBSP,                     RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTDIVDP_FE,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTDIVDP_FG,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTDIVSP_FE,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTDIVSP_FG,                 RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTSQRTDP_FE,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTSQRTDP_FG,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTSQRTSP_FE,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XVTSQRTSP_FG,                RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_2DI,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_2DF,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_4SI,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_4SF,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_8HI,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_16QI,                  RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_2DI_UNS,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_4SI_UNS,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_8HI_UNS,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSEL_16QI_UNS,              RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_2DI,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_2DF,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_4SI,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_4SF,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_8HI,                   RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_16QI,                  RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_2DI_UNS,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_4SI_UNS,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_8HI_UNS,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VPERM_16QI_UNS,              RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXPERMDI_2DF,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXPERMDI_2DI,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXPERMDI_4SF,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXPERMDI_4SI,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXPERMDI_8HI,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXPERMDI_16QI,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_CONCAT_2DF,                  RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_CONCAT_2DI,                  RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_SET_2DF,                     RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_SET_2DI,                     RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_SPLAT_2DF,                   RS6000_BTC_PURE)
RS6000_BUILTIN(VSX_BUILTIN_SPLAT_2DI,                   RS6000_BTC_PURE)
RS6000_BUILTIN(VSX_BUILTIN_XXMRGHW_4SF,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXMRGHW_4SI,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXMRGLW_4SF,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXMRGLW_4SI,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSLDWI_16QI,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSLDWI_8HI,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSLDWI_4SI,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSLDWI_4SF,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSLDWI_2DI,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_XXSLDWI_2DF,                 RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_INIT_V2DF,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_INIT_V2DI,               RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_SET_V2DF,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_SET_V2DI,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_EXT_V2DF,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_EXT_V2DI,                RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_MERGEL_V2DF,             RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_MERGEL_V2DI,             RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_MERGEH_V2DF,             RS6000_BTC_CONST)
RS6000_BUILTIN(VSX_BUILTIN_VEC_MERGEH_V2DI,             RS6000_BTC_CONST)

/* VSX overloaded builtins, add the overloaded functions not present in
   Altivec.  */
RS6000_BUILTIN(VSX_BUILTIN_VEC_MUL,                     RS6000_BTC_MISC)
RS6000_BUILTIN_EQUATE(VSX_BUILTIN_OVERLOADED_FIRST,
                      VSX_BUILTIN_VEC_MUL)
RS6000_BUILTIN(VSX_BUILTIN_VEC_MSUB,                    RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_NMADD,                   RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUITLIN_VEC_NMSUB,                   RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_DIV,                     RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_XXMRGHW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_XXMRGLW,                 RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_XXPERMDI,                RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_XXSLDWI,                 RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_XXSPLTD,                 RS6000_BTC_MISC)
RS6000_BUILTIN(VSX_BUILTIN_VEC_XXSPLTW,                 RS6000_BTC_MISC)
RS6000_BUILTIN_EQUATE(VSX_BUILTIN_OVERLOADED_LAST,
                      VSX_BUILTIN_VEC_XXSPLTW)

/* Combined VSX/Altivec builtins.  */
RS6000_BUILTIN(VECTOR_BUILTIN_FLOAT_V4SI_V4SF,          RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VECTOR_BUILTIN_UNSFLOAT_V4SI_V4SF,       RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VECTOR_BUILTIN_FIX_V4SF_V4SI,            RS6000_BTC_FP_PURE)
RS6000_BUILTIN(VECTOR_BUILTIN_FIXUNS_V4SF_V4SI,         RS6000_BTC_FP_PURE)

/* Power7 builtins, that aren't VSX instructions.  */
RS6000_BUILTIN(POWER7_BUILTIN_BPERMD,                   RS6000_BTC_CONST)

/* Miscellaneous builtins.  */
RS6000_BUILTIN(RS6000_BUILTIN_RECIP,                    RS6000_BTC_FP_PURE)
RS6000_BUILTIN(RS6000_BUILTIN_RECIPF,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(RS6000_BUILTIN_RSQRTF,                   RS6000_BTC_FP_PURE)
RS6000_BUILTIN(RS6000_BUILTIN_BSWAP_HI,                 RS6000_BTC_CONST)

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.