g-allein.ads (vec_vspltw): Remove.
authorOlivier Hainque <hainque@adacore.com>
Fri, 20 Feb 2015 14:23:05 +0000 (14:23 +0000)
committerArnaud Charlet <charlet@gcc.gnu.org>
Fri, 20 Feb 2015 14:23:05 +0000 (15:23 +0100)
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

gcc/ada/ChangeLog
gcc/ada/g-allein.ads
gcc/ada/g-alveop.adb
gcc/ada/g-alveop.ads

index c6a7aa95da1224948cdc56230a7a1553eaa5423c..393f50dc5d5de4606d59d47003c873fd452292dc 100644 (file)
@@ -1,3 +1,9 @@
+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.
index aa6a3b4ceadbe7d931c1dad1665c8822305d1eb7..877d5e46853a115ea48e1c51d7794feeb2ff9e61 100644 (file)
@@ -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
index 8896edd7809c2d48369a4d5ebec92b51811adf4a..1d1b56d3cedb88face84e46737229ef90c85f291 100644 (file)
@@ -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 --
    -----------------------------------
index 9384cec08177db6ae46e956fa78a1502b9f95c98..a4c8a4291afb4e38ebffa905eed935e4f57c998d 100644 (file)
@@ -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 --