aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2015-02-20 14:23:05 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2015-02-20 15:23:05 +0100
commit9b9e7e8a7452038b432d71e3f99be5874be75c4b (patch)
tree7deffacf4ac2e6d47e90a6149623850082a190d7
parent389b90826bafbb5d92d49ce03e0aa4672c649cc8 (diff)
downloadgcc-9b9e7e8a7452038b432d71e3f99be5874be75c4b.zip
gcc-9b9e7e8a7452038b432d71e3f99be5874be75c4b.tar.gz
gcc-9b9e7e8a7452038b432d71e3f99be5874be75c4b.tar.bz2
g-allein.ads (vec_vspltw): Remove.
2015-02-20 Olivier Hainque <hainque@adacore.com> * g-allein.ads (vec_vspltw): Remove. * g-alveop.ad?: Replace vec_vspltw renamings by proper Inline_Always wrappers with Intrinsic convention. From-SVN: r220864
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/g-allein.ads60
-rw-r--r--gcc/ada/g-alveop.adb52
-rw-r--r--gcc/ada/g-alveop.ads44
4 files changed, 80 insertions, 82 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index c6a7aa9..393f50d 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,11 @@
2015-02-20 Olivier Hainque <hainque@adacore.com>
+ * g-allein.ads (vec_vspltw): Remove.
+ * g-alveop.ad?: Replace vec_vspltw renamings by proper Inline_Always
+ wrappers with Intrinsic convention.
+
+2015-02-20 Olivier Hainque <hainque@adacore.com>
+
* g-allein.ads (vec_dstt): Remove.
* g-alveop.ad?: Replace vec_dstt renamings by proper Inline_Always
wrappers with Intrinsic convention.
diff --git a/gcc/ada/g-allein.ads b/gcc/ada/g-allein.ads
index aa6a3b4..877d5e4 100644
--- a/gcc/ada/g-allein.ads
+++ b/gcc/ada/g-allein.ads
@@ -227,66 +227,6 @@ package GNAT.Altivec.Low_Level_Interface is
pragma Import
(LL_Altivec, vec_splat_vbi_cint_r_vbi, "__builtin_altivec_vspltw");
- -- vec_vspltw --
-
- function vec_vspltw_vf_cint_r_vf
- (A : vector_float;
- B : c_int) return vector_float;
-
- pragma Import
- (LL_Altivec, vec_vspltw_vf_cint_r_vf, "__builtin_altivec_vspltw");
-
- function vec_vspltw_vsi_cint_r_vsi
- (A : vector_signed_int;
- B : c_int) return vector_signed_int;
-
- pragma Import
- (LL_Altivec, vec_vspltw_vsi_cint_r_vsi, "__builtin_altivec_vspltw");
-
- function vec_vspltw_vui_cint_r_vui
- (A : vector_unsigned_int;
- B : c_int) return vector_unsigned_int;
-
- pragma Import
- (LL_Altivec, vec_vspltw_vui_cint_r_vui, "__builtin_altivec_vspltw");
-
- function vec_vspltw_vbi_cint_r_vbi
- (A : vector_bool_int;
- B : c_int) return vector_bool_int;
-
- pragma Import
- (LL_Altivec, vec_vspltw_vbi_cint_r_vbi, "__builtin_altivec_vspltw");
-
- -- vec_vsplth --
-
- function vec_vsplth_vbs_cint_r_vbs
- (A : vector_bool_short;
- B : c_int) return vector_bool_short;
-
- pragma Import
- (LL_Altivec, vec_vsplth_vbs_cint_r_vbs, "__builtin_altivec_vsplth");
-
- function vec_vsplth_vss_cint_r_vss
- (A : vector_signed_short;
- B : c_int) return vector_signed_short;
-
- pragma Import
- (LL_Altivec, vec_vsplth_vss_cint_r_vss, "__builtin_altivec_vsplth");
-
- function vec_vsplth_vus_cint_r_vus
- (A : vector_unsigned_short;
- B : c_int) return vector_unsigned_short;
-
- pragma Import
- (LL_Altivec, vec_vsplth_vus_cint_r_vus, "__builtin_altivec_vsplth");
-
- function vec_vsplth_vx_cint_r_vx
- (A : vector_pixel;
- B : c_int) return vector_pixel;
-
- pragma Import
- (LL_Altivec, vec_vsplth_vx_cint_r_vx, "__builtin_altivec_vsplth");
-
-- vec_vspltb --
function vec_vspltb_vsc_cint_r_vsc
diff --git a/gcc/ada/g-alveop.adb b/gcc/ada/g-alveop.adb
index 8896edd..1d1b56d 100644
--- a/gcc/ada/g-alveop.adb
+++ b/gcc/ada/g-alveop.adb
@@ -8221,6 +8221,58 @@ package body GNAT.Altivec.Vector_Operations is
dststt (To_PTR (A), B, C);
end vec_dststt;
+ -- vec_vspltw --
+
+ function vec_vspltw
+ (A : vector_float;
+ B : c_int) return vector_float
+ is
+ begin
+ return To_LL_VF (vspltw (To_LL_VSI (A), B));
+ end vec_vspltw;
+
+ function vec_vspltw
+ (A : vector_unsigned_int;
+ B : c_int) return vector_unsigned_int
+ is
+ begin
+ return To_LL_VUI (vspltw (To_LL_VSI (A), B));
+ end vec_vspltw;
+
+ function vec_vspltw
+ (A : vector_bool_int;
+ B : c_int) return vector_bool_int
+ is
+ begin
+ return To_LL_VBI (vspltw (To_LL_VSI (A), B));
+ end vec_vspltw;
+
+ -- vec_vsplth --
+
+ function vec_vsplth
+ (A : vector_bool_short;
+ B : c_int) return vector_bool_short
+ is
+ begin
+ return To_LL_VBS (vsplth (To_LL_VSS (A), B));
+ end vec_vsplth;
+
+ function vec_vsplth
+ (A : vector_unsigned_short;
+ B : c_int) return vector_unsigned_short
+ is
+ begin
+ return To_LL_VUS (vsplth (To_LL_VSS (A), B));
+ end vec_vsplth;
+
+ function vec_vsplth
+ (A : vector_pixel;
+ B : c_int) return vector_pixel
+ is
+ begin
+ return To_LL_VP (vsplth (To_LL_VSS (A), B));
+ end vec_vsplth;
+
-----------------------------------
-- Bodies for Altivec predicates --
-----------------------------------
diff --git a/gcc/ada/g-alveop.ads b/gcc/ada/g-alveop.ads
index 9384cec..a4c8a42 100644
--- a/gcc/ada/g-alveop.ads
+++ b/gcc/ada/g-alveop.ads
@@ -3277,45 +3277,45 @@ package GNAT.Altivec.Vector_Operations is
function vec_vspltw
(A : vector_float;
- B : c_int) return vector_float
- renames Low_Level_Interface.vec_vspltw_vf_cint_r_vf;
-
- function vec_vspltw
- (A : vector_signed_int;
- B : c_int) return vector_signed_int
- renames Low_Level_Interface.vec_vspltw_vsi_cint_r_vsi;
+ B : c_int) return vector_float;
function vec_vspltw
(A : vector_unsigned_int;
- B : c_int) return vector_unsigned_int
- renames Low_Level_Interface.vec_vspltw_vui_cint_r_vui;
+ B : c_int) return vector_unsigned_int;
function vec_vspltw
(A : vector_bool_int;
- B : c_int) return vector_bool_int
- renames Low_Level_Interface.vec_vspltw_vbi_cint_r_vbi;
+ B : c_int) return vector_bool_int;
+
+ pragma Inline_Always (vec_vspltw);
+ pragma Convention (Intrinsic, vec_vspltw);
+
+ function vec_vspltw
+ (A : vector_signed_int;
+ B : c_int) return vector_signed_int
+ renames Low_Level_Vectors.vspltw;
-- vec_vsplth --
function vec_vsplth
(A : vector_bool_short;
- B : c_int) return vector_bool_short
- renames Low_Level_Interface.vec_vsplth_vbs_cint_r_vbs;
-
- function vec_vsplth
- (A : vector_signed_short;
- B : c_int) return vector_signed_short
- renames Low_Level_Interface.vec_vsplth_vss_cint_r_vss;
+ B : c_int) return vector_bool_short;
function vec_vsplth
(A : vector_unsigned_short;
- B : c_int) return vector_unsigned_short
- renames Low_Level_Interface.vec_vsplth_vus_cint_r_vus;
+ B : c_int) return vector_unsigned_short;
function vec_vsplth
(A : vector_pixel;
- B : c_int) return vector_pixel
- renames Low_Level_Interface.vec_vsplth_vx_cint_r_vx;
+ B : c_int) return vector_pixel;
+
+ pragma Inline_Always (vec_vsplth);
+ pragma Convention (Intrinsic, vec_vsplth);
+
+ function vec_vsplth
+ (A : vector_signed_short;
+ B : c_int) return vector_signed_short
+ renames Low_Level_Vectors.vsplth;
-- vec_vspltb --