From: Olivier Hainque Date: Fri, 20 Feb 2015 14:23:05 +0000 (+0000) Subject: g-allein.ads (vec_vspltw): Remove. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9b9e7e8a7452038b432d71e3f99be5874be75c4b;p=gcc.git g-allein.ads (vec_vspltw): Remove. 2015-02-20 Olivier Hainque * g-allein.ads (vec_vspltw): Remove. * g-alveop.ad?: Replace vec_vspltw renamings by proper Inline_Always wrappers with Intrinsic convention. From-SVN: r220864 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index c6a7aa95da1..393f50dc5d5 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2015-02-20 Olivier Hainque + + * 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 * g-allein.ads (vec_dstt): Remove. diff --git a/gcc/ada/g-allein.ads b/gcc/ada/g-allein.ads index aa6a3b4cead..877d5e46853 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 8896edd7809..1d1b56d3ced 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 9384cec0817..a4c8a4291af 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 --