diff options
author | Olivier Hainque <hainque@adacore.com> | 2015-02-20 14:23:05 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-02-20 15:23:05 +0100 |
commit | 9b9e7e8a7452038b432d71e3f99be5874be75c4b (patch) | |
tree | 7deffacf4ac2e6d47e90a6149623850082a190d7 | |
parent | 389b90826bafbb5d92d49ce03e0aa4672c649cc8 (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/g-allein.ads | 60 | ||||
-rw-r--r-- | gcc/ada/g-alveop.adb | 52 | ||||
-rw-r--r-- | gcc/ada/g-alveop.ads | 44 |
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 -- |