Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
1c9df37c
Commit
1c9df37c
authored
Oct 15, 2009
by
Michael Meissner
Committed by
Michael Meissner
Oct 15, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix 23983, add proper attributes to the altivec/vsx builtins
From-SVN: r152867
parent
9017096f
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1115 additions
and
958 deletions
+1115
-958
gcc/ChangeLog
+28
-0
gcc/config/rs6000/altivec.md
+1
-1
gcc/config/rs6000/predicates.md
+1
-1
gcc/config/rs6000/rs6000-builtin.def
+990
-0
gcc/config/rs6000/rs6000.c
+57
-1
gcc/config/rs6000/rs6000.h
+23
-952
gcc/config/rs6000/t-rs6000
+3
-0
gcc/testsuite/ChangeLog
+7
-0
gcc/testsuite/g++.dg/ext/altivec-2.C
+3
-1
gcc/testsuite/gcc.target/powerpc/altivec-4.c
+2
-2
No files found.
gcc/ChangeLog
View file @
1c9df37c
2009
-
10
-
15
Michael
Meissner
<
meissner
@
linux
.
vnet
.
ibm
.
com
>
PR
target
/
23983
*
config
/
rs6000
/
predicates
.
md
:
Update
copyright
year
.
*
config
/
rs6000
/
altivec
.
md
:
Ditto
.
*
config
/
rs6000
/
t
-
rs6000
(
TM_H
):
Add
rs6000
-
builtin
.
def
.
(
MD_INCLUDES
):
Add
a2
.
md
.
*
config
/
rs6000
/
rs6000
.
c
(
rs6000_builtin_decls
):
Change
RS6000_BUILTIN_COUNT
to
MAX_RS6000_BUILTINS
.
(
builtin_classify
):
New
static
vector
to
classify
various
builtins
to
get
the
tree
attributes
correct
.
(
def_builtin
):
Set
the
attributes
of
builtins
based
on
what
the
builtin
does
(
i
.
e
.
memory
operation
,
floating
point
,
saturation
need
special
attributes
,
others
are
pure
functions
).
*
config
/
rs6000
/
rs6000
.
h
(
enum
rs6000_btc
):
New
enum
to
classify
the
builtins
.
(
enum
rs6000_builtins
):
Include
rs6000
-
builtin
.
def
to
define
the
builtins
.
Change
the
end
marker
to
MAX_RS6000_BUILTINS
from
RS6000_BUILTIN_COUNT
.
(
rs6000_builtin_decls
):
Change
RS6000_BUILTIN_COUNT
to
MAX_RS6000_BUILTINS
.
*
config
/
rs6000
/
rs6000
-
builtin
.
def
:
New
file
that
combines
the
builtin
enumeration
name
and
attributes
.
2009
-
10
-
15
H
.
J
.
Lu
<
hongjiu
.
lu
@
intel
.
com
>
2009
-
10
-
15
H
.
J
.
Lu
<
hongjiu
.
lu
@
intel
.
com
>
*
config
/
i386
/
linux
.
h
(
ASM_SPEC
):
Add
--
32.
*
config
/
i386
/
linux
.
h
(
ASM_SPEC
):
Add
--
32.
gcc/config/rs6000/altivec.md
View file @
1c9df37c
;; AltiVec patterns.
;; AltiVec patterns.
;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
;; Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
, 2009
;; Free Software Foundation, Inc.
;; Free Software Foundation, Inc.
;; Contributed by Aldy Hernandez (aldy@quesejoda.com)
;; Contributed by Aldy Hernandez (aldy@quesejoda.com)
...
...
gcc/config/rs6000/predicates.md
View file @
1c9df37c
;; Predicate definitions for POWER and PowerPC.
;; Predicate definitions for POWER and PowerPC.
;; Copyright (C) 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Copyright (C) 2005, 2006, 2007, 2008
, 2009
Free Software Foundation, Inc.
;;
;;
;; This file is part of GCC.
;; This file is part of GCC.
;;
;;
...
...
gcc/config/rs6000/rs6000-builtin.def
0 → 100644
View file @
1c9df37c
/* Builtin functions for rs6000/powerpc.
Copyright (C) 2009
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)
/* 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)
gcc/config/rs6000/rs6000.c
View file @
1c9df37c
...
@@ -836,6 +836,21 @@ struct processor_costs ppca2_cost = {
...
@@ -836,6 +836,21 @@ struct processor_costs ppca2_cost = {
};
};
/* Table that classifies rs6000 builtin functions (pure, const, etc.). */
#undef RS6000_BUILTIN
#undef RS6000_BUILTIN_EQUATE
#define RS6000_BUILTIN(NAME, TYPE) TYPE,
#define RS6000_BUILTIN_EQUATE(NAME, VALUE)
static
const
enum
rs6000_btc
builtin_classify
[(
int
)
RS6000_BUILTIN_COUNT
]
=
{
#include "rs6000-builtin.def"
};
#undef RS6000_BUILTIN
#undef RS6000_BUILTIN_EQUATE
static
bool
rs6000_function_ok_for_sibcall
(
tree
,
tree
);
static
bool
rs6000_function_ok_for_sibcall
(
tree
,
tree
);
static
const
char
*
rs6000_invalid_within_doloop
(
const_rtx
);
static
const
char
*
rs6000_invalid_within_doloop
(
const_rtx
);
static
bool
rs6000_legitimate_address_p
(
enum
machine_mode
,
rtx
,
bool
);
static
bool
rs6000_legitimate_address_p
(
enum
machine_mode
,
rtx
,
bool
);
...
@@ -8494,13 +8509,54 @@ def_builtin (int mask, const char *name, tree type, int code)
...
@@ -8494,13 +8509,54 @@ def_builtin (int mask, const char *name, tree type, int code)
{
{
if
((
mask
&
target_flags
)
||
TARGET_PAIRED_FLOAT
)
if
((
mask
&
target_flags
)
||
TARGET_PAIRED_FLOAT
)
{
{
tree
t
;
if
(
rs6000_builtin_decls
[
code
])
if
(
rs6000_builtin_decls
[
code
])
fatal_error
(
"internal error: builtin function to %s already processed."
,
fatal_error
(
"internal error: builtin function to %s already processed."
,
name
);
name
);
rs6000_builtin_decls
[
code
]
=
rs6000_builtin_decls
[
code
]
=
t
=
add_builtin_function
(
name
,
type
,
code
,
BUILT_IN_MD
,
add_builtin_function
(
name
,
type
,
code
,
BUILT_IN_MD
,
NULL
,
NULL_TREE
);
NULL
,
NULL_TREE
);
gcc_assert
(
code
>=
0
&&
code
<
(
int
)
RS6000_BUILTIN_COUNT
);
switch
(
builtin_classify
[
code
])
{
default
:
gcc_unreachable
();
/* assume builtin can do anything. */
case
RS6000_BTC_MISC
:
break
;
/* const function, function only depends on the inputs. */
case
RS6000_BTC_CONST
:
TREE_CONSTANT
(
t
)
=
1
;
TREE_NOTHROW
(
t
)
=
1
;
break
;
/* pure function, function can read global memory. */
case
RS6000_BTC_PURE
:
DECL_PURE_P
(
t
)
=
1
;
TREE_NOTHROW
(
t
)
=
1
;
break
;
/* Function is a math function. If rounding mode is on, then treat
the function as not reading global memory, but it can have
arbitrary side effects. If it is off, then assume the function is
a const function. This mimics the ATTR_MATHFN_FPROUNDING
attribute in builtin-attribute.def that is used for the math
functions. */
case
RS6000_BTC_FP_PURE
:
TREE_NOTHROW
(
t
)
=
1
;
if
(
flag_rounding_math
)
{
DECL_PURE_P
(
t
)
=
1
;
DECL_IS_NOVOPS
(
t
)
=
1
;
}
else
TREE_CONSTANT
(
t
)
=
1
;
break
;
}
}
}
}
}
...
...
gcc/config/rs6000/rs6000.h
View file @
1c9df37c
...
@@ -2424,964 +2424,35 @@ extern int optimize;
...
@@ -2424,964 +2424,35 @@ extern int optimize;
extern
int
flag_expensive_optimizations
;
extern
int
flag_expensive_optimizations
;
extern
int
frame_pointer_needed
;
extern
int
frame_pointer_needed
;
/* Classification of the builtin functions to properly set the declaration tree
flags. */
enum
rs6000_btc
{
RS6000_BTC_MISC
,
/* assume builtin can do anything */
RS6000_BTC_CONST
,
/* builtin is a 'const' function. */
RS6000_BTC_PURE
,
/* builtin is a 'pure' function. */
RS6000_BTC_FP_PURE
/* builtin is 'pure' if rounding math. */
};
/* Convenience macros to document the instruction type. */
#define RS6000_BTC_MEM RS6000_BTC_MISC
/* load/store touches memory */
#define RS6000_BTC_SAT RS6000_BTC_MISC
/* VMX saturate sets VSCR register */
#undef RS6000_BUILTIN
#undef RS6000_BUILTIN_EQUATE
#define RS6000_BUILTIN(NAME, TYPE) NAME,
#define RS6000_BUILTIN_EQUATE(NAME, VALUE) NAME = VALUE,
enum
rs6000_builtins
enum
rs6000_builtins
{
{
/* AltiVec builtins. */
#include "rs6000-builtin.def"
ALTIVEC_BUILTIN_ST_INTERNAL_4si
,
ALTIVEC_BUILTIN_LD_INTERNAL_4si
,
ALTIVEC_BUILTIN_ST_INTERNAL_8hi
,
ALTIVEC_BUILTIN_LD_INTERNAL_8hi
,
ALTIVEC_BUILTIN_ST_INTERNAL_16qi
,
ALTIVEC_BUILTIN_LD_INTERNAL_16qi
,
ALTIVEC_BUILTIN_ST_INTERNAL_4sf
,
ALTIVEC_BUILTIN_LD_INTERNAL_4sf
,
ALTIVEC_BUILTIN_VADDUBM
,
ALTIVEC_BUILTIN_VADDUHM
,
ALTIVEC_BUILTIN_VADDUWM
,
ALTIVEC_BUILTIN_VADDFP
,
ALTIVEC_BUILTIN_VADDCUW
,
ALTIVEC_BUILTIN_VADDUBS
,
ALTIVEC_BUILTIN_VADDSBS
,
ALTIVEC_BUILTIN_VADDUHS
,
ALTIVEC_BUILTIN_VADDSHS
,
ALTIVEC_BUILTIN_VADDUWS
,
ALTIVEC_BUILTIN_VADDSWS
,
ALTIVEC_BUILTIN_VAND
,
ALTIVEC_BUILTIN_VANDC
,
ALTIVEC_BUILTIN_VAVGUB
,
ALTIVEC_BUILTIN_VAVGSB
,
ALTIVEC_BUILTIN_VAVGUH
,
ALTIVEC_BUILTIN_VAVGSH
,
ALTIVEC_BUILTIN_VAVGUW
,
ALTIVEC_BUILTIN_VAVGSW
,
ALTIVEC_BUILTIN_VCFUX
,
ALTIVEC_BUILTIN_VCFSX
,
ALTIVEC_BUILTIN_VCTSXS
,
ALTIVEC_BUILTIN_VCTUXS
,
ALTIVEC_BUILTIN_VCMPBFP
,
ALTIVEC_BUILTIN_VCMPEQUB
,
ALTIVEC_BUILTIN_VCMPEQUH
,
ALTIVEC_BUILTIN_VCMPEQUW
,
ALTIVEC_BUILTIN_VCMPEQFP
,
ALTIVEC_BUILTIN_VCMPGEFP
,
ALTIVEC_BUILTIN_VCMPGTUB
,
ALTIVEC_BUILTIN_VCMPGTSB
,
ALTIVEC_BUILTIN_VCMPGTUH
,
ALTIVEC_BUILTIN_VCMPGTSH
,
ALTIVEC_BUILTIN_VCMPGTUW
,
ALTIVEC_BUILTIN_VCMPGTSW
,
ALTIVEC_BUILTIN_VCMPGTFP
,
ALTIVEC_BUILTIN_VEXPTEFP
,
ALTIVEC_BUILTIN_VLOGEFP
,
ALTIVEC_BUILTIN_VMADDFP
,
ALTIVEC_BUILTIN_VMAXUB
,
ALTIVEC_BUILTIN_VMAXSB
,
ALTIVEC_BUILTIN_VMAXUH
,
ALTIVEC_BUILTIN_VMAXSH
,
ALTIVEC_BUILTIN_VMAXUW
,
ALTIVEC_BUILTIN_VMAXSW
,
ALTIVEC_BUILTIN_VMAXFP
,
ALTIVEC_BUILTIN_VMHADDSHS
,
ALTIVEC_BUILTIN_VMHRADDSHS
,
ALTIVEC_BUILTIN_VMLADDUHM
,
ALTIVEC_BUILTIN_VMRGHB
,
ALTIVEC_BUILTIN_VMRGHH
,
ALTIVEC_BUILTIN_VMRGHW
,
ALTIVEC_BUILTIN_VMRGLB
,
ALTIVEC_BUILTIN_VMRGLH
,
ALTIVEC_BUILTIN_VMRGLW
,
ALTIVEC_BUILTIN_VMSUMUBM
,
ALTIVEC_BUILTIN_VMSUMMBM
,
ALTIVEC_BUILTIN_VMSUMUHM
,
ALTIVEC_BUILTIN_VMSUMSHM
,
ALTIVEC_BUILTIN_VMSUMUHS
,
ALTIVEC_BUILTIN_VMSUMSHS
,
ALTIVEC_BUILTIN_VMINUB
,
ALTIVEC_BUILTIN_VMINSB
,
ALTIVEC_BUILTIN_VMINUH
,
ALTIVEC_BUILTIN_VMINSH
,
ALTIVEC_BUILTIN_VMINUW
,
ALTIVEC_BUILTIN_VMINSW
,
ALTIVEC_BUILTIN_VMINFP
,
ALTIVEC_BUILTIN_VMULEUB
,
ALTIVEC_BUILTIN_VMULEUB_UNS
,
ALTIVEC_BUILTIN_VMULESB
,
ALTIVEC_BUILTIN_VMULEUH
,
ALTIVEC_BUILTIN_VMULEUH_UNS
,
ALTIVEC_BUILTIN_VMULESH
,
ALTIVEC_BUILTIN_VMULOUB
,
ALTIVEC_BUILTIN_VMULOUB_UNS
,
ALTIVEC_BUILTIN_VMULOSB
,
ALTIVEC_BUILTIN_VMULOUH
,
ALTIVEC_BUILTIN_VMULOUH_UNS
,
ALTIVEC_BUILTIN_VMULOSH
,
ALTIVEC_BUILTIN_VNMSUBFP
,
ALTIVEC_BUILTIN_VNOR
,
ALTIVEC_BUILTIN_VOR
,
ALTIVEC_BUILTIN_VSEL_2DF
,
/* needed for VSX */
ALTIVEC_BUILTIN_VSEL_2DI
,
/* needed for VSX */
ALTIVEC_BUILTIN_VSEL_4SI
,
ALTIVEC_BUILTIN_VSEL_4SF
,
ALTIVEC_BUILTIN_VSEL_8HI
,
ALTIVEC_BUILTIN_VSEL_16QI
,
ALTIVEC_BUILTIN_VSEL_2DI_UNS
,
ALTIVEC_BUILTIN_VSEL_4SI_UNS
,
ALTIVEC_BUILTIN_VSEL_8HI_UNS
,
ALTIVEC_BUILTIN_VSEL_16QI_UNS
,
ALTIVEC_BUILTIN_VPERM_2DF
,
/* needed for VSX */
ALTIVEC_BUILTIN_VPERM_2DI
,
/* needed for VSX */
ALTIVEC_BUILTIN_VPERM_4SI
,
ALTIVEC_BUILTIN_VPERM_4SF
,
ALTIVEC_BUILTIN_VPERM_8HI
,
ALTIVEC_BUILTIN_VPERM_16QI
,
ALTIVEC_BUILTIN_VPERM_2DI_UNS
,
ALTIVEC_BUILTIN_VPERM_4SI_UNS
,
ALTIVEC_BUILTIN_VPERM_8HI_UNS
,
ALTIVEC_BUILTIN_VPERM_16QI_UNS
,
ALTIVEC_BUILTIN_VPKUHUM
,
ALTIVEC_BUILTIN_VPKUWUM
,
ALTIVEC_BUILTIN_VPKPX
,
ALTIVEC_BUILTIN_VPKUHSS
,
ALTIVEC_BUILTIN_VPKSHSS
,
ALTIVEC_BUILTIN_VPKUWSS
,
ALTIVEC_BUILTIN_VPKSWSS
,
ALTIVEC_BUILTIN_VPKUHUS
,
ALTIVEC_BUILTIN_VPKSHUS
,
ALTIVEC_BUILTIN_VPKUWUS
,
ALTIVEC_BUILTIN_VPKSWUS
,
ALTIVEC_BUILTIN_VREFP
,
ALTIVEC_BUILTIN_VRFIM
,
ALTIVEC_BUILTIN_VRFIN
,
ALTIVEC_BUILTIN_VRFIP
,
ALTIVEC_BUILTIN_VRFIZ
,
ALTIVEC_BUILTIN_VRLB
,
ALTIVEC_BUILTIN_VRLH
,
ALTIVEC_BUILTIN_VRLW
,
ALTIVEC_BUILTIN_VRSQRTEFP
,
ALTIVEC_BUILTIN_VSLB
,
ALTIVEC_BUILTIN_VSLH
,
ALTIVEC_BUILTIN_VSLW
,
ALTIVEC_BUILTIN_VSL
,
ALTIVEC_BUILTIN_VSLO
,
ALTIVEC_BUILTIN_VSPLTB
,
ALTIVEC_BUILTIN_VSPLTH
,
ALTIVEC_BUILTIN_VSPLTW
,
ALTIVEC_BUILTIN_VSPLTISB
,
ALTIVEC_BUILTIN_VSPLTISH
,
ALTIVEC_BUILTIN_VSPLTISW
,
ALTIVEC_BUILTIN_VSRB
,
ALTIVEC_BUILTIN_VSRH
,
ALTIVEC_BUILTIN_VSRW
,
ALTIVEC_BUILTIN_VSRAB
,
ALTIVEC_BUILTIN_VSRAH
,
ALTIVEC_BUILTIN_VSRAW
,
ALTIVEC_BUILTIN_VSR
,
ALTIVEC_BUILTIN_VSRO
,
ALTIVEC_BUILTIN_VSUBUBM
,
ALTIVEC_BUILTIN_VSUBUHM
,
ALTIVEC_BUILTIN_VSUBUWM
,
ALTIVEC_BUILTIN_VSUBFP
,
ALTIVEC_BUILTIN_VSUBCUW
,
ALTIVEC_BUILTIN_VSUBUBS
,
ALTIVEC_BUILTIN_VSUBSBS
,
ALTIVEC_BUILTIN_VSUBUHS
,
ALTIVEC_BUILTIN_VSUBSHS
,
ALTIVEC_BUILTIN_VSUBUWS
,
ALTIVEC_BUILTIN_VSUBSWS
,
ALTIVEC_BUILTIN_VSUM4UBS
,
ALTIVEC_BUILTIN_VSUM4SBS
,
ALTIVEC_BUILTIN_VSUM4SHS
,
ALTIVEC_BUILTIN_VSUM2SWS
,
ALTIVEC_BUILTIN_VSUMSWS
,
ALTIVEC_BUILTIN_VXOR
,
ALTIVEC_BUILTIN_VSLDOI_16QI
,
ALTIVEC_BUILTIN_VSLDOI_8HI
,
ALTIVEC_BUILTIN_VSLDOI_4SI
,
ALTIVEC_BUILTIN_VSLDOI_4SF
,
ALTIVEC_BUILTIN_VUPKHSB
,
ALTIVEC_BUILTIN_VUPKHPX
,
ALTIVEC_BUILTIN_VUPKHSH
,
ALTIVEC_BUILTIN_VUPKLSB
,
ALTIVEC_BUILTIN_VUPKLPX
,
ALTIVEC_BUILTIN_VUPKLSH
,
ALTIVEC_BUILTIN_MTVSCR
,
ALTIVEC_BUILTIN_MFVSCR
,
ALTIVEC_BUILTIN_DSSALL
,
ALTIVEC_BUILTIN_DSS
,
ALTIVEC_BUILTIN_LVSL
,
ALTIVEC_BUILTIN_LVSR
,
ALTIVEC_BUILTIN_DSTT
,
ALTIVEC_BUILTIN_DSTST
,
ALTIVEC_BUILTIN_DSTSTT
,
ALTIVEC_BUILTIN_DST
,
ALTIVEC_BUILTIN_LVEBX
,
ALTIVEC_BUILTIN_LVEHX
,
ALTIVEC_BUILTIN_LVEWX
,
ALTIVEC_BUILTIN_LVXL
,
ALTIVEC_BUILTIN_LVX
,
ALTIVEC_BUILTIN_STVX
,
ALTIVEC_BUILTIN_LVLX
,
ALTIVEC_BUILTIN_LVLXL
,
ALTIVEC_BUILTIN_LVRX
,
ALTIVEC_BUILTIN_LVRXL
,
ALTIVEC_BUILTIN_STVEBX
,
ALTIVEC_BUILTIN_STVEHX
,
ALTIVEC_BUILTIN_STVEWX
,
ALTIVEC_BUILTIN_STVXL
,
ALTIVEC_BUILTIN_STVLX
,
ALTIVEC_BUILTIN_STVLXL
,
ALTIVEC_BUILTIN_STVRX
,
ALTIVEC_BUILTIN_STVRXL
,
ALTIVEC_BUILTIN_VCMPBFP_P
,
ALTIVEC_BUILTIN_VCMPEQFP_P
,
ALTIVEC_BUILTIN_VCMPEQUB_P
,
ALTIVEC_BUILTIN_VCMPEQUH_P
,
ALTIVEC_BUILTIN_VCMPEQUW_P
,
ALTIVEC_BUILTIN_VCMPGEFP_P
,
ALTIVEC_BUILTIN_VCMPGTFP_P
,
ALTIVEC_BUILTIN_VCMPGTSB_P
,
ALTIVEC_BUILTIN_VCMPGTSH_P
,
ALTIVEC_BUILTIN_VCMPGTSW_P
,
ALTIVEC_BUILTIN_VCMPGTUB_P
,
ALTIVEC_BUILTIN_VCMPGTUH_P
,
ALTIVEC_BUILTIN_VCMPGTUW_P
,
ALTIVEC_BUILTIN_ABSS_V4SI
,
ALTIVEC_BUILTIN_ABSS_V8HI
,
ALTIVEC_BUILTIN_ABSS_V16QI
,
ALTIVEC_BUILTIN_ABS_V4SI
,
ALTIVEC_BUILTIN_ABS_V4SF
,
ALTIVEC_BUILTIN_ABS_V8HI
,
ALTIVEC_BUILTIN_ABS_V16QI
,
ALTIVEC_BUILTIN_MASK_FOR_LOAD
,
ALTIVEC_BUILTIN_MASK_FOR_STORE
,
ALTIVEC_BUILTIN_VEC_INIT_V4SI
,
ALTIVEC_BUILTIN_VEC_INIT_V8HI
,
ALTIVEC_BUILTIN_VEC_INIT_V16QI
,
ALTIVEC_BUILTIN_VEC_INIT_V4SF
,
ALTIVEC_BUILTIN_VEC_SET_V4SI
,
ALTIVEC_BUILTIN_VEC_SET_V8HI
,
ALTIVEC_BUILTIN_VEC_SET_V16QI
,
ALTIVEC_BUILTIN_VEC_SET_V4SF
,
ALTIVEC_BUILTIN_VEC_EXT_V4SI
,
ALTIVEC_BUILTIN_VEC_EXT_V8HI
,
ALTIVEC_BUILTIN_VEC_EXT_V16QI
,
ALTIVEC_BUILTIN_VEC_EXT_V4SF
,
ALTIVEC_BUILTIN_COPYSIGN_V4SF
,
/* Altivec overloaded builtins. */
ALTIVEC_BUILTIN_VCMPEQ_P
,
ALTIVEC_BUILTIN_OVERLOADED_FIRST
=
ALTIVEC_BUILTIN_VCMPEQ_P
,
ALTIVEC_BUILTIN_VCMPGT_P
,
ALTIVEC_BUILTIN_VCMPGE_P
,
ALTIVEC_BUILTIN_VEC_ABS
,
ALTIVEC_BUILTIN_VEC_ABSS
,
ALTIVEC_BUILTIN_VEC_ADD
,
ALTIVEC_BUILTIN_VEC_ADDC
,
ALTIVEC_BUILTIN_VEC_ADDS
,
ALTIVEC_BUILTIN_VEC_AND
,
ALTIVEC_BUILTIN_VEC_ANDC
,
ALTIVEC_BUILTIN_VEC_AVG
,
ALTIVEC_BUILTIN_VEC_EXTRACT
,
ALTIVEC_BUILTIN_VEC_CEIL
,
ALTIVEC_BUILTIN_VEC_CMPB
,
ALTIVEC_BUILTIN_VEC_CMPEQ
,
ALTIVEC_BUILTIN_VEC_CMPEQUB
,
ALTIVEC_BUILTIN_VEC_CMPEQUH
,
ALTIVEC_BUILTIN_VEC_CMPEQUW
,
ALTIVEC_BUILTIN_VEC_CMPGE
,
ALTIVEC_BUILTIN_VEC_CMPGT
,
ALTIVEC_BUILTIN_VEC_CMPLE
,
ALTIVEC_BUILTIN_VEC_CMPLT
,
ALTIVEC_BUILTIN_VEC_COPYSIGN
,
ALTIVEC_BUILTIN_VEC_CTF
,
ALTIVEC_BUILTIN_VEC_CTS
,
ALTIVEC_BUILTIN_VEC_CTU
,
ALTIVEC_BUILTIN_VEC_DST
,
ALTIVEC_BUILTIN_VEC_DSTST
,
ALTIVEC_BUILTIN_VEC_DSTSTT
,
ALTIVEC_BUILTIN_VEC_DSTT
,
ALTIVEC_BUILTIN_VEC_EXPTE
,
ALTIVEC_BUILTIN_VEC_FLOOR
,
ALTIVEC_BUILTIN_VEC_LD
,
ALTIVEC_BUILTIN_VEC_LDE
,
ALTIVEC_BUILTIN_VEC_LDL
,
ALTIVEC_BUILTIN_VEC_LOGE
,
ALTIVEC_BUILTIN_VEC_LVEBX
,
ALTIVEC_BUILTIN_VEC_LVEHX
,
ALTIVEC_BUILTIN_VEC_LVEWX
,
ALTIVEC_BUILTIN_VEC_LVLX
,
ALTIVEC_BUILTIN_VEC_LVLXL
,
ALTIVEC_BUILTIN_VEC_LVRX
,
ALTIVEC_BUILTIN_VEC_LVRXL
,
ALTIVEC_BUILTIN_VEC_LVSL
,
ALTIVEC_BUILTIN_VEC_LVSR
,
ALTIVEC_BUILTIN_VEC_MADD
,
ALTIVEC_BUILTIN_VEC_MADDS
,
ALTIVEC_BUILTIN_VEC_MAX
,
ALTIVEC_BUILTIN_VEC_MERGEH
,
ALTIVEC_BUILTIN_VEC_MERGEL
,
ALTIVEC_BUILTIN_VEC_MIN
,
ALTIVEC_BUILTIN_VEC_MLADD
,
ALTIVEC_BUILTIN_VEC_MPERM
,
ALTIVEC_BUILTIN_VEC_MRADDS
,
ALTIVEC_BUILTIN_VEC_MRGHB
,
ALTIVEC_BUILTIN_VEC_MRGHH
,
ALTIVEC_BUILTIN_VEC_MRGHW
,
ALTIVEC_BUILTIN_VEC_MRGLB
,
ALTIVEC_BUILTIN_VEC_MRGLH
,
ALTIVEC_BUILTIN_VEC_MRGLW
,
ALTIVEC_BUILTIN_VEC_MSUM
,
ALTIVEC_BUILTIN_VEC_MSUMS
,
ALTIVEC_BUILTIN_VEC_MTVSCR
,
ALTIVEC_BUILTIN_VEC_MULE
,
ALTIVEC_BUILTIN_VEC_MULO
,
ALTIVEC_BUILTIN_VEC_NEARBYINT
,
ALTIVEC_BUILTIN_VEC_NMSUB
,
ALTIVEC_BUILTIN_VEC_NOR
,
ALTIVEC_BUILTIN_VEC_OR
,
ALTIVEC_BUILTIN_VEC_PACK
,
ALTIVEC_BUILTIN_VEC_PACKPX
,
ALTIVEC_BUILTIN_VEC_PACKS
,
ALTIVEC_BUILTIN_VEC_PACKSU
,
ALTIVEC_BUILTIN_VEC_PERM
,
ALTIVEC_BUILTIN_VEC_RE
,
ALTIVEC_BUILTIN_VEC_RL
,
ALTIVEC_BUILTIN_VEC_RINT
,
ALTIVEC_BUILTIN_VEC_ROUND
,
ALTIVEC_BUILTIN_VEC_RSQRTE
,
ALTIVEC_BUILTIN_VEC_SEL
,
ALTIVEC_BUILTIN_VEC_SL
,
ALTIVEC_BUILTIN_VEC_SLD
,
ALTIVEC_BUILTIN_VEC_SLL
,
ALTIVEC_BUILTIN_VEC_SLO
,
ALTIVEC_BUILTIN_VEC_SPLAT
,
ALTIVEC_BUILTIN_VEC_SPLAT_S16
,
ALTIVEC_BUILTIN_VEC_SPLAT_S32
,
ALTIVEC_BUILTIN_VEC_SPLAT_S8
,
ALTIVEC_BUILTIN_VEC_SPLAT_U16
,
ALTIVEC_BUILTIN_VEC_SPLAT_U32
,
ALTIVEC_BUILTIN_VEC_SPLAT_U8
,
ALTIVEC_BUILTIN_VEC_SPLTB
,
ALTIVEC_BUILTIN_VEC_SPLTH
,
ALTIVEC_BUILTIN_VEC_SPLTW
,
ALTIVEC_BUILTIN_VEC_SQRT
,
ALTIVEC_BUILTIN_VEC_SR
,
ALTIVEC_BUILTIN_VEC_SRA
,
ALTIVEC_BUILTIN_VEC_SRL
,
ALTIVEC_BUILTIN_VEC_SRO
,
ALTIVEC_BUILTIN_VEC_ST
,
ALTIVEC_BUILTIN_VEC_STE
,
ALTIVEC_BUILTIN_VEC_STL
,
ALTIVEC_BUILTIN_VEC_STVEBX
,
ALTIVEC_BUILTIN_VEC_STVEHX
,
ALTIVEC_BUILTIN_VEC_STVEWX
,
ALTIVEC_BUILTIN_VEC_STVLX
,
ALTIVEC_BUILTIN_VEC_STVLXL
,
ALTIVEC_BUILTIN_VEC_STVRX
,
ALTIVEC_BUILTIN_VEC_STVRXL
,
ALTIVEC_BUILTIN_VEC_SUB
,
ALTIVEC_BUILTIN_VEC_SUBC
,
ALTIVEC_BUILTIN_VEC_SUBS
,
ALTIVEC_BUILTIN_VEC_SUM2S
,
ALTIVEC_BUILTIN_VEC_SUM4S
,
ALTIVEC_BUILTIN_VEC_SUMS
,
ALTIVEC_BUILTIN_VEC_TRUNC
,
ALTIVEC_BUILTIN_VEC_UNPACKH
,
ALTIVEC_BUILTIN_VEC_UNPACKL
,
ALTIVEC_BUILTIN_VEC_VADDFP
,
ALTIVEC_BUILTIN_VEC_VADDSBS
,
ALTIVEC_BUILTIN_VEC_VADDSHS
,
ALTIVEC_BUILTIN_VEC_VADDSWS
,
ALTIVEC_BUILTIN_VEC_VADDUBM
,
ALTIVEC_BUILTIN_VEC_VADDUBS
,
ALTIVEC_BUILTIN_VEC_VADDUHM
,
ALTIVEC_BUILTIN_VEC_VADDUHS
,
ALTIVEC_BUILTIN_VEC_VADDUWM
,
ALTIVEC_BUILTIN_VEC_VADDUWS
,
ALTIVEC_BUILTIN_VEC_VAVGSB
,
ALTIVEC_BUILTIN_VEC_VAVGSH
,
ALTIVEC_BUILTIN_VEC_VAVGSW
,
ALTIVEC_BUILTIN_VEC_VAVGUB
,
ALTIVEC_BUILTIN_VEC_VAVGUH
,
ALTIVEC_BUILTIN_VEC_VAVGUW
,
ALTIVEC_BUILTIN_VEC_VCFSX
,
ALTIVEC_BUILTIN_VEC_VCFUX
,
ALTIVEC_BUILTIN_VEC_VCMPEQFP
,
ALTIVEC_BUILTIN_VEC_VCMPEQUB
,
ALTIVEC_BUILTIN_VEC_VCMPEQUH
,
ALTIVEC_BUILTIN_VEC_VCMPEQUW
,
ALTIVEC_BUILTIN_VEC_VCMPGTFP
,
ALTIVEC_BUILTIN_VEC_VCMPGTSB
,
ALTIVEC_BUILTIN_VEC_VCMPGTSH
,
ALTIVEC_BUILTIN_VEC_VCMPGTSW
,
ALTIVEC_BUILTIN_VEC_VCMPGTUB
,
ALTIVEC_BUILTIN_VEC_VCMPGTUH
,
ALTIVEC_BUILTIN_VEC_VCMPGTUW
,
ALTIVEC_BUILTIN_VEC_VMAXFP
,
ALTIVEC_BUILTIN_VEC_VMAXSB
,
ALTIVEC_BUILTIN_VEC_VMAXSH
,
ALTIVEC_BUILTIN_VEC_VMAXSW
,
ALTIVEC_BUILTIN_VEC_VMAXUB
,
ALTIVEC_BUILTIN_VEC_VMAXUH
,
ALTIVEC_BUILTIN_VEC_VMAXUW
,
ALTIVEC_BUILTIN_VEC_VMINFP
,
ALTIVEC_BUILTIN_VEC_VMINSB
,
ALTIVEC_BUILTIN_VEC_VMINSH
,
ALTIVEC_BUILTIN_VEC_VMINSW
,
ALTIVEC_BUILTIN_VEC_VMINUB
,
ALTIVEC_BUILTIN_VEC_VMINUH
,
ALTIVEC_BUILTIN_VEC_VMINUW
,
ALTIVEC_BUILTIN_VEC_VMRGHB
,
ALTIVEC_BUILTIN_VEC_VMRGHH
,
ALTIVEC_BUILTIN_VEC_VMRGHW
,
ALTIVEC_BUILTIN_VEC_VMRGLB
,
ALTIVEC_BUILTIN_VEC_VMRGLH
,
ALTIVEC_BUILTIN_VEC_VMRGLW
,
ALTIVEC_BUILTIN_VEC_VMSUMMBM
,
ALTIVEC_BUILTIN_VEC_VMSUMSHM
,
ALTIVEC_BUILTIN_VEC_VMSUMSHS
,
ALTIVEC_BUILTIN_VEC_VMSUMUBM
,
ALTIVEC_BUILTIN_VEC_VMSUMUHM
,
ALTIVEC_BUILTIN_VEC_VMSUMUHS
,
ALTIVEC_BUILTIN_VEC_VMULESB
,
ALTIVEC_BUILTIN_VEC_VMULESH
,
ALTIVEC_BUILTIN_VEC_VMULEUB
,
ALTIVEC_BUILTIN_VEC_VMULEUH
,
ALTIVEC_BUILTIN_VEC_VMULOSB
,
ALTIVEC_BUILTIN_VEC_VMULOSH
,
ALTIVEC_BUILTIN_VEC_VMULOUB
,
ALTIVEC_BUILTIN_VEC_VMULOUH
,
ALTIVEC_BUILTIN_VEC_VPKSHSS
,
ALTIVEC_BUILTIN_VEC_VPKSHUS
,
ALTIVEC_BUILTIN_VEC_VPKSWSS
,
ALTIVEC_BUILTIN_VEC_VPKSWUS
,
ALTIVEC_BUILTIN_VEC_VPKUHUM
,
ALTIVEC_BUILTIN_VEC_VPKUHUS
,
ALTIVEC_BUILTIN_VEC_VPKUWUM
,
ALTIVEC_BUILTIN_VEC_VPKUWUS
,
ALTIVEC_BUILTIN_VEC_VRLB
,
ALTIVEC_BUILTIN_VEC_VRLH
,
ALTIVEC_BUILTIN_VEC_VRLW
,
ALTIVEC_BUILTIN_VEC_VSLB
,
ALTIVEC_BUILTIN_VEC_VSLH
,
ALTIVEC_BUILTIN_VEC_VSLW
,
ALTIVEC_BUILTIN_VEC_VSPLTB
,
ALTIVEC_BUILTIN_VEC_VSPLTH
,
ALTIVEC_BUILTIN_VEC_VSPLTW
,
ALTIVEC_BUILTIN_VEC_VSRAB
,
ALTIVEC_BUILTIN_VEC_VSRAH
,
ALTIVEC_BUILTIN_VEC_VSRAW
,
ALTIVEC_BUILTIN_VEC_VSRB
,
ALTIVEC_BUILTIN_VEC_VSRH
,
ALTIVEC_BUILTIN_VEC_VSRW
,
ALTIVEC_BUILTIN_VEC_VSUBFP
,
ALTIVEC_BUILTIN_VEC_VSUBSBS
,
ALTIVEC_BUILTIN_VEC_VSUBSHS
,
ALTIVEC_BUILTIN_VEC_VSUBSWS
,
ALTIVEC_BUILTIN_VEC_VSUBUBM
,
ALTIVEC_BUILTIN_VEC_VSUBUBS
,
ALTIVEC_BUILTIN_VEC_VSUBUHM
,
ALTIVEC_BUILTIN_VEC_VSUBUHS
,
ALTIVEC_BUILTIN_VEC_VSUBUWM
,
ALTIVEC_BUILTIN_VEC_VSUBUWS
,
ALTIVEC_BUILTIN_VEC_VSUM4SBS
,
ALTIVEC_BUILTIN_VEC_VSUM4SHS
,
ALTIVEC_BUILTIN_VEC_VSUM4UBS
,
ALTIVEC_BUILTIN_VEC_VUPKHPX
,
ALTIVEC_BUILTIN_VEC_VUPKHSB
,
ALTIVEC_BUILTIN_VEC_VUPKHSH
,
ALTIVEC_BUILTIN_VEC_VUPKLPX
,
ALTIVEC_BUILTIN_VEC_VUPKLSB
,
ALTIVEC_BUILTIN_VEC_VUPKLSH
,
ALTIVEC_BUILTIN_VEC_XOR
,
ALTIVEC_BUILTIN_VEC_STEP
,
ALTIVEC_BUILTIN_VEC_PROMOTE
,
ALTIVEC_BUILTIN_VEC_INSERT
,
ALTIVEC_BUILTIN_VEC_SPLATS
,
ALTIVEC_BUILTIN_OVERLOADED_LAST
=
ALTIVEC_BUILTIN_VEC_SPLATS
,
/* SPE builtins. */
SPE_BUILTIN_EVADDW
,
SPE_BUILTIN_EVAND
,
SPE_BUILTIN_EVANDC
,
SPE_BUILTIN_EVDIVWS
,
SPE_BUILTIN_EVDIVWU
,
SPE_BUILTIN_EVEQV
,
SPE_BUILTIN_EVFSADD
,
SPE_BUILTIN_EVFSDIV
,
SPE_BUILTIN_EVFSMUL
,
SPE_BUILTIN_EVFSSUB
,
SPE_BUILTIN_EVLDDX
,
SPE_BUILTIN_EVLDHX
,
SPE_BUILTIN_EVLDWX
,
SPE_BUILTIN_EVLHHESPLATX
,
SPE_BUILTIN_EVLHHOSSPLATX
,
SPE_BUILTIN_EVLHHOUSPLATX
,
SPE_BUILTIN_EVLWHEX
,
SPE_BUILTIN_EVLWHOSX
,
SPE_BUILTIN_EVLWHOUX
,
SPE_BUILTIN_EVLWHSPLATX
,
SPE_BUILTIN_EVLWWSPLATX
,
SPE_BUILTIN_EVMERGEHI
,
SPE_BUILTIN_EVMERGEHILO
,
SPE_BUILTIN_EVMERGELO
,
SPE_BUILTIN_EVMERGELOHI
,
SPE_BUILTIN_EVMHEGSMFAA
,
SPE_BUILTIN_EVMHEGSMFAN
,
SPE_BUILTIN_EVMHEGSMIAA
,
SPE_BUILTIN_EVMHEGSMIAN
,
SPE_BUILTIN_EVMHEGUMIAA
,
SPE_BUILTIN_EVMHEGUMIAN
,
SPE_BUILTIN_EVMHESMF
,
SPE_BUILTIN_EVMHESMFA
,
SPE_BUILTIN_EVMHESMFAAW
,
SPE_BUILTIN_EVMHESMFANW
,
SPE_BUILTIN_EVMHESMI
,
SPE_BUILTIN_EVMHESMIA
,
SPE_BUILTIN_EVMHESMIAAW
,
SPE_BUILTIN_EVMHESMIANW
,
SPE_BUILTIN_EVMHESSF
,
SPE_BUILTIN_EVMHESSFA
,
SPE_BUILTIN_EVMHESSFAAW
,
SPE_BUILTIN_EVMHESSFANW
,
SPE_BUILTIN_EVMHESSIAAW
,
SPE_BUILTIN_EVMHESSIANW
,
SPE_BUILTIN_EVMHEUMI
,
SPE_BUILTIN_EVMHEUMIA
,
SPE_BUILTIN_EVMHEUMIAAW
,
SPE_BUILTIN_EVMHEUMIANW
,
SPE_BUILTIN_EVMHEUSIAAW
,
SPE_BUILTIN_EVMHEUSIANW
,
SPE_BUILTIN_EVMHOGSMFAA
,
SPE_BUILTIN_EVMHOGSMFAN
,
SPE_BUILTIN_EVMHOGSMIAA
,
SPE_BUILTIN_EVMHOGSMIAN
,
SPE_BUILTIN_EVMHOGUMIAA
,
SPE_BUILTIN_EVMHOGUMIAN
,
SPE_BUILTIN_EVMHOSMF
,
SPE_BUILTIN_EVMHOSMFA
,
SPE_BUILTIN_EVMHOSMFAAW
,
SPE_BUILTIN_EVMHOSMFANW
,
SPE_BUILTIN_EVMHOSMI
,
SPE_BUILTIN_EVMHOSMIA
,
SPE_BUILTIN_EVMHOSMIAAW
,
SPE_BUILTIN_EVMHOSMIANW
,
SPE_BUILTIN_EVMHOSSF
,
SPE_BUILTIN_EVMHOSSFA
,
SPE_BUILTIN_EVMHOSSFAAW
,
SPE_BUILTIN_EVMHOSSFANW
,
SPE_BUILTIN_EVMHOSSIAAW
,
SPE_BUILTIN_EVMHOSSIANW
,
SPE_BUILTIN_EVMHOUMI
,
SPE_BUILTIN_EVMHOUMIA
,
SPE_BUILTIN_EVMHOUMIAAW
,
SPE_BUILTIN_EVMHOUMIANW
,
SPE_BUILTIN_EVMHOUSIAAW
,
SPE_BUILTIN_EVMHOUSIANW
,
SPE_BUILTIN_EVMWHSMF
,
SPE_BUILTIN_EVMWHSMFA
,
SPE_BUILTIN_EVMWHSMI
,
SPE_BUILTIN_EVMWHSMIA
,
SPE_BUILTIN_EVMWHSSF
,
SPE_BUILTIN_EVMWHSSFA
,
SPE_BUILTIN_EVMWHUMI
,
SPE_BUILTIN_EVMWHUMIA
,
SPE_BUILTIN_EVMWLSMIAAW
,
SPE_BUILTIN_EVMWLSMIANW
,
SPE_BUILTIN_EVMWLSSIAAW
,
SPE_BUILTIN_EVMWLSSIANW
,
SPE_BUILTIN_EVMWLUMI
,
SPE_BUILTIN_EVMWLUMIA
,
SPE_BUILTIN_EVMWLUMIAAW
,
SPE_BUILTIN_EVMWLUMIANW
,
SPE_BUILTIN_EVMWLUSIAAW
,
SPE_BUILTIN_EVMWLUSIANW
,
SPE_BUILTIN_EVMWSMF
,
SPE_BUILTIN_EVMWSMFA
,
SPE_BUILTIN_EVMWSMFAA
,
SPE_BUILTIN_EVMWSMFAN
,
SPE_BUILTIN_EVMWSMI
,
SPE_BUILTIN_EVMWSMIA
,
SPE_BUILTIN_EVMWSMIAA
,
SPE_BUILTIN_EVMWSMIAN
,
SPE_BUILTIN_EVMWHSSFAA
,
SPE_BUILTIN_EVMWSSF
,
SPE_BUILTIN_EVMWSSFA
,
SPE_BUILTIN_EVMWSSFAA
,
SPE_BUILTIN_EVMWSSFAN
,
SPE_BUILTIN_EVMWUMI
,
SPE_BUILTIN_EVMWUMIA
,
SPE_BUILTIN_EVMWUMIAA
,
SPE_BUILTIN_EVMWUMIAN
,
SPE_BUILTIN_EVNAND
,
SPE_BUILTIN_EVNOR
,
SPE_BUILTIN_EVOR
,
SPE_BUILTIN_EVORC
,
SPE_BUILTIN_EVRLW
,
SPE_BUILTIN_EVSLW
,
SPE_BUILTIN_EVSRWS
,
SPE_BUILTIN_EVSRWU
,
SPE_BUILTIN_EVSTDDX
,
SPE_BUILTIN_EVSTDHX
,
SPE_BUILTIN_EVSTDWX
,
SPE_BUILTIN_EVSTWHEX
,
SPE_BUILTIN_EVSTWHOX
,
SPE_BUILTIN_EVSTWWEX
,
SPE_BUILTIN_EVSTWWOX
,
SPE_BUILTIN_EVSUBFW
,
SPE_BUILTIN_EVXOR
,
SPE_BUILTIN_EVABS
,
SPE_BUILTIN_EVADDSMIAAW
,
SPE_BUILTIN_EVADDSSIAAW
,
SPE_BUILTIN_EVADDUMIAAW
,
SPE_BUILTIN_EVADDUSIAAW
,
SPE_BUILTIN_EVCNTLSW
,
SPE_BUILTIN_EVCNTLZW
,
SPE_BUILTIN_EVEXTSB
,
SPE_BUILTIN_EVEXTSH
,
SPE_BUILTIN_EVFSABS
,
SPE_BUILTIN_EVFSCFSF
,
SPE_BUILTIN_EVFSCFSI
,
SPE_BUILTIN_EVFSCFUF
,
SPE_BUILTIN_EVFSCFUI
,
SPE_BUILTIN_EVFSCTSF
,
SPE_BUILTIN_EVFSCTSI
,
SPE_BUILTIN_EVFSCTSIZ
,
SPE_BUILTIN_EVFSCTUF
,
SPE_BUILTIN_EVFSCTUI
,
SPE_BUILTIN_EVFSCTUIZ
,
SPE_BUILTIN_EVFSNABS
,
SPE_BUILTIN_EVFSNEG
,
SPE_BUILTIN_EVMRA
,
SPE_BUILTIN_EVNEG
,
SPE_BUILTIN_EVRNDW
,
SPE_BUILTIN_EVSUBFSMIAAW
,
SPE_BUILTIN_EVSUBFSSIAAW
,
SPE_BUILTIN_EVSUBFUMIAAW
,
SPE_BUILTIN_EVSUBFUSIAAW
,
SPE_BUILTIN_EVADDIW
,
SPE_BUILTIN_EVLDD
,
SPE_BUILTIN_EVLDH
,
SPE_BUILTIN_EVLDW
,
SPE_BUILTIN_EVLHHESPLAT
,
SPE_BUILTIN_EVLHHOSSPLAT
,
SPE_BUILTIN_EVLHHOUSPLAT
,
SPE_BUILTIN_EVLWHE
,
SPE_BUILTIN_EVLWHOS
,
SPE_BUILTIN_EVLWHOU
,
SPE_BUILTIN_EVLWHSPLAT
,
SPE_BUILTIN_EVLWWSPLAT
,
SPE_BUILTIN_EVRLWI
,
SPE_BUILTIN_EVSLWI
,
SPE_BUILTIN_EVSRWIS
,
SPE_BUILTIN_EVSRWIU
,
SPE_BUILTIN_EVSTDD
,
SPE_BUILTIN_EVSTDH
,
SPE_BUILTIN_EVSTDW
,
SPE_BUILTIN_EVSTWHE
,
SPE_BUILTIN_EVSTWHO
,
SPE_BUILTIN_EVSTWWE
,
SPE_BUILTIN_EVSTWWO
,
SPE_BUILTIN_EVSUBIFW
,
/* Compares. */
SPE_BUILTIN_EVCMPEQ
,
SPE_BUILTIN_EVCMPGTS
,
SPE_BUILTIN_EVCMPGTU
,
SPE_BUILTIN_EVCMPLTS
,
SPE_BUILTIN_EVCMPLTU
,
SPE_BUILTIN_EVFSCMPEQ
,
SPE_BUILTIN_EVFSCMPGT
,
SPE_BUILTIN_EVFSCMPLT
,
SPE_BUILTIN_EVFSTSTEQ
,
SPE_BUILTIN_EVFSTSTGT
,
SPE_BUILTIN_EVFSTSTLT
,
/* EVSEL compares. */
SPE_BUILTIN_EVSEL_CMPEQ
,
SPE_BUILTIN_EVSEL_CMPGTS
,
SPE_BUILTIN_EVSEL_CMPGTU
,
SPE_BUILTIN_EVSEL_CMPLTS
,
SPE_BUILTIN_EVSEL_CMPLTU
,
SPE_BUILTIN_EVSEL_FSCMPEQ
,
SPE_BUILTIN_EVSEL_FSCMPGT
,
SPE_BUILTIN_EVSEL_FSCMPLT
,
SPE_BUILTIN_EVSEL_FSTSTEQ
,
SPE_BUILTIN_EVSEL_FSTSTGT
,
SPE_BUILTIN_EVSEL_FSTSTLT
,
SPE_BUILTIN_EVSPLATFI
,
SPE_BUILTIN_EVSPLATI
,
SPE_BUILTIN_EVMWHSSMAA
,
SPE_BUILTIN_EVMWHSMFAA
,
SPE_BUILTIN_EVMWHSMIAA
,
SPE_BUILTIN_EVMWHUSIAA
,
SPE_BUILTIN_EVMWHUMIAA
,
SPE_BUILTIN_EVMWHSSFAN
,
SPE_BUILTIN_EVMWHSSIAN
,
SPE_BUILTIN_EVMWHSMFAN
,
SPE_BUILTIN_EVMWHSMIAN
,
SPE_BUILTIN_EVMWHUSIAN
,
SPE_BUILTIN_EVMWHUMIAN
,
SPE_BUILTIN_EVMWHGSSFAA
,
SPE_BUILTIN_EVMWHGSMFAA
,
SPE_BUILTIN_EVMWHGSMIAA
,
SPE_BUILTIN_EVMWHGUMIAA
,
SPE_BUILTIN_EVMWHGSSFAN
,
SPE_BUILTIN_EVMWHGSMFAN
,
SPE_BUILTIN_EVMWHGSMIAN
,
SPE_BUILTIN_EVMWHGUMIAN
,
SPE_BUILTIN_MTSPEFSCR
,
SPE_BUILTIN_MFSPEFSCR
,
SPE_BUILTIN_BRINC
,
/* PAIRED builtins. */
PAIRED_BUILTIN_DIVV2SF3
,
PAIRED_BUILTIN_ABSV2SF2
,
PAIRED_BUILTIN_NEGV2SF2
,
PAIRED_BUILTIN_SQRTV2SF2
,
PAIRED_BUILTIN_ADDV2SF3
,
PAIRED_BUILTIN_SUBV2SF3
,
PAIRED_BUILTIN_RESV2SF2
,
PAIRED_BUILTIN_MULV2SF3
,
PAIRED_BUILTIN_MSUB
,
PAIRED_BUILTIN_MADD
,
PAIRED_BUILTIN_NMSUB
,
PAIRED_BUILTIN_NMADD
,
PAIRED_BUILTIN_NABSV2SF2
,
PAIRED_BUILTIN_SUM0
,
PAIRED_BUILTIN_SUM1
,
PAIRED_BUILTIN_MULS0
,
PAIRED_BUILTIN_MULS1
,
PAIRED_BUILTIN_MERGE00
,
PAIRED_BUILTIN_MERGE01
,
PAIRED_BUILTIN_MERGE10
,
PAIRED_BUILTIN_MERGE11
,
PAIRED_BUILTIN_MADDS0
,
PAIRED_BUILTIN_MADDS1
,
PAIRED_BUILTIN_STX
,
PAIRED_BUILTIN_LX
,
PAIRED_BUILTIN_SELV2SF4
,
PAIRED_BUILTIN_CMPU0
,
PAIRED_BUILTIN_CMPU1
,
RS6000_BUILTIN_RECIP
,
RS6000_BUILTIN_RECIPF
,
RS6000_BUILTIN_RSQRTF
,
RS6000_BUILTIN_BSWAP_HI
,
/* VSX builtins. */
VSX_BUILTIN_LXSDX
,
VSX_BUILTIN_LXVD2X
,
VSX_BUILTIN_LXVDSX
,
VSX_BUILTIN_LXVW4X
,
VSX_BUILTIN_STXSDX
,
VSX_BUILTIN_STXVD2X
,
VSX_BUILTIN_STXVW4X
,
VSX_BUILTIN_XSABSDP
,
VSX_BUILTIN_XSADDDP
,
VSX_BUILTIN_XSCMPODP
,
VSX_BUILTIN_XSCMPUDP
,
VSX_BUILTIN_XSCPSGNDP
,
VSX_BUILTIN_XSCVDPSP
,
VSX_BUILTIN_XSCVDPSXDS
,
VSX_BUILTIN_XSCVDPSXWS
,
VSX_BUILTIN_XSCVDPUXDS
,
VSX_BUILTIN_XSCVDPUXWS
,
VSX_BUILTIN_XSCVSPDP
,
VSX_BUILTIN_XSCVSXDDP
,
VSX_BUILTIN_XSCVUXDDP
,
VSX_BUILTIN_XSDIVDP
,
VSX_BUILTIN_XSMADDADP
,
VSX_BUILTIN_XSMADDMDP
,
VSX_BUILTIN_XSMAXDP
,
VSX_BUILTIN_XSMINDP
,
VSX_BUILTIN_XSMOVDP
,
VSX_BUILTIN_XSMSUBADP
,
VSX_BUILTIN_XSMSUBMDP
,
VSX_BUILTIN_XSMULDP
,
VSX_BUILTIN_XSNABSDP
,
VSX_BUILTIN_XSNEGDP
,
VSX_BUILTIN_XSNMADDADP
,
VSX_BUILTIN_XSNMADDMDP
,
VSX_BUILTIN_XSNMSUBADP
,
VSX_BUILTIN_XSNMSUBMDP
,
VSX_BUILTIN_XSRDPI
,
VSX_BUILTIN_XSRDPIC
,
VSX_BUILTIN_XSRDPIM
,
VSX_BUILTIN_XSRDPIP
,
VSX_BUILTIN_XSRDPIZ
,
VSX_BUILTIN_XSREDP
,
VSX_BUILTIN_XSRSQRTEDP
,
VSX_BUILTIN_XSSQRTDP
,
VSX_BUILTIN_XSSUBDP
,
VSX_BUILTIN_CPSGNDP
,
VSX_BUILTIN_CPSGNSP
,
VSX_BUILTIN_XSTDIVDP_FE
,
VSX_BUILTIN_XSTDIVDP_FG
,
VSX_BUILTIN_XSTSQRTDP_FE
,
VSX_BUILTIN_XSTSQRTDP_FG
,
VSX_BUILTIN_XVABSDP
,
VSX_BUILTIN_XVABSSP
,
VSX_BUILTIN_XVADDDP
,
VSX_BUILTIN_XVADDSP
,
VSX_BUILTIN_XVCMPEQDP
,
VSX_BUILTIN_XVCMPEQSP
,
VSX_BUILTIN_XVCMPGEDP
,
VSX_BUILTIN_XVCMPGESP
,
VSX_BUILTIN_XVCMPGTDP
,
VSX_BUILTIN_XVCMPGTSP
,
VSX_BUILTIN_XVCMPEQDP_P
,
VSX_BUILTIN_XVCMPEQSP_P
,
VSX_BUILTIN_XVCMPGEDP_P
,
VSX_BUILTIN_XVCMPGESP_P
,
VSX_BUILTIN_XVCMPGTDP_P
,
VSX_BUILTIN_XVCMPGTSP_P
,
VSX_BUILTIN_XVCPSGNDP
,
VSX_BUILTIN_XVCPSGNSP
,
VSX_BUILTIN_XVCVDPSP
,
VSX_BUILTIN_XVCVDPSXDS
,
VSX_BUILTIN_XVCVDPSXWS
,
VSX_BUILTIN_XVCVDPUXDS
,
VSX_BUILTIN_XVCVDPUXDS_UNS
,
VSX_BUILTIN_XVCVDPUXWS
,
VSX_BUILTIN_XVCVSPDP
,
VSX_BUILTIN_XVCVSPSXDS
,
VSX_BUILTIN_XVCVSPSXWS
,
VSX_BUILTIN_XVCVSPUXDS
,
VSX_BUILTIN_XVCVSPUXWS
,
VSX_BUILTIN_XVCVSXDDP
,
VSX_BUILTIN_XVCVSXDSP
,
VSX_BUILTIN_XVCVSXWDP
,
VSX_BUILTIN_XVCVSXWSP
,
VSX_BUILTIN_XVCVUXDDP
,
VSX_BUILTIN_XVCVUXDDP_UNS
,
VSX_BUILTIN_XVCVUXDSP
,
VSX_BUILTIN_XVCVUXWDP
,
VSX_BUILTIN_XVCVUXWSP
,
VSX_BUILTIN_XVDIVDP
,
VSX_BUILTIN_XVDIVSP
,
VSX_BUILTIN_XVMADDDP
,
VSX_BUILTIN_XVMADDSP
,
VSX_BUILTIN_XVMAXDP
,
VSX_BUILTIN_XVMAXSP
,
VSX_BUILTIN_XVMINDP
,
VSX_BUILTIN_XVMINSP
,
VSX_BUILTIN_XVMSUBDP
,
VSX_BUILTIN_XVMSUBSP
,
VSX_BUILTIN_XVMULDP
,
VSX_BUILTIN_XVMULSP
,
VSX_BUILTIN_XVNABSDP
,
VSX_BUILTIN_XVNABSSP
,
VSX_BUILTIN_XVNEGDP
,
VSX_BUILTIN_XVNEGSP
,
VSX_BUILTIN_XVNMADDDP
,
VSX_BUILTIN_XVNMADDSP
,
VSX_BUILTIN_XVNMSUBDP
,
VSX_BUILTIN_XVNMSUBSP
,
VSX_BUILTIN_XVRDPI
,
VSX_BUILTIN_XVRDPIC
,
VSX_BUILTIN_XVRDPIM
,
VSX_BUILTIN_XVRDPIP
,
VSX_BUILTIN_XVRDPIZ
,
VSX_BUILTIN_XVREDP
,
VSX_BUILTIN_XVRESP
,
VSX_BUILTIN_XVRSPI
,
VSX_BUILTIN_XVRSPIC
,
VSX_BUILTIN_XVRSPIM
,
VSX_BUILTIN_XVRSPIP
,
VSX_BUILTIN_XVRSPIZ
,
VSX_BUILTIN_XVRSQRTEDP
,
VSX_BUILTIN_XVRSQRTESP
,
VSX_BUILTIN_XVSQRTDP
,
VSX_BUILTIN_XVSQRTSP
,
VSX_BUILTIN_XVSUBDP
,
VSX_BUILTIN_XVSUBSP
,
VSX_BUILTIN_XVTDIVDP_FE
,
VSX_BUILTIN_XVTDIVDP_FG
,
VSX_BUILTIN_XVTDIVSP_FE
,
VSX_BUILTIN_XVTDIVSP_FG
,
VSX_BUILTIN_XVTSQRTDP_FE
,
VSX_BUILTIN_XVTSQRTDP_FG
,
VSX_BUILTIN_XVTSQRTSP_FE
,
VSX_BUILTIN_XVTSQRTSP_FG
,
VSX_BUILTIN_XXSEL_2DI
,
VSX_BUILTIN_XXSEL_2DF
,
VSX_BUILTIN_XXSEL_4SI
,
VSX_BUILTIN_XXSEL_4SF
,
VSX_BUILTIN_XXSEL_8HI
,
VSX_BUILTIN_XXSEL_16QI
,
VSX_BUILTIN_XXSEL_2DI_UNS
,
VSX_BUILTIN_XXSEL_4SI_UNS
,
VSX_BUILTIN_XXSEL_8HI_UNS
,
VSX_BUILTIN_XXSEL_16QI_UNS
,
VSX_BUILTIN_VPERM_2DI
,
VSX_BUILTIN_VPERM_2DF
,
VSX_BUILTIN_VPERM_4SI
,
VSX_BUILTIN_VPERM_4SF
,
VSX_BUILTIN_VPERM_8HI
,
VSX_BUILTIN_VPERM_16QI
,
VSX_BUILTIN_VPERM_2DI_UNS
,
VSX_BUILTIN_VPERM_4SI_UNS
,
VSX_BUILTIN_VPERM_8HI_UNS
,
VSX_BUILTIN_VPERM_16QI_UNS
,
VSX_BUILTIN_XXPERMDI_2DF
,
VSX_BUILTIN_XXPERMDI_2DI
,
VSX_BUILTIN_XXPERMDI_4SF
,
VSX_BUILTIN_XXPERMDI_4SI
,
VSX_BUILTIN_XXPERMDI_8HI
,
VSX_BUILTIN_XXPERMDI_16QI
,
VSX_BUILTIN_CONCAT_2DF
,
VSX_BUILTIN_CONCAT_2DI
,
VSX_BUILTIN_SET_2DF
,
VSX_BUILTIN_SET_2DI
,
VSX_BUILTIN_SPLAT_2DF
,
VSX_BUILTIN_SPLAT_2DI
,
VSX_BUILTIN_XXMRGHW_4SF
,
VSX_BUILTIN_XXMRGHW_4SI
,
VSX_BUILTIN_XXMRGLW_4SF
,
VSX_BUILTIN_XXMRGLW_4SI
,
VSX_BUILTIN_XXSLDWI_16QI
,
VSX_BUILTIN_XXSLDWI_8HI
,
VSX_BUILTIN_XXSLDWI_4SI
,
VSX_BUILTIN_XXSLDWI_4SF
,
VSX_BUILTIN_XXSLDWI_2DI
,
VSX_BUILTIN_XXSLDWI_2DF
,
VSX_BUILTIN_VEC_INIT_V2DF
,
VSX_BUILTIN_VEC_INIT_V2DI
,
VSX_BUILTIN_VEC_SET_V2DF
,
VSX_BUILTIN_VEC_SET_V2DI
,
VSX_BUILTIN_VEC_EXT_V2DF
,
VSX_BUILTIN_VEC_EXT_V2DI
,
/* VSX overloaded builtins, add the overloaded functions not present in
Altivec. */
VSX_BUILTIN_VEC_MUL
,
VSX_BUILTIN_OVERLOADED_FIRST
=
VSX_BUILTIN_VEC_MUL
,
VSX_BUILTIN_VEC_MSUB
,
VSX_BUILTIN_VEC_NMADD
,
VSX_BUITLIN_VEC_NMSUB
,
VSX_BUILTIN_VEC_DIV
,
VSX_BUILTIN_VEC_XXMRGHW
,
VSX_BUILTIN_VEC_XXMRGLW
,
VSX_BUILTIN_VEC_XXPERMDI
,
VSX_BUILTIN_VEC_XXSLDWI
,
VSX_BUILTIN_VEC_XXSPLTD
,
VSX_BUILTIN_VEC_XXSPLTW
,
VSX_BUILTIN_OVERLOADED_LAST
=
VSX_BUILTIN_VEC_XXSPLTW
,
/* Combined VSX/Altivec builtins. */
VECTOR_BUILTIN_FLOAT_V4SI_V4SF
,
VECTOR_BUILTIN_UNSFLOAT_V4SI_V4SF
,
VECTOR_BUILTIN_FIX_V4SF_V4SI
,
VECTOR_BUILTIN_FIXUNS_V4SF_V4SI
,
/* Power7 builtins, that aren't VSX instructions. */
POWER7_BUILTIN_BPERMD
,
RS6000_BUILTIN_COUNT
RS6000_BUILTIN_COUNT
};
};
#undef RS6000_BUILTIN
#undef RS6000_BUILTIN_EQUATE
enum
rs6000_builtin_type_index
enum
rs6000_builtin_type_index
{
{
RS6000_BTI_NOT_OPAQUE
,
RS6000_BTI_NOT_OPAQUE
,
...
...
gcc/config/rs6000/t-rs6000
View file @
1c9df37c
...
@@ -19,6 +19,8 @@
...
@@ -19,6 +19,8 @@
# along with GCC; see the file COPYING3. If not see
# along with GCC; see the file COPYING3. If not see
# <http://www.gnu.org/licenses/>.
# <http://www.gnu.org/licenses/>.
TM_H += $(srcdir)/config/rs6000/rs6000-builtin.def
rs6000.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
rs6000.o: $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(RTL_H) $(REGS_H) hard-reg-set.h \
$(RTL_H) $(REGS_H) hard-reg-set.h \
real.h insn-config.h conditions.h insn-attr.h flags.h $(RECOG_H) \
real.h insn-config.h conditions.h insn-attr.h flags.h $(RECOG_H) \
...
@@ -56,6 +58,7 @@ MD_INCLUDES = $(srcdir)/config/rs6000/rios1.md \
...
@@ -56,6 +58,7 @@ MD_INCLUDES = $(srcdir)/config/rs6000/rios1.md \
$(srcdir)/config/rs6000/power7.md \
$(srcdir)/config/rs6000/power7.md \
$(srcdir)/config/rs6000/cell.md \
$(srcdir)/config/rs6000/cell.md \
$(srcdir)/config/rs6000/xfpu.md \
$(srcdir)/config/rs6000/xfpu.md \
$(srcdir)/config/rs6000/a2.md \
$(srcdir)/config/rs6000/predicates.md \
$(srcdir)/config/rs6000/predicates.md \
$(srcdir)/config/rs6000/constraints.md \
$(srcdir)/config/rs6000/constraints.md \
$(srcdir)/config/rs6000/darwin.md \
$(srcdir)/config/rs6000/darwin.md \
...
...
gcc/testsuite/ChangeLog
View file @
1c9df37c
2009-10-15 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/23983
* gcc.target/powerpc/altivec-4.c (b): Make sure altivec builtin
result used.
* g++.dg/ext/altivec-2.C (main): Ditto.
2009-10-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
2009-10-15 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* lib/target-supports.exp (add_options_for_bind_pic_locally): New.
* lib/target-supports.exp (add_options_for_bind_pic_locally): New.
...
...
gcc/testsuite/g++.dg/ext/altivec-2.C
View file @
1c9df37c
...
@@ -7,6 +7,8 @@
...
@@ -7,6 +7,8 @@
#include <altivec.h>
#include <altivec.h>
vector
unsigned
char
use_lvsl
;
int
main
(
int
argc
,
const
char
*
argv
[])
int
main
(
int
argc
,
const
char
*
argv
[])
{
{
int
i
=
0
;
int
i
=
0
;
...
@@ -17,7 +19,7 @@ int main (int argc, const char * argv[])
...
@@ -17,7 +19,7 @@ int main (int argc, const char * argv[])
vec_dst
(
&
cv
,
i
,
0
);
vec_dst
(
&
cv
,
i
,
0
);
v
=
vec_ld
(
0
,
&
cv
);
v
=
vec_ld
(
0
,
&
cv
);
v
=
vec_lde
(
0
,
&
cf
);
v
=
vec_lde
(
0
,
&
cf
);
vec_lvsl
(
0
,
&
cf
);
use_lvsl
=
vec_lvsl
(
0
,
&
cf
);
return
0
;
return
0
;
}
}
gcc/testsuite/gcc.target/powerpc/altivec-4.c
View file @
1c9df37c
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
#define vector __attribute__((vector_size(16)))
#define vector __attribute__((vector_size(16)))
static
int
vector
x
,
y
;
static
int
vector
x
,
y
,
z
;
static
vector
signed
int
i
,
j
;
static
vector
signed
int
i
,
j
;
static
vector
signed
short
s
,
t
;
static
vector
signed
short
s
,
t
;
...
@@ -20,7 +20,7 @@ static int int1, int2;
...
@@ -20,7 +20,7 @@ static int int1, int2;
void
void
b
()
b
()
{
{
__builtin_altivec_vadduwm
(
x
,
y
);
z
=
__builtin_altivec_vadduwm
(
x
,
y
);
/* Make sure the predicates accept correct argument types. */
/* Make sure the predicates accept correct argument types. */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment