diff options
author | Carl Love <cel@us.ibm.com> | 2017-07-31 15:42:01 +0000 |
---|---|---|
committer | Carl Love <carll@gcc.gnu.org> | 2017-07-31 15:42:01 +0000 |
commit | b40e941b534f01ff9e0428e54f0ea993be033420 (patch) | |
tree | d1795a6f388a107c0fd44c032da924ca239a2c2b /gcc/config/rs6000/rs6000-builtin.def | |
parent | 67779f742232506430930101187fddb47e564e5c (diff) | |
download | gcc-b40e941b534f01ff9e0428e54f0ea993be033420.zip gcc-b40e941b534f01ff9e0428e54f0ea993be033420.tar.gz gcc-b40e941b534f01ff9e0428e54f0ea993be033420.tar.bz2 |
rs6000-c: Add support for built-in functions vector signed char vec_xl_be (signed long...
gcc/ChangeLog:
2017-07-31 Carl Love <cel@us.ibm.com>
* config/rs6000/rs6000-c: Add support for built-in functions
vector signed char vec_xl_be (signed long long, signed char *);
vector unsigned char vec_xl_be (signed long long, unsigned char *);
vector signed int vec_xl_be (signed long long, signed int *);
vector unsigned int vec_xl_be (signed long long, unsigned int *);
vector signed long long vec_xl_be (signed long long, signed long long *);
vector unsigned long long vec_xl_be (signed long long, unsigned long long *);
vector signed short vec_xl_be (signed long long, signed short *);
vector unsigned short vec_xl_be (signed long long, unsigned short *);
vector double vec_xl_be (signed long long, double *);
vector float vec_xl_be (signed long long, float *);
* config/rs6000/altivec.h (vec_xl_be): Add #define.
* config/rs6000/rs6000-builtin.def (XL_BE_V16QI, XL_BE_V8HI, XL_BE_V4SI,
XL_BE_V2DI, XL_BE_V4SF, XL_BE_V2DF, XL_BE): Add definitions for the builtins.
* config/rs6000/rs6000.c (altivec_expand_xl_be_builtin): Add function.
(altivec_expand_builtin): Add switch statement to call altivec_expand_xl_be
for each builtin.
(altivec_init_builtins): Add def_builtin for _builtin_vsx_le_be_v8hi,
__builtin_vsx_le_be_v4si, __builtin_vsx_le_be_v2di, __builtin_vsx_le_be_v4sf,
__builtin_vsx_le_be_v2df, __builtin_vsx_le_be_v16qi.
* doc/extend.texi: Update the built-in documentation file for the
new built-in functions.
gcc/testsuite/ChangeLog:
2017-07-31 Carl Love <cel@us.ibm.com>
* gcc.target/powerpc/builtins-4-runnable.c: Add test cases for the
new builtins.
From-SVN: r250746
Diffstat (limited to 'gcc/config/rs6000/rs6000-builtin.def')
-rw-r--r-- | gcc/config/rs6000/rs6000-builtin.def | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/config/rs6000/rs6000-builtin.def b/gcc/config/rs6000/rs6000-builtin.def index a043e70..850164a 100644 --- a/gcc/config/rs6000/rs6000-builtin.def +++ b/gcc/config/rs6000/rs6000-builtin.def @@ -1735,6 +1735,14 @@ BU_VSX_X (LXVW4X_V4SF, "lxvw4x_v4sf", MEM) BU_VSX_X (LXVW4X_V4SI, "lxvw4x_v4si", MEM) BU_VSX_X (LXVW4X_V8HI, "lxvw4x_v8hi", MEM) BU_VSX_X (LXVW4X_V16QI, "lxvw4x_v16qi", MEM) + +BU_VSX_X (XL_BE_V16QI, "xl_be_v16qi", MEM) +BU_VSX_X (XL_BE_V8HI, "xl_be_v8hi", MEM) +BU_VSX_X (XL_BE_V4SI, "xl_be_v4si", MEM) +BU_VSX_X (XL_BE_V2DI, "xl_be_v2di", MEM) +BU_VSX_X (XL_BE_V4SF, "xl_be_v4sf", MEM) +BU_VSX_X (XL_BE_V2DF, "xl_be_v2df", MEM) + BU_VSX_X (STXSDX, "stxsdx", MEM) BU_VSX_X (STXVD2X_V1TI, "stxvd2x_v1ti", MEM) BU_VSX_X (STXVD2X_V2DF, "stxvd2x_v2df", MEM) @@ -1835,6 +1843,7 @@ BU_VSX_OVERLOAD_1 (VUNSIGNEDO, "vunsignedo") BU_VSX_OVERLOAD_X (LD, "ld") BU_VSX_OVERLOAD_X (ST, "st") BU_VSX_OVERLOAD_X (XL, "xl") +BU_VSX_OVERLOAD_X (XL_BE, "xl_be") BU_VSX_OVERLOAD_X (XST, "xst") /* 2 argument CMPB instructions added in ISA 2.05. */ |