aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorCarl Love <cel@us.ibm.com>2017-12-11 22:47:34 +0000
committerCarl Love <carll@gcc.gnu.org>2017-12-11 22:47:34 +0000
commit4ded4b230da2408bc6752ca4e4551204bebe806b (patch)
treeae73ea8b31136475fa92588f0693a5592a7fa797 /gcc/doc
parentb92977ee9fe46d0625d6c7a7fc63a9005753b892 (diff)
downloadgcc-4ded4b230da2408bc6752ca4e4551204bebe806b.zip
gcc-4ded4b230da2408bc6752ca4e4551204bebe806b.tar.gz
gcc-4ded4b230da2408bc6752ca4e4551204bebe806b.tar.bz2
altivec.h (vec_extract_fp32_from_shorth, [...]): Add #defines.
gcc/ChangeLog: 2017-12-11 Carl Love <cel@us.ibm.com> * config/rs6000/altivec.h (vec_extract_fp32_from_shorth, vec_extract_fp32_from_shortl]): Add #defines. * config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion. * config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND, ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL, ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SLL): Add expansions. * doc/extend.texi: Add documentation for the added builtins. gcc/testsuite/ChangeLog: 2017-12-11 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/altivec-7.c: Renamed altivec-7.h. * gcc.target/powerpc/altivec-7.h (main): Add testcases for vec_unpackl. Add dg-final tests for the instructions generated. * gcc.target/powerpc/altivec-7-be.c: New file to test on big endian. * gcc.target/powerpc/altivec-7-le.c: New file to test on little endian. * gcc.target/powerpc/altivec-13.c (foo): Add vec_sld, vec_srl, vec_sro testcases. Add dg-final tests for the instructions generated. * gcc.target/powerpc/builtins-3-p8.c (test_vsi_packs_vui, test_vsi_packs_vsi, test_vsi_packs_vssi, test_vsi_packs_vusi, test_vsi_packsu-vssi, test_vsi_packsu-vusi, test_vsi_packsu-vsll, test_vsi_packsu-vull, test_vsi_packsu-vsi, test_vsi_packsu-vui): Add testcases. Add dg-final tests for new instructions. * gcc.target/powerpc/p8vector-builtin-2.c (vbschar_eq, vbchar_eq, vuchar_eq, vbint_eq, vsint_eq, viint_eq, vuint_eq, vbool_eq, vbint_ne, vsint_ne, vuint_ne, vbool_ne, vsign_ne, vuns_ne, vbshort_ne): Add tests. Add dg-final instruction tests. * gcc.target/powerpc/vsx-vector-6.c: Renamed vsx-vector-6.h. * gcc.target/powerpc/vsx-vector-6.h (vec_andc,vec_nmsub, vec_nmadd, vec_or, vec_nor, vec_andc, vec_or, vec_andc, vec_msums): Add tests. Add dg-final tests for the generated instructions. * gcc.target/powerpc/builtins-3.c (test_sll_vsc_vsc_vsuc, test_sll_vuc_vuc, test_sll_vsi_vsi_vuc, test_sll_vui_vui_vuc, test_sll_vbll_vull, test_sll_vbll_vbll_vus, test_sll_vp_vp_vuc, test_sll_vssi_vssi_vuc, test_sll_vusi_vusi_vuc, test_slo_vsc_vsc_vsc, test_slo_vuc_vuc_vsc, test_slo_vsi_vsi_vsc, test_slo_vsi_vsi_vuc, test_slo_vui_vui_vsc, test_slo_vui_vui_vuc, test_slo_vsll_slo_vsll_vsc, test_slo_vsll_slo_vsll_vuc, test_slo_vull_slo_vull_vsc, test_slo_vull_slo_vull_vuc, test_slo_vp_vp_vsc, test_slo_vp_vp_vuc, test_slo_vssi_vssi_vsc, test_slo_vssi_vssi_vuc, test_slo_vusi_vusi_vsc, test_slo_vusi_vusi_vuc, test_slo_vusi_vusi_vuc, test_slo_vf_vf_vsc, test_slo_vf_vf_vuc, test_cmpb_float): Add tests. From-SVN: r255555
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/extend.texi50
1 files changed, 49 insertions, 1 deletions
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index ad4d9d3..57c436b 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -16388,6 +16388,8 @@ vector unsigned char vec_vaddubs (vector unsigned char,
vector float vec_and (vector float, vector float);
vector float vec_and (vector float, vector bool int);
vector float vec_and (vector bool int, vector float);
+vector bool long long vec_and (vector bool long long int,
+ vector bool long long);
vector bool int vec_and (vector bool int, vector bool int);
vector signed int vec_and (vector bool int, vector signed int);
vector signed int vec_and (vector signed int, vector bool int);
@@ -17382,6 +17384,13 @@ vector unsigned char vec_sld (vector unsigned char,
vector bool char vec_sld (vector bool char,
vector bool char,
const int);
+vector bool long long int vec_sld (vector bool long long int,
+ vector bool long long int, const int);
+vector long long int vec_sld (vector long long int,
+ vector long long int, const int);
+vector unsigned long long int vec_sld (vector unsigned long long int,
+ vector unsigned long long int,
+ const int);
vector signed char vec_sldw (vector signed char,
vector signed char,
@@ -17438,6 +17447,10 @@ vector unsigned short vec_sll (vector unsigned short,
vector unsigned short);
vector unsigned short vec_sll (vector unsigned short,
vector unsigned char);
+vector long long int vec_sll (vector long long int,
+ vector unsigned char);
+vector unsigned long long int vec_sll (vector unsigned long long int,
+ vector unsigned char);
vector bool short vec_sll (vector bool short, vector unsigned int);
vector bool short vec_sll (vector bool short, vector unsigned short);
vector bool short vec_sll (vector bool short, vector unsigned char);
@@ -17594,6 +17607,10 @@ vector unsigned short vec_srl (vector unsigned short,
vector unsigned short);
vector unsigned short vec_srl (vector unsigned short,
vector unsigned char);
+vector long long int vec_srl (vector long long int,
+ vector unsigned char);
+vector unsigned long long int vec_srl (vector unsigned long long int,
+ vector unsigned char);
vector bool short vec_srl (vector bool short, vector unsigned int);
vector bool short vec_srl (vector bool short, vector unsigned short);
vector bool short vec_srl (vector bool short, vector unsigned char);
@@ -17625,6 +17642,14 @@ vector unsigned short vec_sro (vector unsigned short,
vector signed char);
vector unsigned short vec_sro (vector unsigned short,
vector unsigned char);
+vector long long int vec_sro (vector long long int,
+ vector char);
+vector long long int vec_sro (vector long long int,
+ vector unsigned char);
+vector unsigned long long int vec_sro (vector unsigned long long int,
+ vector char);
+vector unsigned long long int vec_sro (vector unsigned long long int,
+ vector unsigned char);
vector pixel vec_sro (vector pixel, vector signed char);
vector pixel vec_sro (vector pixel, vector unsigned char);
vector signed char vec_sro (vector signed char, vector signed char);
@@ -17894,6 +17919,7 @@ vector bool short vec_unpackh (vector bool char);
vector signed int vec_unpackh (vector signed short);
vector bool int vec_unpackh (vector bool short);
vector unsigned int vec_unpackh (vector pixel);
+vector double vec_unpackh (vector float);
vector bool int vec_vupkhsh (vector bool short);
vector signed int vec_vupkhsh (vector signed short);
@@ -17908,6 +17934,7 @@ vector bool short vec_unpackl (vector bool char);
vector unsigned int vec_unpackl (vector pixel);
vector signed int vec_unpackl (vector signed short);
vector bool int vec_unpackl (vector bool short);
+vector double vec_unpackl (vector float);
vector unsigned int vec_vupklpx (vector pixel);
@@ -18656,9 +18683,18 @@ vector int vec_packs (vector long long, vector long long);
vector unsigned int vec_packs (vector unsigned long long,
vector unsigned long long);
+test_vsi_packsu_vssi_vssi (vector signed short x,
+
+vector unsigned char vec_packsu (vector signed short, vector signed short )
+vector unsigned char vec_packsu (vector unsigned short, vector unsigned short )
+vector unsigned short int vec_packsu (vector signed int, vector signed int);
+vector unsigned short int vec_packsu (vector unsigned int,
+ vector unsigned int);
vector unsigned int vec_packsu (vector long long, vector long long);
vector unsigned int vec_packsu (vector unsigned long long,
vector unsigned long long);
+vector unsigned int vec_packsu (vector signed long long,
+ vector signed long long);
vector unsigned char vec_popcnt (vector signed char);
vector unsigned char vec_popcnt (vector unsigned char);
@@ -18887,9 +18923,21 @@ vector unsigned long long vec_bperm (vector unsigned long long,
vector unsigned char);
vector bool char vec_cmpne (vector bool char, vector bool char);
-vector bool short vec_cmpne (vector bool short, vector bool short);
+vector bool char vec_cmpne (vector signed char, vector signed char);
+vector bool char vec_cmpne (vector unsigned char, vector unsigned char);
vector bool int vec_cmpne (vector bool int, vector bool int);
+vector bool int vec_cmpne (vector signed int, vector signed int);
+vector bool int vec_cmpne (vector unsigned int, vector unsigned int);
vector bool long long vec_cmpne (vector bool long long, vector bool long long);
+vector bool long long vec_cmpne (vector signed long long,
+ vector signed long long);
+vector bool long long vec_cmpne (vector unsigned long long,
+ vector unsigned long long);
+vector bool short vec_cmpne (vector bool short, vector bool short);
+vector bool short vec_cmpne (vector signed short, vector signed short);
+vector bool short vec_cmpne (vector unsigned short, vector unsigned short);
+vector bool long long vec_cmpne (vector double, vector double);
+vector bool int vec_cmpne (vector float, vector float);
vector float vec_extract_fp32_from_shorth (vector unsigned short);
vector float vec_extract_fp32_from_shortl (vector unsigned short);