From 4060ebd4be9d17ba7a5cb8dc44a7e047232bf335 Mon Sep 17 00:00:00 2001 From: Robert Dewar Date: Fri, 20 Feb 2015 14:27:54 +0000 Subject: [PATCH] g-allein.ads, [...]: Minor reformatting 2015-02-20 Robert Dewar * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting From-SVN: r220867 --- gcc/ada/ChangeLog | 4 + gcc/ada/g-allein.ads | 46 ++-- gcc/ada/g-alveop.adb | 436 ++++++++++++++++++++++++++++++- gcc/ada/g-alveop.ads | 605 +++++++++++++++++++++++++++++++++---------- gcc/ada/opt.ads | 4 +- 5 files changed, 931 insertions(+), 164 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 55002a7e29d..3a26255532f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,7 @@ +2015-02-20 Robert Dewar + + * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting + 2015-02-20 Tristan Gingold * opt.ads (GNAT_Mode_Config): New variable. diff --git a/gcc/ada/g-allein.ads b/gcc/ada/g-allein.ads index ba7ddafd7f4..bbadf8e7088 100644 --- a/gcc/ada/g-allein.ads +++ b/gcc/ada/g-allein.ads @@ -33,8 +33,8 @@ -- both bindings (Hard or Soft), and relevant to the interfacing with the -- underlying Low Level support. -with GNAT.Altivec.Vector_Types; use GNAT.Altivec.Vector_Types; -with GNAT.Altivec.Low_Level_Vectors; use GNAT.Altivec.Low_Level_Vectors; +with GNAT.Altivec.Vector_Types; use GNAT.Altivec.Vector_Types; +with GNAT.Altivec.Low_Level_Vectors; use GNAT.Altivec.Low_Level_Vectors; with Ada.Unchecked_Conversion; @@ -53,8 +53,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VBC is new Ada.Unchecked_Conversion (LL_VBI, LL_VBC); function To_LL_VBC is new Ada.Unchecked_Conversion (LL_VUI, LL_VBC); function To_LL_VBC is new Ada.Unchecked_Conversion (LL_VSI, LL_VBC); - function To_LL_VBC is new Ada.Unchecked_Conversion (LL_VF, LL_VBC); - function To_LL_VBC is new Ada.Unchecked_Conversion (LL_VP, LL_VBC); + function To_LL_VBC is new Ada.Unchecked_Conversion (LL_VF, LL_VBC); + function To_LL_VBC is new Ada.Unchecked_Conversion (LL_VP, LL_VBC); function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VBC, LL_VUC); function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VUC, LL_VUC); @@ -65,8 +65,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VBI, LL_VUC); function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VUI, LL_VUC); function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VSI, LL_VUC); - function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VF, LL_VUC); - function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VP, LL_VUC); + function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VF, LL_VUC); + function To_LL_VUC is new Ada.Unchecked_Conversion (LL_VP, LL_VUC); function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VBC, LL_VSC); function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VUC, LL_VSC); @@ -77,8 +77,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VBI, LL_VSC); function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VUI, LL_VSC); function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VSI, LL_VSC); - function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VF, LL_VSC); - function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VP, LL_VSC); + function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VF, LL_VSC); + function To_LL_VSC is new Ada.Unchecked_Conversion (LL_VP, LL_VSC); function To_LL_VBS is new Ada.Unchecked_Conversion (LL_VBC, LL_VBS); function To_LL_VBS is new Ada.Unchecked_Conversion (LL_VUC, LL_VBS); @@ -101,8 +101,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VUS is new Ada.Unchecked_Conversion (LL_VBI, LL_VUS); function To_LL_VUS is new Ada.Unchecked_Conversion (LL_VUI, LL_VUS); function To_LL_VUS is new Ada.Unchecked_Conversion (LL_VSI, LL_VUS); - function To_LL_VUS is new Ada.Unchecked_Conversion (LL_VF, LL_VUS); - function To_LL_VUS is new Ada.Unchecked_Conversion (LL_VP, LL_VUS); + function To_LL_VUS is new Ada.Unchecked_Conversion (LL_VF, LL_VUS); + function To_LL_VUS is new Ada.Unchecked_Conversion (LL_VP, LL_VUS); function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VBC, LL_VSS); function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VUC, LL_VSS); @@ -113,8 +113,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VBI, LL_VSS); function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VUI, LL_VSS); function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VSI, LL_VSS); - function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VF, LL_VSS); - function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VP, LL_VSS); + function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VF, LL_VSS); + function To_LL_VSS is new Ada.Unchecked_Conversion (LL_VP, LL_VSS); function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VBC, LL_VBI); function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VUC, LL_VBI); @@ -125,8 +125,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VBI, LL_VBI); function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VUI, LL_VBI); function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VSI, LL_VBI); - function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VF, LL_VBI); - function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VP, LL_VBI); + function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VF, LL_VBI); + function To_LL_VBI is new Ada.Unchecked_Conversion (LL_VP, LL_VBI); function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VBC, LL_VUI); function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VUC, LL_VUI); @@ -137,8 +137,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VBI, LL_VUI); function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VUI, LL_VUI); function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VSI, LL_VUI); - function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VF, LL_VUI); - function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VP, LL_VUI); + function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VF, LL_VUI); + function To_LL_VUI is new Ada.Unchecked_Conversion (LL_VP, LL_VUI); function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VBC, LL_VSI); function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VUC, LL_VSI); @@ -149,8 +149,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VBI, LL_VSI); function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VUI, LL_VSI); function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VSI, LL_VSI); - function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VF, LL_VSI); - function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VP, LL_VSI); + function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VF, LL_VSI); + function To_LL_VSI is new Ada.Unchecked_Conversion (LL_VP, LL_VSI); function To_LL_VF is new Ada.Unchecked_Conversion (LL_VBC, LL_VF); function To_LL_VF is new Ada.Unchecked_Conversion (LL_VUC, LL_VF); @@ -161,8 +161,8 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VF is new Ada.Unchecked_Conversion (LL_VBI, LL_VF); function To_LL_VF is new Ada.Unchecked_Conversion (LL_VUI, LL_VF); function To_LL_VF is new Ada.Unchecked_Conversion (LL_VSI, LL_VF); - function To_LL_VF is new Ada.Unchecked_Conversion (LL_VF, LL_VF); - function To_LL_VF is new Ada.Unchecked_Conversion (LL_VP, LL_VF); + function To_LL_VF is new Ada.Unchecked_Conversion (LL_VF, LL_VF); + function To_LL_VF is new Ada.Unchecked_Conversion (LL_VP, LL_VF); function To_LL_VP is new Ada.Unchecked_Conversion (LL_VBC, LL_VP); function To_LL_VP is new Ada.Unchecked_Conversion (LL_VUC, LL_VP); @@ -173,11 +173,11 @@ package GNAT.Altivec.Low_Level_Interface is function To_LL_VP is new Ada.Unchecked_Conversion (LL_VBI, LL_VP); function To_LL_VP is new Ada.Unchecked_Conversion (LL_VUI, LL_VP); function To_LL_VP is new Ada.Unchecked_Conversion (LL_VSI, LL_VP); - function To_LL_VP is new Ada.Unchecked_Conversion (LL_VF, LL_VP); - function To_LL_VP is new Ada.Unchecked_Conversion (LL_VP, LL_VP); + function To_LL_VP is new Ada.Unchecked_Conversion (LL_VF, LL_VP); + function To_LL_VP is new Ada.Unchecked_Conversion (LL_VP, LL_VP); ---------------------------------------------- - -- Conversions between pointer/access types -- + -- Conversions Between Pointer/Access Types -- ---------------------------------------------- function To_PTR is diff --git a/gcc/ada/g-alveop.adb b/gcc/ada/g-alveop.adb index 8dcfe177853..c90c09c70e8 100644 --- a/gcc/ada/g-alveop.adb +++ b/gcc/ada/g-alveop.adb @@ -29,7 +29,15 @@ -- -- ------------------------------------------------------------------------------ -with GNAT.Altivec.Low_Level_Interface; use GNAT.Altivec.Low_Level_Interface; +with GNAT.Altivec.Low_Level_Interface; use GNAT.Altivec.Low_Level_Interface; + +------------------------------------ +-- GNAT.Altivec.Vector_Operations -- +------------------------------------ + +------------------------------------ +-- GNAT.Altivec.Vector_Operations -- +------------------------------------ package body GNAT.Altivec.Vector_Operations is @@ -37,7 +45,9 @@ package body GNAT.Altivec.Vector_Operations is -- Bodies for generic and specific Altivec operations -- -------------------------------------------------------- + ------------- -- vec_abs -- + ------------- function vec_abs (A : vector_signed_char) return vector_signed_char @@ -67,7 +77,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (abs_v4sf (A)); end vec_abs; + -------------- -- vec_abss -- + -------------- function vec_abss (A : vector_signed_char) return vector_signed_char @@ -90,7 +102,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (abss_v4si (A)); end vec_abss; + ------------- -- vec_add -- + ------------- function vec_add (A : vector_bool_char; @@ -244,7 +258,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vaddfp (To_LL_VF (A), To_LL_VF (B))); end vec_add; + ---------------- -- vec_vaddfp -- + ---------------- function vec_vaddfp (A : vector_float; @@ -254,7 +270,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vaddfp (To_LL_VF (A), To_LL_VF (B))); end vec_vaddfp; + ----------------- -- vec_vadduwm -- + ----------------- function vec_vadduwm (A : vector_bool_int; @@ -304,7 +322,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); end vec_vadduwm; + ----------------- -- vec_vadduhm -- + ----------------- function vec_vadduhm (A : vector_bool_short; @@ -354,7 +374,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); end vec_vadduhm; + ----------------- -- vec_vaddubm -- + ----------------- function vec_vaddubm (A : vector_bool_char; @@ -404,7 +426,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); end vec_vaddubm; + -------------- -- vec_addc -- + -------------- function vec_addc (A : vector_unsigned_int; @@ -414,7 +438,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vaddcuw (To_LL_VSI (A), To_LL_VSI (B))); end vec_addc; + -------------- -- vec_adds -- + -------------- function vec_adds (A : vector_bool_char; @@ -560,7 +586,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B))); end vec_adds; + ----------------- -- vec_vaddsws -- + ----------------- function vec_vaddsws (A : vector_bool_int; @@ -586,7 +614,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B))); end vec_vaddsws; + ----------------- -- vec_vadduws -- + ----------------- function vec_vadduws (A : vector_bool_int; @@ -612,7 +642,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B))); end vec_vadduws; + ----------------- -- vec_vaddshs -- + ----------------- function vec_vaddshs (A : vector_bool_short; @@ -638,7 +670,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B))); end vec_vaddshs; + ----------------- -- vec_vadduhs -- + ----------------- function vec_vadduhs (A : vector_bool_short; @@ -664,7 +698,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B))); end vec_vadduhs; + ----------------- -- vec_vaddsbs -- + ----------------- function vec_vaddsbs (A : vector_bool_char; @@ -690,7 +726,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B))); end vec_vaddsbs; + ----------------- -- vec_vaddubs -- + ----------------- function vec_vaddubs (A : vector_bool_char; @@ -716,7 +754,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B))); end vec_vaddubs; + ------------- -- vec_and -- + ------------- function vec_and (A : vector_float; @@ -910,7 +950,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B))); end vec_and; + -------------- -- vec_andc -- + -------------- function vec_andc (A : vector_float; @@ -1104,7 +1146,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vandc (To_LL_VSI (A), To_LL_VSI (B))); end vec_andc; + ------------- -- vec_avg -- + ------------- function vec_avg (A : vector_unsigned_char; @@ -1154,7 +1198,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vavgsw (To_LL_VSI (A), To_LL_VSI (B))); end vec_avg; + ---------------- -- vec_vavgsw -- + ---------------- function vec_vavgsw (A : vector_signed_int; @@ -1164,7 +1210,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vavgsw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vavgsw; + ---------------- -- vec_vavguw -- + ---------------- function vec_vavguw (A : vector_unsigned_int; @@ -1174,7 +1222,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vavguw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vavguw; + ---------------- -- vec_vavgsh -- + ---------------- function vec_vavgsh (A : vector_signed_short; @@ -1184,7 +1234,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vavgsh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vavgsh; + ---------------- -- vec_vavguh -- + ---------------- function vec_vavguh (A : vector_unsigned_short; @@ -1194,7 +1246,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vavguh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vavguh; + ---------------- -- vec_vavgsb -- + ---------------- function vec_vavgsb (A : vector_signed_char; @@ -1204,7 +1258,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSC (vavgsb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vavgsb; + ---------------- -- vec_vavgub -- + ---------------- function vec_vavgub (A : vector_unsigned_char; @@ -1214,7 +1270,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vavgub (To_LL_VSC (A), To_LL_VSC (B))); end vec_vavgub; + -------------- -- vec_ceil -- + -------------- function vec_ceil (A : vector_float) return vector_float @@ -1223,7 +1281,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vrfip (To_LL_VF (A))); end vec_ceil; + -------------- -- vec_cmpb -- + -------------- function vec_cmpb (A : vector_float; @@ -1233,7 +1293,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vcmpbfp (To_LL_VF (A), To_LL_VF (B))); end vec_cmpb; + --------------- -- vec_cmpeq -- + --------------- function vec_cmpeq (A : vector_signed_char; @@ -1291,7 +1353,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpeqfp (To_LL_VF (A), To_LL_VF (B))); end vec_cmpeq; + ------------------ -- vec_vcmpeqfp -- + ------------------ function vec_vcmpeqfp (A : vector_float; @@ -1301,7 +1365,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpeqfp (To_LL_VF (A), To_LL_VF (B))); end vec_vcmpeqfp; + ------------------ -- vec_vcmpequw -- + ------------------ function vec_vcmpequw (A : vector_signed_int; @@ -1319,7 +1385,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vcmpequw; + ------------------ -- vec_vcmpequh -- + ------------------ function vec_vcmpequh (A : vector_signed_short; @@ -1337,7 +1405,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vcmpequh; + ------------------ -- vec_vcmpequb -- + ------------------ function vec_vcmpequb (A : vector_signed_char; @@ -1355,7 +1425,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vcmpequb; + --------------- -- vec_cmpge -- + --------------- function vec_cmpge (A : vector_float; @@ -1365,7 +1437,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpgefp (To_LL_VF (A), To_LL_VF (B))); end vec_cmpge; + --------------- -- vec_cmpgt -- + --------------- function vec_cmpgt (A : vector_unsigned_char; @@ -1423,7 +1497,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpgtfp (To_LL_VF (A), To_LL_VF (B))); end vec_cmpgt; + ------------------ -- vec_vcmpgtfp -- + ------------------ function vec_vcmpgtfp (A : vector_float; @@ -1433,7 +1509,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpgtfp (To_LL_VF (A), To_LL_VF (B))); end vec_vcmpgtfp; + ------------------ -- vec_vcmpgtsw -- + ------------------ function vec_vcmpgtsw (A : vector_signed_int; @@ -1443,7 +1521,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpgtsw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vcmpgtsw; + ------------------ -- vec_vcmpgtuw -- + ------------------ function vec_vcmpgtuw (A : vector_unsigned_int; @@ -1453,7 +1533,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpgtuw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vcmpgtuw; + ------------------ -- vec_vcmpgtsh -- + ------------------ function vec_vcmpgtsh (A : vector_signed_short; @@ -1463,7 +1545,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBS (vcmpgtsh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vcmpgtsh; + ------------------ -- vec_vcmpgtuh -- + ------------------ function vec_vcmpgtuh (A : vector_unsigned_short; @@ -1473,7 +1557,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBS (vcmpgtuh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vcmpgtuh; + ------------------ -- vec_vcmpgtsb -- + ------------------ function vec_vcmpgtsb (A : vector_signed_char; @@ -1483,7 +1569,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vcmpgtsb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vcmpgtsb; + ------------------ -- vec_vcmpgtub -- + ------------------ function vec_vcmpgtub (A : vector_unsigned_char; @@ -1493,7 +1581,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vcmpgtub (To_LL_VSC (A), To_LL_VSC (B))); end vec_vcmpgtub; + --------------- -- vec_cmple -- + --------------- function vec_cmple (A : vector_float; @@ -1503,7 +1593,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpgefp (To_LL_VF (B), To_LL_VF (A))); end vec_cmple; + --------------- -- vec_cmplt -- + --------------- function vec_cmplt (A : vector_unsigned_char; @@ -1561,7 +1653,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vcmpgtfp (To_LL_VF (B), To_LL_VF (A))); end vec_cmplt; + --------------- -- vec_expte -- + --------------- function vec_expte (A : vector_float) return vector_float @@ -1570,7 +1664,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vexptefp (To_LL_VF (A))); end vec_expte; + --------------- -- vec_floor -- + --------------- function vec_floor (A : vector_float) return vector_float @@ -1579,7 +1675,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vrfim (To_LL_VF (A))); end vec_floor; + ------------ -- vec_ld -- + ------------ function vec_ld (A : c_long; @@ -1741,7 +1839,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (lvx (A, To_PTR (B))); end vec_ld; + ------------- -- vec_lde -- + ------------- function vec_lde (A : c_long; @@ -1815,7 +1915,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (lvewx (A, To_PTR (B))); end vec_lde; + --------------- -- vec_lvewx -- + --------------- function vec_lvewx (A : c_long; @@ -1857,7 +1959,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (lvewx (A, To_PTR (B))); end vec_lvewx; + --------------- -- vec_lvehx -- + --------------- function vec_lvehx (A : c_long; @@ -1875,7 +1979,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (lvehx (A, To_PTR (B))); end vec_lvehx; + --------------- -- vec_lvebx -- + --------------- function vec_lvebx (A : c_long; @@ -1893,7 +1999,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (lvebx (A, To_PTR (B))); end vec_lvebx; + ------------- -- vec_ldl -- + ------------- function vec_ldl (A : c_long; @@ -2055,7 +2163,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (lvxl (A, To_PTR (B))); end vec_ldl; + -------------- -- vec_loge -- + -------------- function vec_loge (A : vector_float) return vector_float @@ -2064,7 +2174,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vlogefp (To_LL_VF (A))); end vec_loge; + -------------- -- vec_lvsl -- + -------------- function vec_lvsl (A : c_long; @@ -2138,7 +2250,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (lvsl (A, To_PTR (B))); end vec_lvsl; + -------------- -- vec_lvsr -- + -------------- function vec_lvsr (A : c_long; @@ -2212,7 +2326,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (lvsr (A, To_PTR (B))); end vec_lvsr; + -------------- -- vec_madd -- + -------------- function vec_madd (A : vector_float; @@ -2223,7 +2339,9 @@ package body GNAT.Altivec.Vector_Operations is return vmaddfp (A, B, C); end vec_madd; + --------------- -- vec_madds -- + --------------- function vec_madds (A : vector_signed_short; @@ -2234,7 +2352,9 @@ package body GNAT.Altivec.Vector_Operations is return vmhaddshs (A, B, C); end vec_madds; + ------------- -- vec_max -- + ------------- function vec_max (A : vector_bool_char; @@ -2388,7 +2508,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vmaxfp (To_LL_VF (A), To_LL_VF (B))); end vec_max; + ---------------- -- vec_vmaxfp -- + ---------------- function vec_vmaxfp (A : vector_float; @@ -2398,7 +2520,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vmaxfp (To_LL_VF (A), To_LL_VF (B))); end vec_vmaxfp; + ---------------- -- vec_vmaxsw -- + ---------------- function vec_vmaxsw (A : vector_bool_int; @@ -2424,7 +2548,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vmaxsw; + ---------------- -- vec_vmaxuw -- + ---------------- function vec_vmaxuw (A : vector_bool_int; @@ -2450,7 +2576,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vmaxuw; + ---------------- -- vec_vmaxsh -- + ---------------- function vec_vmaxsh (A : vector_bool_short; @@ -2476,7 +2604,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmaxsh; + ---------------- -- vec_vmaxuh -- + ---------------- function vec_vmaxuh (A : vector_bool_short; @@ -2502,7 +2632,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmaxuh; + ---------------- -- vec_vmaxsb -- + ---------------- function vec_vmaxsb (A : vector_bool_char; @@ -2528,7 +2660,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmaxsb; + ---------------- -- vec_vmaxub -- + ---------------- function vec_vmaxub (A : vector_bool_char; @@ -2554,7 +2688,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmaxub; + ---------------- -- vec_mergeh -- + ---------------- function vec_mergeh (A : vector_bool_char; @@ -2644,7 +2780,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); end vec_mergeh; + ---------------- -- vec_vmrghw -- + ---------------- function vec_vmrghw (A : vector_float; @@ -2678,7 +2816,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vmrghw; + ---------------- -- vec_vmrghh -- + ---------------- function vec_vmrghh (A : vector_bool_short; @@ -2712,7 +2852,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VP (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmrghh; + ---------------- -- vec_vmrghb -- + ---------------- function vec_vmrghb (A : vector_bool_char; @@ -2738,7 +2880,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vmrghb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmrghb; + ---------------- -- vec_mergel -- + ---------------- function vec_mergel (A : vector_bool_char; @@ -2828,7 +2972,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); end vec_mergel; + ---------------- -- vec_vmrglw -- + ---------------- function vec_vmrglw (A : vector_float; @@ -2862,7 +3008,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vmrglw; + ---------------- -- vec_vmrglh -- + ---------------- function vec_vmrglh (A : vector_bool_short; @@ -2896,7 +3044,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VP (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmrglh; + ---------------- -- vec_vmrglb -- + ---------------- function vec_vmrglb (A : vector_bool_char; @@ -2922,7 +3072,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vmrglb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmrglb; + ---------------- -- vec_mfvscr -- + ---------------- function vec_mfvscr return vector_unsigned_short is @@ -2930,7 +3082,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (mfvscr); end vec_mfvscr; + ------------- -- vec_min -- + ------------- function vec_min (A : vector_bool_char; @@ -3172,7 +3326,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vminsh; + ---------------- -- vec_vminuh -- + ---------------- function vec_vminuh (A : vector_bool_short; @@ -3198,7 +3354,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vminuh; + ---------------- -- vec_vminsb -- + ---------------- function vec_vminsb (A : vector_bool_char; @@ -3224,7 +3382,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vminsb; + ---------------- -- vec_vminub -- + ---------------- function vec_vminub (A : vector_bool_char; @@ -3250,7 +3410,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B))); end vec_vminub; + --------------- -- vec_mladd -- + --------------- function vec_mladd (A : vector_signed_short; @@ -3289,7 +3451,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VUS (vmladduhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSS (C))); end vec_mladd; + ---------------- -- vec_mradds -- + ---------------- function vec_mradds (A : vector_signed_short; @@ -3300,7 +3464,9 @@ package body GNAT.Altivec.Vector_Operations is return vmhraddshs (A, B, C); end vec_mradds; + -------------- -- vec_msum -- + -------------- function vec_msum (A : vector_unsigned_char; @@ -3342,7 +3508,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C))); end vec_msum; + ------------------ -- vec_vmsumshm -- + ------------------ function vec_vmsumshm (A : vector_signed_short; @@ -3354,7 +3522,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C))); end vec_vmsumshm; + ------------------ -- vec_vmsumuhm -- + ------------------ function vec_vmsumuhm (A : vector_unsigned_short; @@ -3366,7 +3536,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VUI (vmsumuhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C))); end vec_vmsumuhm; + ------------------ -- vec_vmsummbm -- + ------------------ function vec_vmsummbm (A : vector_signed_char; @@ -3378,7 +3550,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VSI (vmsummbm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C))); end vec_vmsummbm; + ------------------ -- vec_vmsumubm -- + ------------------ function vec_vmsumubm (A : vector_unsigned_char; @@ -3390,7 +3564,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VUI (vmsumubm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C))); end vec_vmsumubm; + --------------- -- vec_msums -- + --------------- function vec_msums (A : vector_unsigned_short; @@ -3412,7 +3588,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C))); end vec_msums; + ------------------ -- vec_vmsumshs -- + ------------------ function vec_vmsumshs (A : vector_signed_short; @@ -3424,7 +3602,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C))); end vec_vmsumshs; + ------------------ -- vec_vmsumuhs -- + ------------------ function vec_vmsumuhs (A : vector_unsigned_short; @@ -3436,7 +3616,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VUI (vmsumuhs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C))); end vec_vmsumuhs; + ---------------- -- vec_mtvscr -- + ---------------- procedure vec_mtvscr (A : vector_signed_int) @@ -3508,7 +3690,9 @@ package body GNAT.Altivec.Vector_Operations is mtvscr (To_LL_VSI (A)); end vec_mtvscr; + -------------- -- vec_mule -- + -------------- function vec_mule (A : vector_unsigned_char; @@ -3542,7 +3726,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B))); end vec_mule; + ----------------- -- vec_vmulesh -- + ----------------- function vec_vmulesh (A : vector_signed_short; @@ -3552,7 +3738,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmulesh; + ----------------- -- vec_vmuleuh -- + ----------------- function vec_vmuleuh (A : vector_unsigned_short; @@ -3562,7 +3750,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vmuleuh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmuleuh; + ----------------- -- vec_vmulesb -- + ----------------- function vec_vmulesb (A : vector_signed_char; @@ -3572,7 +3762,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vmuleub (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmulesb; + ----------------- -- vec_vmuleub -- + ----------------- function vec_vmuleub (A : vector_unsigned_char; @@ -3582,7 +3774,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vmuleub (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmuleub; + -------------- -- vec_mulo -- + -------------- function vec_mulo (A : vector_unsigned_char; @@ -3616,7 +3810,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B))); end vec_mulo; + ----------------- -- vec_vmulosh -- + ----------------- function vec_vmulosh (A : vector_signed_short; @@ -3626,7 +3822,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmulosh; + ----------------- -- vec_vmulouh -- + ----------------- function vec_vmulouh (A : vector_unsigned_short; @@ -3636,7 +3834,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vmulouh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vmulouh; + ----------------- -- vec_vmulosb -- + ----------------- function vec_vmulosb (A : vector_signed_char; @@ -3646,7 +3846,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vmulosb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmulosb; + ----------------- -- vec_vmuloub -- + ----------------- function vec_vmuloub (A : vector_unsigned_char; @@ -3656,7 +3858,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vmuloub (To_LL_VSC (A), To_LL_VSC (B))); end vec_vmuloub; + --------------- -- vec_nmsub -- + --------------- function vec_nmsub (A : vector_float; @@ -3667,7 +3871,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vnmsubfp (To_LL_VF (A), To_LL_VF (B), To_LL_VF (C))); end vec_nmsub; + ------------- -- vec_nor -- + ------------- function vec_nor (A : vector_float; @@ -3749,7 +3955,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vnor (To_LL_VSI (A), To_LL_VSI (B))); end vec_nor; + ------------ -- vec_or -- + ------------ function vec_or (A : vector_float; @@ -3943,7 +4151,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B))); end vec_or; + -------------- -- vec_pack -- + -------------- function vec_pack (A : vector_signed_short; @@ -3993,7 +4203,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B))); end vec_pack; + ----------------- -- vec_vpkuwum -- + ----------------- function vec_vpkuwum (A : vector_bool_int; @@ -4019,7 +4231,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B))); end vec_vpkuwum; + ----------------- -- vec_vpkuhum -- + ----------------- function vec_vpkuhum (A : vector_bool_short; @@ -4045,7 +4259,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B))); end vec_vpkuhum; + ---------------- -- vec_packpx -- + ---------------- function vec_packpx (A : vector_unsigned_int; @@ -4055,7 +4271,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VP (vpkpx (To_LL_VSI (A), To_LL_VSI (B))); end vec_packpx; + --------------- -- vec_packs -- + --------------- function vec_packs (A : vector_unsigned_short; @@ -4089,7 +4307,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B))); end vec_packs; + ----------------- -- vec_vpkswss -- + ----------------- function vec_vpkswss (A : vector_signed_int; @@ -4099,7 +4319,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B))); end vec_vpkswss; + ----------------- -- vec_vpkuwus -- + ----------------- function vec_vpkuwus (A : vector_unsigned_int; @@ -4109,7 +4331,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B))); end vec_vpkuwus; + ----------------- -- vec_vpkshss -- + ----------------- function vec_vpkshss (A : vector_signed_short; @@ -4119,7 +4343,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSC (vpkshss (To_LL_VSS (A), To_LL_VSS (B))); end vec_vpkshss; + ----------------- -- vec_vpkuhus -- + ----------------- function vec_vpkuhus (A : vector_unsigned_short; @@ -4129,7 +4355,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B))); end vec_vpkuhus; + ---------------- -- vec_packsu -- + ---------------- function vec_packsu (A : vector_unsigned_short; @@ -4163,7 +4391,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B))); end vec_packsu; + ----------------- -- vec_vpkswus -- + ----------------- function vec_vpkswus (A : vector_signed_int; @@ -4173,7 +4403,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B))); end vec_vpkswus; + ----------------- -- vec_vpkshus -- + ----------------- function vec_vpkshus (A : vector_signed_short; @@ -4183,7 +4415,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vpkshus (To_LL_VSS (A), To_LL_VSS (B))); end vec_vpkshus; + -------------- -- vec_perm -- + -------------- function vec_perm (A : vector_float; @@ -4295,7 +4529,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VBC (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C))); end vec_perm; + ------------ -- vec_re -- + ------------ function vec_re (A : vector_float) return vector_float @@ -4304,7 +4540,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vrefp (To_LL_VF (A))); end vec_re; + ------------ -- vec_rl -- + ------------ function vec_rl (A : vector_signed_char; @@ -4354,7 +4592,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B))); end vec_rl; + -------------- -- vec_vrlw -- + -------------- function vec_vrlw (A : vector_signed_int; @@ -4372,7 +4612,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vrlw; + -------------- -- vec_vrlh -- + -------------- function vec_vrlh (A : vector_signed_short; @@ -4390,7 +4632,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vrlh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vrlh; + -------------- -- vec_vrlb -- + -------------- function vec_vrlb (A : vector_signed_char; @@ -4408,7 +4652,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vrlb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vrlb; + --------------- -- vec_round -- + --------------- function vec_round (A : vector_float) return vector_float @@ -4417,7 +4663,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vrfin (To_LL_VF (A))); end vec_round; + ---------------- -- vec_rsqrte -- + ---------------- function vec_rsqrte (A : vector_float) return vector_float @@ -4426,7 +4674,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vrsqrtefp (To_LL_VF (A))); end vec_rsqrte; + ------------- -- vec_sel -- + ------------- function vec_sel (A : vector_float; @@ -4626,7 +4876,9 @@ package body GNAT.Altivec.Vector_Operations is To_LL_VBC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C))); end vec_sel; + ------------ -- vec_sl -- + ------------ function vec_sl (A : vector_signed_char; @@ -4676,7 +4928,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B))); end vec_sl; + -------------- -- vec_vslw -- + -------------- function vec_vslw (A : vector_signed_int; @@ -4694,7 +4948,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vslw; + -------------- -- vec_vslh -- + -------------- function vec_vslh (A : vector_signed_short; @@ -4712,7 +4968,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vslh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vslh; + -------------- -- vec_vslb -- + -------------- function vec_vslb (A : vector_signed_char; @@ -4730,7 +4988,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vslb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vslb; + ------------- -- vec_sll -- + ------------- function vec_sll (A : vector_signed_int; @@ -4972,7 +5232,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B))); end vec_sll; + ------------- -- vec_slo -- + ------------- function vec_slo (A : vector_float; @@ -5102,7 +5364,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vslo (To_LL_VSI (A), To_LL_VSI (B))); end vec_slo; + ------------ -- vec_sr -- + ------------ function vec_sr (A : vector_signed_char; @@ -5152,7 +5416,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B))); end vec_sr; + -------------- -- vec_vsrw -- + -------------- function vec_vsrw (A : vector_signed_int; @@ -5170,7 +5436,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vsrw; + -------------- -- vec_vsrh -- + -------------- function vec_vsrh (A : vector_signed_short; @@ -5188,7 +5456,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vsrh (To_LL_VSS (A), To_LL_VSS (B))); end vec_vsrh; + -------------- -- vec_vsrb -- + -------------- function vec_vsrb (A : vector_signed_char; @@ -5206,7 +5476,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vsrb (To_LL_VSC (A), To_LL_VSC (B))); end vec_vsrb; + ------------- -- vec_sra -- + ------------- function vec_sra (A : vector_signed_char; @@ -5256,7 +5528,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B))); end vec_sra; + --------------- -- vec_vsraw -- + --------------- function vec_vsraw (A : vector_signed_int; @@ -5274,7 +5548,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B))); end vec_vsraw; + --------------- -- vec_vsrah -- + --------------- function vec_vsrah (A : vector_signed_short; @@ -5292,7 +5568,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vsrah (To_LL_VSS (A), To_LL_VSS (B))); end vec_vsrah; + --------------- -- vec_vsrab -- + --------------- function vec_vsrab (A : vector_signed_char; @@ -5310,7 +5588,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vsrab (To_LL_VSC (A), To_LL_VSC (B))); end vec_vsrab; + ------------- -- vec_srl -- + ------------- function vec_srl (A : vector_signed_int; @@ -5552,7 +5832,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B))); end vec_srl; + ------------- -- vec_sro -- + ------------- function vec_sro (A : vector_float; @@ -5682,7 +5964,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vsro (To_LL_VSI (A), To_LL_VSI (B))); end vec_sro; + ------------ -- vec_st -- + ------------ procedure vec_st (A : vector_float; @@ -5918,7 +6202,9 @@ package body GNAT.Altivec.Vector_Operations is stvx (To_LL_VSI (A), B, To_PTR (C)); end vec_st; + ------------- -- vec_ste -- + ------------- procedure vec_ste (A : vector_signed_char; @@ -6055,7 +6341,9 @@ package body GNAT.Altivec.Vector_Operations is stvewx (To_LL_VSI (A), B, To_PTR (C)); end vec_ste; + ---------------- -- vec_stvewx -- + ---------------- procedure vec_stvewx (A : vector_float; @@ -6102,7 +6390,9 @@ package body GNAT.Altivec.Vector_Operations is stvewx (To_LL_VSI (A), B, To_PTR (C)); end vec_stvewx; + ---------------- -- vec_stvehx -- + ---------------- procedure vec_stvehx (A : vector_signed_short; @@ -6158,7 +6448,9 @@ package body GNAT.Altivec.Vector_Operations is stvehx (To_LL_VSS (A), B, To_PTR (C)); end vec_stvehx; + ---------------- -- vec_stvebx -- + ---------------- procedure vec_stvebx (A : vector_signed_char; @@ -6196,7 +6488,9 @@ package body GNAT.Altivec.Vector_Operations is stvebx (To_LL_VSC (A), B, To_PTR (C)); end vec_stvebx; + ------------- -- vec_stl -- + ------------- procedure vec_stl (A : vector_float; @@ -6432,7 +6726,9 @@ package body GNAT.Altivec.Vector_Operations is stvxl (To_LL_VSI (A), B, To_PTR (C)); end vec_stl; + ------------- -- vec_sub -- + ------------- function vec_sub (A : vector_bool_char; @@ -6586,7 +6882,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B))); end vec_sub; + ---------------- -- vec_vsubfp -- + ---------------- function vec_vsubfp (A : vector_float; @@ -6596,7 +6894,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B))); end vec_vsubfp; + ----------------- -- vec_vsubuwm -- + ----------------- function vec_vsubuwm (A : vector_bool_int; @@ -6646,7 +6946,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B))); end vec_vsubuwm; + ----------------- -- vec_vsubuhm -- + ----------------- function vec_vsubuhm (A : vector_bool_short; @@ -6696,7 +6998,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B))); end vec_vsubuhm; + ----------------- -- vec_vsububm -- + ----------------- function vec_vsububm (A : vector_bool_char; @@ -6746,7 +7050,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B))); end vec_vsububm; + -------------- -- vec_subc -- + -------------- function vec_subc (A : vector_unsigned_int; @@ -6756,7 +7062,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsubcuw (To_LL_VSI (A), To_LL_VSI (B))); end vec_subc; + -------------- -- vec_subs -- + -------------- function vec_subs (A : vector_bool_char; @@ -6902,7 +7210,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B))); end vec_subs; + ----------------- -- vec_vsubsws -- + ----------------- function vec_vsubsws (A : vector_bool_int; @@ -6928,7 +7238,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B))); end vec_vsubsws; + ----------------- -- vec_vsubuws -- + ----------------- function vec_vsubuws (A : vector_bool_int; @@ -6954,7 +7266,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B))); end vec_vsubuws; + ----------------- -- vec_vsubshs -- + ----------------- function vec_vsubshs (A : vector_bool_short; @@ -6980,7 +7294,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B))); end vec_vsubshs; + ----------------- -- vec_vsubuhs -- + ----------------- function vec_vsubuhs (A : vector_bool_short; @@ -7006,7 +7322,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B))); end vec_vsubuhs; + ----------------- -- vec_vsubsbs -- + ----------------- function vec_vsubsbs (A : vector_bool_char; @@ -7032,7 +7350,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B))); end vec_vsubsbs; + ----------------- -- vec_vsububs -- + ----------------- function vec_vsububs (A : vector_bool_char; @@ -7058,7 +7378,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B))); end vec_vsububs; + --------------- -- vec_sum4s -- + --------------- function vec_sum4s (A : vector_unsigned_char; @@ -7084,7 +7406,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B))); end vec_sum4s; + ------------------ -- vec_vsum4shs -- + ------------------ function vec_vsum4shs (A : vector_signed_short; @@ -7094,7 +7418,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B))); end vec_vsum4shs; + ------------------ -- vec_vsum4sbs -- + ------------------ function vec_vsum4sbs (A : vector_signed_char; @@ -7104,7 +7430,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vsum4sbs (To_LL_VSC (A), To_LL_VSI (B))); end vec_vsum4sbs; + ------------------ -- vec_vsum4ubs -- + ------------------ function vec_vsum4ubs (A : vector_unsigned_char; @@ -7114,7 +7442,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vsum4ubs (To_LL_VSC (A), To_LL_VSI (B))); end vec_vsum4ubs; + --------------- -- vec_sum2s -- + --------------- function vec_sum2s (A : vector_signed_int; @@ -7124,7 +7454,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vsum2sws (To_LL_VSI (A), To_LL_VSI (B))); end vec_sum2s; + -------------- -- vec_sums -- + -------------- function vec_sums (A : vector_signed_int; @@ -7134,7 +7466,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vsumsws (To_LL_VSI (A), To_LL_VSI (B))); end vec_sums; + --------------- -- vec_trunc -- + --------------- function vec_trunc (A : vector_float) return vector_float @@ -7143,7 +7477,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VF (vrfiz (To_LL_VF (A))); end vec_trunc; + ----------------- -- vec_unpackh -- + ----------------- function vec_unpackh (A : vector_signed_char) return vector_signed_short @@ -7180,7 +7516,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vupkhpx (To_LL_VSS (A))); end vec_unpackh; + ----------------- -- vec_vupkhsh -- + ----------------- function vec_vupkhsh (A : vector_bool_short) return vector_bool_int @@ -7196,7 +7534,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vupkhsh (To_LL_VSS (A))); end vec_vupkhsh; + ----------------- -- vec_vupkhpx -- + ----------------- function vec_vupkhpx (A : vector_pixel) return vector_unsigned_int @@ -7205,7 +7545,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vupkhpx (To_LL_VSS (A))); end vec_vupkhpx; + ----------------- -- vec_vupkhsb -- + ----------------- function vec_vupkhsb (A : vector_bool_char) return vector_bool_short @@ -7221,7 +7563,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vupkhsb (To_LL_VSC (A))); end vec_vupkhsb; + ----------------- -- vec_unpackl -- + ----------------- function vec_unpackl (A : vector_signed_char) return vector_signed_short @@ -7258,7 +7602,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vupklsh (To_LL_VSS (A))); end vec_unpackl; + ----------------- -- vec_vupklpx -- + ----------------- function vec_vupklpx (A : vector_pixel) return vector_unsigned_int @@ -7267,7 +7613,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vupklpx (To_LL_VSS (A))); end vec_vupklpx; - -- vec_upklsh -- + ----------------- + -- vec_vupklsh -- + ----------------- function vec_vupklsh (A : vector_bool_short) return vector_bool_int @@ -7283,7 +7631,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSI (vupklsh (To_LL_VSS (A))); end vec_vupklsh; + ----------------- -- vec_vupklsb -- + ----------------- function vec_vupklsb (A : vector_bool_char) return vector_bool_short @@ -7299,7 +7649,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VSS (vupklsb (To_LL_VSC (A))); end vec_vupklsb; + ------------- -- vec_xor -- + ------------- function vec_xor (A : vector_float; @@ -7493,7 +7845,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B))); end vec_xor; + ------------- -- vec_dst -- + ------------- procedure vec_dst (A : const_vector_unsigned_char_ptr; @@ -7675,7 +8029,9 @@ package body GNAT.Altivec.Vector_Operations is dst (To_PTR (A), B, C); end vec_dst; + -------------- -- vec_dstt -- + -------------- procedure vec_dstt (A : const_vector_unsigned_char_ptr; @@ -7857,7 +8213,9 @@ package body GNAT.Altivec.Vector_Operations is dstt (To_PTR (A), B, C); end vec_dstt; + --------------- -- vec_dstst -- + --------------- procedure vec_dstst (A : const_vector_unsigned_char_ptr; @@ -8039,7 +8397,9 @@ package body GNAT.Altivec.Vector_Operations is dstst (To_PTR (A), B, C); end vec_dstst; + ---------------- -- vec_dststt -- + ---------------- procedure vec_dststt (A : const_vector_unsigned_char_ptr; @@ -8221,7 +8581,9 @@ package body GNAT.Altivec.Vector_Operations is dststt (To_PTR (A), B, C); end vec_dststt; + ---------------- -- vec_vspltw -- + ---------------- function vec_vspltw (A : vector_float; @@ -8247,7 +8609,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBI (vspltw (To_LL_VSI (A), B)); end vec_vspltw; + ---------------- -- vec_vsplth -- + ---------------- function vec_vsplth (A : vector_bool_short; @@ -8273,7 +8637,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VP (vsplth (To_LL_VSS (A), B)); end vec_vsplth; + ---------------- -- vec_vspltb -- + ---------------- function vec_vspltb (A : vector_unsigned_char; @@ -8291,7 +8657,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vspltb (To_LL_VSC (A), B)); end vec_vspltb; + ------------------ -- vec_splat_u8 -- + ------------------ function vec_splat_u8 (A : c_int) return vector_unsigned_char @@ -8300,7 +8668,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUC (vspltisb (A)); end vec_splat_u8; + ------------------- -- vec_splat_u16 -- + ------------------- function vec_splat_u16 (A : c_int) return vector_unsigned_short @@ -8309,7 +8679,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUS (vspltish (A)); end vec_splat_u16; + ------------------- -- vec_splat_u32 -- + ------------------- function vec_splat_u32 (A : c_int) return vector_unsigned_int @@ -8318,7 +8690,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VUI (vspltisw (A)); end vec_splat_u32; + ------------- -- vec_sld -- + ------------- function vec_sld (A : vector_unsigned_int; @@ -8383,11 +8757,9 @@ package body GNAT.Altivec.Vector_Operations is return To_LL_VBC (vsldoi_16qi (To_LL_VSC (A), To_LL_VSC (B), C)); end vec_sld; - ----------------------------------- - -- Bodies for Altivec predicates -- - ----------------------------------- - + ---------------- -- vec_all_eq -- + ---------------- function vec_all_eq (A : vector_signed_char; @@ -8573,7 +8945,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B)); end vec_all_eq; + ---------------- -- vec_all_ge -- + ---------------- function vec_all_ge (A : vector_bool_char; @@ -8727,7 +9101,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B)); end vec_all_ge; + ---------------- -- vec_all_gt -- + ---------------- function vec_all_gt (A : vector_bool_char; @@ -8881,7 +9257,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B)); end vec_all_gt; + ---------------- -- vec_all_in -- + ---------------- function vec_all_in (A : vector_float; @@ -8891,7 +9269,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpbfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B)); end vec_all_in; + ---------------- -- vec_all_le -- + ---------------- function vec_all_le (A : vector_bool_char; @@ -9045,7 +9425,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A)); end vec_all_le; + ---------------- -- vec_all_lt -- + ---------------- function vec_all_lt (A : vector_bool_char; @@ -9199,7 +9581,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A)); end vec_all_lt; + ----------------- -- vec_all_nan -- + ----------------- function vec_all_nan (A : vector_float) return c_int @@ -9208,7 +9592,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (A)); end vec_all_nan; + ---------------- -- vec_all_ne -- + ---------------- function vec_all_ne (A : vector_signed_char; @@ -9394,7 +9780,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B)); end vec_all_ne; + ----------------- -- vec_all_nge -- + ----------------- function vec_all_nge (A : vector_float; @@ -9404,7 +9792,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B)); end vec_all_nge; + ----------------- -- vec_all_ngt -- + ----------------- function vec_all_ngt (A : vector_float; @@ -9414,7 +9804,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B)); end vec_all_ngt; + ----------------- -- vec_all_nle -- + ----------------- function vec_all_nle (A : vector_float; @@ -9424,7 +9816,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A)); end vec_all_nle; + ----------------- -- vec_all_nlt -- + ----------------- function vec_all_nlt (A : vector_float; @@ -9434,7 +9828,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A)); end vec_all_nlt; + --------------------- -- vec_all_numeric -- + --------------------- function vec_all_numeric (A : vector_float) return c_int @@ -9443,7 +9839,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (A)); end vec_all_numeric; + ---------------- -- vec_any_eq -- + ---------------- function vec_any_eq (A : vector_signed_char; @@ -9629,7 +10027,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B)); end vec_any_eq; + ---------------- -- vec_any_ge -- + ---------------- function vec_any_ge (A : vector_signed_char; @@ -9783,7 +10183,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B)); end vec_any_ge; + ---------------- -- vec_any_gt -- + ---------------- function vec_any_gt (A : vector_bool_char; @@ -9937,7 +10339,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B)); end vec_any_gt; + ---------------- -- vec_any_le -- + ---------------- function vec_any_le (A : vector_bool_char; @@ -10091,7 +10495,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A)); end vec_any_le; + ---------------- -- vec_any_lt -- + ---------------- function vec_any_lt (A : vector_bool_char; @@ -10245,7 +10651,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A)); end vec_any_lt; + ----------------- -- vec_any_nan -- + ----------------- function vec_any_nan (A : vector_float) return c_int @@ -10254,7 +10662,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (A)); end vec_any_nan; + ---------------- -- vec_any_ne -- + ---------------- function vec_any_ne (A : vector_signed_char; @@ -10440,7 +10850,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B)); end vec_any_ne; + ----------------- -- vec_any_nge -- + ----------------- function vec_any_nge (A : vector_float; @@ -10450,7 +10862,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B)); end vec_any_nge; + ----------------- -- vec_any_ngt -- + ----------------- function vec_any_ngt (A : vector_float; @@ -10460,7 +10874,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B)); end vec_any_ngt; + ----------------- -- vec_any_nle -- + ----------------- function vec_any_nle (A : vector_float; @@ -10470,7 +10886,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgefp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A)); end vec_any_nle; + ----------------- -- vec_any_nlt -- + ----------------- function vec_any_nlt (A : vector_float; @@ -10480,7 +10898,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A)); end vec_any_nlt; + --------------------- -- vec_any_numeric -- + --------------------- function vec_any_numeric (A : vector_float) return c_int @@ -10489,7 +10909,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (A)); end vec_any_numeric; + ----------------- -- vec_any_out -- + ----------------- function vec_any_out (A : vector_float; @@ -10499,7 +10921,9 @@ package body GNAT.Altivec.Vector_Operations is return vcmpbfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B)); end vec_any_out; + -------------- -- vec_step -- + -------------- function vec_step (V : vector_unsigned_char) return Integer diff --git a/gcc/ada/g-alveop.ads b/gcc/ada/g-alveop.ads index eb05e4e7687..82bc5f48793 100644 --- a/gcc/ada/g-alveop.ads +++ b/gcc/ada/g-alveop.ads @@ -32,49 +32,57 @@ -- This unit is the user-level Ada interface to AltiVec operations on vector -- objects. It is common to both the Soft and the Hard bindings. -with GNAT.Altivec.Vector_Types; use GNAT.Altivec.Vector_Types; +with GNAT.Altivec.Vector_Types; use GNAT.Altivec.Vector_Types; with GNAT.Altivec.Low_Level_Vectors; use GNAT.Altivec.Low_Level_Vectors; +------------------------------------ +-- GNAT.Altivec.Vector_Operations -- +------------------------------------ + +------------------------------------ +-- GNAT.Altivec.Vector_Operations -- +------------------------------------ + package GNAT.Altivec.Vector_Operations is ------------------------------------- - -- Different flavors of interfaces -- + -- Different Flavors of Interfaces -- ------------------------------------- -- The vast majority of the user visible functions are just neutral type -- conversion wrappers around calls to low level primitives. For instance: - -- + -- function vec_sll -- (A : vector_signed_int; -- B : vector_unsigned_char) return vector_signed_int is -- begin -- return To_VSI (vsl (To_VSI (A), To_VSI (B))); -- end vec_sll; - -- + -- We actually don't always need an explicit wrapper and can bind directly -- with a straight Import of the low level routine, or a renaming of such -- instead. - -- + -- A direct binding is not possible (that is, a wrapper is mandatory) in -- a number of cases: - -- + -- o When the high-level/low-level types don't match, in which case a -- straight import would risk wrong code generation or compiler blowups in -- the Hard binding case. This is the case for 'B' in the example above. - -- + -- o When the high-level/low-level argument lists differ, as is the case -- for most of the AltiVec predicates, relying on a low-level primitive -- which expects a control code argument, like: - -- + -- function vec_any_ne -- (A : vector_signed_int; -- B : vector_signed_int) return c_int is -- begin -- return vcmpequw_p (CR6_LT_REV, To_VSI (A), To_VSI (B)); -- end vec_any_ne; - -- + -- o When the high-level/low-level arguments order don't match, as in: - -- + -- function vec_cmplt -- (A : vector_unsigned_char; -- B : vector_unsigned_char) return vector_bool_char is @@ -83,16 +91,15 @@ package GNAT.Altivec.Vector_Operations is -- end vec_cmplt; ----------------------------- - -- Inlining considerations -- + -- Inlining Considerations -- ----------------------------- - -- The intent in the Hard binding case is to eventually map operations to + -- The intent in the hard binding case is to eventually map operations to -- hardware instructions. Needless to say, intermediate function calls do - -- not fit this purpose, so all the user visible subprograms need to be - -- marked Inline_Always. Some of the builtins we eventually bind to expect - -- literal arguments. Wrappers to such builtins are made Convention - -- Intrinsic as well so we don't attempt to compile the bodies on their - -- own. + -- not fit this purpose, so all user visible subprograms need to be marked + -- Inline_Always. Some of the builtins we eventually bind to expect literal + -- arguments. Wrappers to such builtins are made Convention Intrinsic as + -- well so we don't attempt to compile the bodies on their own. -- In the soft case, the bulk of the work is performed by the low level -- routines, and those exported by this unit are short enough for the @@ -102,7 +109,9 @@ package GNAT.Altivec.Vector_Operations is -- [PIM-4.4 Generic and Specific AltiVec operations] -- ------------------------------------------------------- + ------------- -- vec_abs -- + ------------- function vec_abs (A : vector_signed_char) return vector_signed_char; @@ -116,7 +125,9 @@ package GNAT.Altivec.Vector_Operations is function vec_abs (A : vector_float) return vector_float; + -------------- -- vec_abss -- + -------------- function vec_abss (A : vector_signed_char) return vector_signed_char; @@ -127,7 +138,9 @@ package GNAT.Altivec.Vector_Operations is function vec_abss (A : vector_signed_int) return vector_signed_int; + ------------- -- vec_add -- + ------------- function vec_add (A : vector_bool_char; @@ -205,13 +218,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vaddfp -- + ---------------- function vec_vaddfp (A : vector_float; B : vector_float) return vector_float; + ----------------- -- vec_vadduwm -- + ----------------- function vec_vadduwm (A : vector_bool_int; @@ -237,7 +254,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vadduhm -- + ----------------- function vec_vadduhm (A : vector_bool_short; @@ -263,7 +282,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vaddubm -- + ----------------- function vec_vaddubm (A : vector_bool_char; @@ -289,13 +310,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_addc -- + -------------- function vec_addc (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_adds -- + -------------- function vec_adds (A : vector_bool_char; @@ -369,7 +394,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vaddsws -- + ----------------- function vec_vaddsws (A : vector_bool_int; @@ -383,7 +410,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vadduws -- + ----------------- function vec_vadduws (A : vector_bool_int; @@ -397,7 +426,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vaddshs -- + ----------------- function vec_vaddshs (A : vector_bool_short; @@ -411,7 +442,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ----------------- -- vec_vadduhs -- + ----------------- function vec_vadduhs (A : vector_bool_short; @@ -425,7 +458,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vaddsbs -- + ----------------- function vec_vaddsbs (A : vector_bool_char; @@ -439,7 +474,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ----------------- -- vec_vaddubs -- + ----------------- function vec_vaddubs (A : vector_bool_char; @@ -453,7 +490,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_and -- + ------------- function vec_and (A : vector_float; @@ -551,7 +590,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_andc -- + -------------- function vec_andc (A : vector_float; @@ -649,7 +690,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_avg -- + ------------- function vec_avg (A : vector_unsigned_char; @@ -675,55 +718,69 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vavgsw -- + ---------------- function vec_vavgsw (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vavguw -- + ---------------- function vec_vavguw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vavgsh -- + ---------------- function vec_vavgsh (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ---------------- -- vec_vavguh -- + ---------------- function vec_vavguh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_vavgsb -- + ---------------- function vec_vavgsb (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ---------------- -- vec_vavgub -- + ---------------- function vec_vavgub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_ceil -- + -------------- function vec_ceil (A : vector_float) return vector_float; + -------------- -- vec_cmpb -- + -------------- function vec_cmpb (A : vector_float; B : vector_float) return vector_signed_int; - -- vec_cmpeq -- - function vec_cmpeq (A : vector_signed_char; B : vector_signed_char) return vector_bool_char; @@ -752,13 +809,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpeqfp -- + ------------------ function vec_vcmpeqfp (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpequw -- + ------------------ function vec_vcmpequw (A : vector_signed_int; @@ -768,7 +829,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_bool_int; + ------------------ -- vec_vcmpequh -- + ------------------ function vec_vcmpequh (A : vector_signed_short; @@ -778,7 +841,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_bool_short; + ------------------ -- vec_vcmpequb -- + ------------------ function vec_vcmpequb (A : vector_signed_char; @@ -788,13 +853,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_bool_char; + --------------- -- vec_cmpge -- + --------------- function vec_cmpge (A : vector_float; B : vector_float) return vector_bool_int; + --------------- -- vec_cmpgt -- + --------------- function vec_cmpgt (A : vector_unsigned_char; @@ -824,55 +893,73 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpgtfp -- + ------------------ function vec_vcmpgtfp (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpgtsw -- + ------------------ function vec_vcmpgtsw (A : vector_signed_int; B : vector_signed_int) return vector_bool_int; + ------------------ -- vec_vcmpgtuw -- + ------------------ function vec_vcmpgtuw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_bool_int; + ------------------ -- vec_vcmpgtsh -- + ------------------ function vec_vcmpgtsh (A : vector_signed_short; B : vector_signed_short) return vector_bool_short; + ------------------ -- vec_vcmpgtuh -- + ------------------ function vec_vcmpgtuh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_bool_short; + ------------------ -- vec_vcmpgtsb -- + ------------------ function vec_vcmpgtsb (A : vector_signed_char; B : vector_signed_char) return vector_bool_char; + ------------------ -- vec_vcmpgtub -- + ------------------ function vec_vcmpgtub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_bool_char; + --------------- -- vec_cmple -- + --------------- function vec_cmple (A : vector_float; B : vector_float) return vector_bool_int; + --------------- -- vec_cmplt -- + --------------- function vec_cmplt (A : vector_unsigned_char; @@ -902,46 +989,60 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_bool_int; + --------------- -- vec_vcfsx -- + --------------- function vec_vcfsx (A : vector_signed_int; B : c_int) return vector_float renames Low_Level_Vectors.vcfsx; + --------------- -- vec_vcfux -- + --------------- function vec_vcfux (A : vector_unsigned_int; B : c_int) return vector_float renames Low_Level_Vectors.vcfux; + ---------------- -- vec_vctsxs -- + ---------------- function vec_vctsxs (A : vector_float; B : c_int) return vector_signed_int renames Low_Level_Vectors.vctsxs; + ---------------- -- vec_vctuxs -- + ---------------- function vec_vctuxs (A : vector_float; B : c_int) return vector_unsigned_int renames Low_Level_Vectors.vctuxs; + ------------- -- vec_dss -- + ------------- procedure vec_dss (A : c_int) renames Low_Level_Vectors.dss; + ---------------- -- vec_dssall -- + ---------------- procedure vec_dssall renames Low_Level_Vectors.dssall; + ------------- -- vec_dst -- + ------------- procedure vec_dst (A : const_vector_unsigned_char_ptr; @@ -1042,11 +1143,12 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dst); pragma Convention (Intrinsic, vec_dst); + --------------- -- vec_dstst -- + --------------- procedure vec_dstst (A : const_vector_unsigned_char_ptr; @@ -1147,11 +1249,12 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dstst); pragma Convention (Intrinsic, vec_dstst); + ---------------- -- vec_dststt -- + ---------------- procedure vec_dststt (A : const_vector_unsigned_char_ptr; @@ -1252,11 +1355,12 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dststt); pragma Convention (Intrinsic, vec_dststt); + -------------- -- vec_dstt -- + -------------- procedure vec_dstt (A : const_vector_unsigned_char_ptr; @@ -1357,21 +1461,26 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dstt); pragma Convention (Intrinsic, vec_dstt); + --------------- -- vec_expte -- + --------------- function vec_expte (A : vector_float) return vector_float; + --------------- -- vec_floor -- + --------------- function vec_floor (A : vector_float) return vector_float; + ------------ -- vec_ld -- + ------------ function vec_ld (A : c_long; @@ -1453,7 +1562,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : const_unsigned_char_ptr) return vector_unsigned_char; + ------------- -- vec_lde -- + ------------- function vec_lde (A : c_long; @@ -1491,7 +1602,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : const_unsigned_long_ptr) return vector_unsigned_int; + --------------- -- vec_lvewx -- + --------------- function vec_lvewx (A : c_long; @@ -1513,7 +1626,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : unsigned_long_ptr) return vector_unsigned_int; + --------------- -- vec_lvehx -- + --------------- function vec_lvehx (A : c_long; @@ -1523,7 +1638,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : unsigned_short_ptr) return vector_unsigned_short; + --------------- -- vec_lvebx -- + --------------- function vec_lvebx (A : c_long; @@ -1533,7 +1650,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : unsigned_char_ptr) return vector_unsigned_char; + ------------- -- vec_ldl -- + ------------- function vec_ldl (A : c_long; @@ -1615,12 +1734,16 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : const_unsigned_char_ptr) return vector_unsigned_char; + -------------- -- vec_loge -- + -------------- function vec_loge (A : vector_float) return vector_float; + -------------- -- vec_lvsl -- + -------------- function vec_lvsl (A : c_long; @@ -1658,7 +1781,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : constv_float_ptr) return vector_unsigned_char; + -------------- -- vec_lvsr -- + -------------- function vec_lvsr (A : c_long; @@ -1696,21 +1821,27 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : constv_float_ptr) return vector_unsigned_char; + -------------- -- vec_madd -- + -------------- function vec_madd (A : vector_float; B : vector_float; C : vector_float) return vector_float; + --------------- -- vec_madds -- + --------------- function vec_madds (A : vector_signed_short; B : vector_signed_short; C : vector_signed_short) return vector_signed_short; + ------------- -- vec_max -- + ------------- function vec_max (A : vector_bool_char; @@ -1788,13 +1919,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vmaxfp -- + ---------------- function vec_vmaxfp (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vmaxsw -- + ---------------- function vec_vmaxsw (A : vector_bool_int; @@ -1808,7 +1943,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vmaxuw -- + ---------------- function vec_vmaxuw (A : vector_bool_int; @@ -1822,7 +1959,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmaxsh -- + ---------------- function vec_vmaxsh (A : vector_bool_short; @@ -1836,7 +1975,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ---------------- -- vec_vmaxuh -- + ---------------- function vec_vmaxuh (A : vector_bool_short; @@ -1850,7 +1991,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_vmaxsb -- + ---------------- function vec_vmaxsb (A : vector_bool_char; @@ -1864,7 +2007,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ---------------- -- vec_vmaxub -- + ---------------- function vec_vmaxub (A : vector_bool_char; @@ -1878,7 +2023,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_mergeh -- + ---------------- function vec_mergeh (A : vector_bool_char; @@ -1924,7 +2071,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmrghw -- + ---------------- function vec_vmrghw (A : vector_float; @@ -1942,7 +2091,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmrghh -- + ---------------- function vec_vmrghh (A : vector_bool_short; @@ -1960,7 +2111,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_pixel; B : vector_pixel) return vector_pixel; + ---------------- -- vec_vmrghb -- + ---------------- function vec_vmrghb (A : vector_bool_char; @@ -1974,7 +2127,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_mergel -- + ---------------- function vec_mergel (A : vector_bool_char; @@ -2020,7 +2175,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmrglw -- + ---------------- function vec_vmrglw (A : vector_float; @@ -2038,7 +2195,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_int; B : vector_bool_int) return vector_bool_int; + ---------------- -- vec_vmrglh -- + ---------------- function vec_vmrglh (A : vector_bool_short; @@ -2056,7 +2215,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_pixel; B : vector_pixel) return vector_pixel; + ---------------- -- vec_vmrglb -- + ---------------- function vec_vmrglb (A : vector_bool_char; @@ -2070,11 +2231,15 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_mfvscr -- + ---------------- function vec_mfvscr return vector_unsigned_short; + ------------- -- vec_min -- + ------------- function vec_min (A : vector_bool_char; @@ -2152,13 +2317,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vminfp -- + ---------------- function vec_vminfp (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vminsw -- + ---------------- function vec_vminsw (A : vector_bool_int; @@ -2172,7 +2341,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vminuw -- + ---------------- function vec_vminuw (A : vector_bool_int; @@ -2186,7 +2357,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vminsh -- + ---------------- function vec_vminsh (A : vector_bool_short; @@ -2200,7 +2373,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ---------------- -- vec_vminuh -- + ---------------- function vec_vminuh (A : vector_bool_short; @@ -2214,7 +2389,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_vminsb -- + ---------------- function vec_vminsb (A : vector_bool_char; @@ -2228,7 +2405,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ---------------- -- vec_vminub -- + ---------------- function vec_vminub (A : vector_bool_char; @@ -2242,7 +2421,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + --------------- -- vec_mladd -- + --------------- function vec_mladd (A : vector_signed_short; @@ -2264,14 +2445,18 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_short; C : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_mradds -- + ---------------- function vec_mradds (A : vector_signed_short; B : vector_signed_short; C : vector_signed_short) return vector_signed_short; + -------------- -- vec_msum -- + -------------- function vec_msum (A : vector_unsigned_char; @@ -2293,35 +2478,45 @@ package GNAT.Altivec.Vector_Operations is B : vector_signed_short; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumshm -- + ------------------ function vec_vmsumshm (A : vector_signed_short; B : vector_signed_short; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumuhm -- + ------------------ function vec_vmsumuhm (A : vector_unsigned_short; B : vector_unsigned_short; C : vector_unsigned_int) return vector_unsigned_int; + ------------------ -- vec_vmsummbm -- + ------------------ function vec_vmsummbm (A : vector_signed_char; B : vector_unsigned_char; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumubm -- + ------------------ function vec_vmsumubm (A : vector_unsigned_char; B : vector_unsigned_char; C : vector_unsigned_int) return vector_unsigned_int; + --------------- -- vec_msums -- + --------------- function vec_msums (A : vector_unsigned_short; @@ -2333,21 +2528,23 @@ package GNAT.Altivec.Vector_Operations is B : vector_signed_short; C : vector_signed_int) return vector_signed_int; - -- vec_vmsumshs -- - function vec_vmsumshs (A : vector_signed_short; B : vector_signed_short; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumuhs -- + ------------------ function vec_vmsumuhs (A : vector_unsigned_short; B : vector_unsigned_short; C : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_mtvscr -- + ---------------- procedure vec_mtvscr (A : vector_signed_int); @@ -2379,7 +2576,9 @@ package GNAT.Altivec.Vector_Operations is procedure vec_mtvscr (A : vector_bool_char); + -------------- -- vec_mule -- + -------------- function vec_mule (A : vector_unsigned_char; @@ -2397,31 +2596,41 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmulesh -- + ----------------- function vec_vmulesh (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmuleuh -- + ----------------- function vec_vmuleuh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_int; + ----------------- -- vec_vmulesb -- + ----------------- function vec_vmulesb (A : vector_signed_char; B : vector_signed_char) return vector_signed_short; + ----------------- -- vec_vmuleub -- + ----------------- function vec_vmuleub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_short; + -------------- -- vec_mulo -- + -------------- function vec_mulo (A : vector_unsigned_char; @@ -2439,38 +2648,50 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmulosh -- + ----------------- function vec_vmulosh (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmulouh -- + ----------------- function vec_vmulouh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_int; + ----------------- -- vec_vmulosb -- + ----------------- function vec_vmulosb (A : vector_signed_char; B : vector_signed_char) return vector_signed_short; + ----------------- -- vec_vmuloub -- + ----------------- function vec_vmuloub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_short; + --------------- -- vec_nmsub -- + --------------- function vec_nmsub (A : vector_float; B : vector_float; C : vector_float) return vector_float; + ------------- -- vec_nor -- + ------------- function vec_nor (A : vector_float; @@ -2512,7 +2733,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_bool_char) return vector_bool_char; + ------------ -- vec_or -- + ------------ function vec_or (A : vector_float; @@ -2610,7 +2833,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_pack -- + -------------- function vec_pack (A : vector_signed_short; @@ -2636,7 +2861,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_int; B : vector_bool_int) return vector_bool_short; + ----------------- -- vec_vpkuwum -- + ----------------- function vec_vpkuwum (A : vector_bool_int; @@ -2650,7 +2877,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_short; + ----------------- -- vec_vpkuhum -- + ----------------- function vec_vpkuhum (A : vector_bool_short; @@ -2664,13 +2893,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_char; + ---------------- -- vec_packpx -- + ---------------- function vec_packpx (A : vector_unsigned_int; B : vector_unsigned_int) return vector_pixel; + --------------- -- vec_packs -- + --------------- function vec_packs (A : vector_unsigned_short; @@ -2688,31 +2921,41 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_short; + ----------------- -- vec_vpkswss -- + ----------------- function vec_vpkswss (A : vector_signed_int; B : vector_signed_int) return vector_signed_short; + ----------------- -- vec_vpkuwus -- + ----------------- function vec_vpkuwus (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_short; + ----------------- -- vec_vpkshss -- + ----------------- function vec_vpkshss (A : vector_signed_short; B : vector_signed_short) return vector_signed_char; + ----------------- -- vec_vpkuhus -- + ----------------- function vec_vpkuhus (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_char; + ---------------- -- vec_packsu -- + ---------------- function vec_packsu (A : vector_unsigned_short; @@ -2730,19 +2973,25 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_unsigned_short; + ----------------- -- vec_vpkswus -- + ----------------- function vec_vpkswus (A : vector_signed_int; B : vector_signed_int) return vector_unsigned_short; + ----------------- -- vec_vpkshus -- + ----------------- function vec_vpkshus (A : vector_signed_short; B : vector_signed_short) return vector_unsigned_char; + -------------- -- vec_perm -- + -------------- function vec_perm (A : vector_float; @@ -2799,12 +3048,16 @@ package GNAT.Altivec.Vector_Operations is B : vector_bool_char; C : vector_unsigned_char) return vector_bool_char; + ------------ -- vec_re -- + ------------ function vec_re (A : vector_float) return vector_float; + ------------ -- vec_rl -- + ------------ function vec_rl (A : vector_signed_char; @@ -2830,7 +3083,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vrlw -- + -------------- function vec_vrlw (A : vector_signed_int; @@ -2840,7 +3095,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vrlh -- + -------------- function vec_vrlh (A : vector_signed_short; @@ -2850,7 +3107,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + -------------- -- vec_vrlb -- + -------------- function vec_vrlb (A : vector_signed_char; @@ -2860,17 +3119,23 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + --------------- -- vec_round -- + --------------- function vec_round (A : vector_float) return vector_float; + ---------------- -- vec_rsqrte -- + ---------------- function vec_rsqrte (A : vector_float) return vector_float; + ------------- -- vec_sel -- + ------------- function vec_sel (A : vector_float; @@ -2972,7 +3237,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_bool_char; C : vector_unsigned_char) return vector_bool_char; + ------------ -- vec_sl -- + ------------ function vec_sl (A : vector_signed_char; @@ -2998,7 +3265,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vslw -- + -------------- function vec_vslw (A : vector_signed_int; @@ -3008,7 +3277,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vslh -- + -------------- function vec_vslh (A : vector_signed_short; @@ -3018,7 +3289,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + -------------- -- vec_vslb -- + -------------- function vec_vslb (A : vector_signed_char; @@ -3028,7 +3301,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_sld -- + ------------- function vec_sld (A : vector_unsigned_int; @@ -3064,7 +3339,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_bool_char; C : c_int) return vector_bool_char; - pragma Inline_Always (vec_sld); pragma Convention (Intrinsic, vec_sld); @@ -3092,7 +3366,9 @@ package GNAT.Altivec.Vector_Operations is C : c_int) return vector_signed_char renames Low_Level_Vectors.vsldoi_16qi; + ------------- -- vec_sll -- + ------------- function vec_sll (A : vector_signed_int; @@ -3214,7 +3490,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_unsigned_char) return vector_bool_char; + ------------- -- vec_slo -- + ------------- function vec_slo (A : vector_float; @@ -3280,7 +3558,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_vspltw -- + ---------------- function vec_vspltw (A : vector_float; @@ -3293,7 +3573,6 @@ package GNAT.Altivec.Vector_Operations is function vec_vspltw (A : vector_bool_int; B : c_int) return vector_bool_int; - pragma Inline_Always (vec_vspltw); pragma Convention (Intrinsic, vec_vspltw); @@ -3302,7 +3581,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_signed_int renames Low_Level_Vectors.vspltw; + ---------------- -- vec_vsplth -- + ---------------- function vec_vsplth (A : vector_bool_short; @@ -3315,7 +3596,6 @@ package GNAT.Altivec.Vector_Operations is function vec_vsplth (A : vector_pixel; B : c_int) return vector_pixel; - pragma Inline_Always (vec_vsplth); pragma Convention (Intrinsic, vec_vsplth); @@ -3324,7 +3604,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_signed_short renames Low_Level_Vectors.vsplth; + ---------------- -- vec_vspltb -- + ---------------- function vec_vspltb (A : vector_unsigned_char; @@ -3333,7 +3615,6 @@ package GNAT.Altivec.Vector_Operations is function vec_vspltb (A : vector_bool_char; B : c_int) return vector_bool_char; - pragma Inline_Always (vec_vspltb); pragma Convention (Intrinsic, vec_vspltb); @@ -3342,25 +3623,33 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_signed_char renames Low_Level_Vectors.vspltb; + ------------------ -- vec_vspltisb -- + ------------------ function vec_vspltisb (A : c_int) return vector_signed_char renames Low_Level_Vectors.vspltisb; + ------------------ -- vec_vspltish -- + ------------------ function vec_vspltish (A : c_int) return vector_signed_short renames Low_Level_Vectors.vspltish; + ------------------ -- vec_vspltisw -- + ------------------ function vec_vspltisw (A : c_int) return vector_signed_int renames Low_Level_Vectors.vspltisw; + ------------ -- vec_sr -- + ------------ function vec_sr (A : vector_signed_char; @@ -3386,7 +3675,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vsrw -- + -------------- function vec_vsrw (A : vector_signed_int; @@ -3396,7 +3687,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vsrh -- + -------------- function vec_vsrh (A : vector_signed_short; @@ -3406,7 +3699,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + -------------- -- vec_vsrb -- + -------------- function vec_vsrb (A : vector_signed_char; @@ -3416,7 +3711,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_sra -- + ------------- function vec_sra (A : vector_signed_char; @@ -3442,7 +3739,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + --------------- -- vec_vsraw -- + --------------- function vec_vsraw (A : vector_signed_int; @@ -3452,8 +3751,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; - -- vec_vsrah -- - function vec_vsrah (A : vector_signed_short; B : vector_unsigned_short) return vector_signed_short; @@ -3462,8 +3759,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; - -- vec_vsrab -- - function vec_vsrab (A : vector_signed_char; B : vector_unsigned_char) return vector_signed_char; @@ -3472,7 +3767,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_srl -- + ------------- function vec_srl (A : vector_signed_int; @@ -3594,8 +3891,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_unsigned_char) return vector_bool_char; - -- vec_sro -- - function vec_sro (A : vector_float; B : vector_signed_char) return vector_float; @@ -3660,8 +3955,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; - -- vec_st -- - procedure vec_st (A : vector_float; B : c_int; @@ -3792,7 +4085,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : signed_char_ptr); + ------------- -- vec_ste -- + ------------- procedure vec_ste (A : vector_signed_char; @@ -3869,7 +4164,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_int_ptr); + ---------------- -- vec_stvewx -- + ---------------- procedure vec_stvewx (A : vector_float; @@ -3896,8 +4193,6 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_int_ptr); - -- vec_stvehx -- - procedure vec_stvehx (A : vector_signed_short; B : c_int; @@ -3928,8 +4223,6 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_short_ptr); - -- vec_stvebx -- - procedure vec_stvebx (A : vector_signed_char; B : c_int; @@ -3950,8 +4243,6 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_char_ptr); - -- vec_stl -- - procedure vec_stl (A : vector_float; B : c_int; @@ -4082,7 +4373,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : signed_char_ptr); + ------------- -- vec_sub -- + ------------- function vec_sub (A : vector_bool_char; @@ -4160,13 +4453,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vsubfp -- + ---------------- function vec_vsubfp (A : vector_float; B : vector_float) return vector_float; + ----------------- -- vec_vsubuwm -- + ----------------- function vec_vsubuwm (A : vector_bool_int; @@ -4192,7 +4489,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vsubuhm -- + ----------------- function vec_vsubuhm (A : vector_bool_short; @@ -4218,7 +4517,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vsububm -- + ----------------- function vec_vsububm (A : vector_bool_char; @@ -4244,13 +4545,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_subc -- + -------------- function vec_subc (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_subs -- + -------------- function vec_subs (A : vector_bool_char; @@ -4324,7 +4629,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vsubsws -- + ----------------- function vec_vsubsws (A : vector_bool_int; @@ -4338,7 +4645,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vsubuws -- + ----------------- function vec_vsubuws (A : vector_bool_int; @@ -4352,7 +4661,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vsubshs -- + ----------------- function vec_vsubshs (A : vector_bool_short; @@ -4366,7 +4677,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ----------------- -- vec_vsubuhs -- + ----------------- function vec_vsubuhs (A : vector_bool_short; @@ -4380,7 +4693,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vsubsbs -- + ----------------- function vec_vsubsbs (A : vector_bool_char; @@ -4394,7 +4709,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ----------------- -- vec_vsububs -- + ----------------- function vec_vsububs (A : vector_bool_char; @@ -4408,7 +4725,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + --------------- -- vec_sum4s -- + --------------- function vec_sum4s (A : vector_unsigned_char; @@ -4422,43 +4741,49 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vsum4shs -- + ------------------ function vec_vsum4shs (A : vector_signed_short; B : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vsum4sbs -- + ------------------ function vec_vsum4sbs (A : vector_signed_char; B : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vsum4ubs -- + ------------------ function vec_vsum4ubs (A : vector_unsigned_char; B : vector_unsigned_int) return vector_unsigned_int; + --------------- -- vec_sum2s -- + --------------- function vec_sum2s (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + -------------- -- vec_sums -- + -------------- function vec_sums (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; - -- vec_trunc -- - function vec_trunc (A : vector_float) return vector_float; - -- vec_unpackh -- - function vec_unpackh (A : vector_signed_char) return vector_signed_short; @@ -4474,29 +4799,21 @@ package GNAT.Altivec.Vector_Operations is function vec_unpackh (A : vector_pixel) return vector_unsigned_int; - -- vec_vupkhsh -- - function vec_vupkhsh (A : vector_bool_short) return vector_bool_int; function vec_vupkhsh (A : vector_signed_short) return vector_signed_int; - -- vec_vupkhpx -- - function vec_vupkhpx (A : vector_pixel) return vector_unsigned_int; - -- vec_vupkhsb -- - function vec_vupkhsb (A : vector_bool_char) return vector_bool_short; function vec_vupkhsb (A : vector_signed_char) return vector_signed_short; - -- vec_unpackl -- - function vec_unpackl (A : vector_signed_char) return vector_signed_short; @@ -4512,12 +4829,12 @@ package GNAT.Altivec.Vector_Operations is function vec_unpackl (A : vector_bool_short) return vector_bool_int; - -- vec_vupklpx -- - function vec_vupklpx (A : vector_pixel) return vector_unsigned_int; - -- vec_upklsh -- + ----------------- + -- vec_vupklsh -- + ----------------- function vec_vupklsh (A : vector_bool_short) return vector_bool_int; @@ -4525,7 +4842,9 @@ package GNAT.Altivec.Vector_Operations is function vec_vupklsh (A : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vupklsb -- + ----------------- function vec_vupklsb (A : vector_bool_char) return vector_bool_short; @@ -4533,7 +4852,9 @@ package GNAT.Altivec.Vector_Operations is function vec_vupklsb (A : vector_signed_char) return vector_signed_short; + ------------- -- vec_xor -- + ------------- function vec_xor (A : vector_float; @@ -4631,10 +4952,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; - ---------------------------------- - -- [PIM-4.5 AltiVec predicates] -- - ---------------------------------- - -- vec_all_eq -- function vec_all_eq @@ -4729,7 +5046,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_ge -- + ---------------- function vec_all_ge (A : vector_bool_char; @@ -4807,7 +5126,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_gt -- + ---------------- function vec_all_gt (A : vector_bool_char; @@ -4885,13 +5206,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_in -- + ---------------- function vec_all_in (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_le -- + ---------------- function vec_all_le (A : vector_bool_char; @@ -4969,7 +5294,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_lt -- + ---------------- function vec_all_lt (A : vector_bool_char; @@ -5047,12 +5374,16 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nan -- + ----------------- function vec_all_nan (A : vector_float) return c_int; + ---------------- -- vec_all_ne -- + ---------------- function vec_all_ne (A : vector_signed_char; @@ -5146,36 +5477,48 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nge -- + ----------------- function vec_all_nge (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_ngt -- + ----------------- function vec_all_ngt (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nle -- + ----------------- function vec_all_nle (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nlt -- + ----------------- function vec_all_nlt (A : vector_float; B : vector_float) return c_int; + --------------------- -- vec_all_numeric -- + --------------------- function vec_all_numeric (A : vector_float) return c_int; + ---------------- -- vec_any_eq -- + ---------------- function vec_any_eq (A : vector_signed_char; @@ -5269,7 +5612,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_any_ge -- + ---------------- function vec_any_ge (A : vector_signed_char; @@ -5347,7 +5692,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_any_gt -- + ---------------- function vec_any_gt (A : vector_bool_char; @@ -5425,8 +5772,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; - -- vec_any_le -- - function vec_any_le (A : vector_bool_char; B : vector_unsigned_char) return c_int; @@ -5503,8 +5848,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; - -- vec_any_lt -- - function vec_any_lt (A : vector_bool_char; B : vector_unsigned_char) return c_int; @@ -5581,13 +5924,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; - -- vec_any_nan -- - function vec_any_nan (A : vector_float) return c_int; - -- vec_any_ne -- - function vec_any_ne (A : vector_signed_char; B : vector_bool_char) return c_int; @@ -5680,65 +6019,53 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_any_nge -- + ----------------- function vec_any_nge (A : vector_float; B : vector_float) return c_int; - -- vec_any_ngt -- - function vec_any_ngt (A : vector_float; B : vector_float) return c_int; - -- vec_any_nle -- - function vec_any_nle (A : vector_float; B : vector_float) return c_int; - -- vec_any_nlt -- - function vec_any_nlt (A : vector_float; B : vector_float) return c_int; - -- vec_any_numeric -- - function vec_any_numeric (A : vector_float) return c_int; - -- vec_any_out -- - function vec_any_out (A : vector_float; B : vector_float) return c_int; - ------------------------------------------- - -- Straight overloads of routines aboves -- - ------------------------------------------- - - -- vec_splat_s8 -- - function vec_splat_s8 (A : c_int) return vector_signed_char renames vec_vspltisb; + ------------------- -- vec_splat_s16 -- + ------------------- function vec_splat_s16 (A : c_int) return vector_signed_short renames vec_vspltish; + ------------------- -- vec_splat_s32 -- + ------------------- function vec_splat_s32 (A : c_int) return vector_signed_int renames vec_vspltisw; - -- vec_splat -- - function vec_splat (A : vector_signed_char; B : c_int) return vector_signed_char @@ -5794,31 +6121,36 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_bool_int renames vec_vspltw; + ------------------ -- vec_splat_u8 -- + ------------------ function vec_splat_u8 (A : c_int) return vector_unsigned_char; - pragma Inline_Always (vec_splat_u8); pragma Convention (Intrinsic, vec_splat_u8); + ------------------- -- vec_splat_u16 -- + ------------------- function vec_splat_u16 (A : c_int) return vector_unsigned_short; - pragma Inline_Always (vec_splat_u16); pragma Convention (Intrinsic, vec_splat_u16); + ------------------- -- vec_splat_u32 -- + ------------------- function vec_splat_u32 (A : c_int) return vector_unsigned_int; - pragma Inline_Always (vec_splat_u32); pragma Convention (Intrinsic, vec_splat_u32); + ------------- -- vec_ctf -- + ------------- function vec_ctf (A : vector_unsigned_int; @@ -5830,29 +6162,25 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_float renames vec_vcfsx; + ------------- -- vec_cts -- + ------------- function vec_cts (A : vector_float; B : c_int) return vector_signed_int renames vec_vctsxs; - -- vec_ctu -- - function vec_ctu (A : vector_float; B : c_int) return vector_unsigned_int renames vec_vctuxs; - -- vec_vaddcuw -- - function vec_vaddcuw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int renames vec_addc; - -- vec_vand -- - function vec_vand (A : vector_float; B : vector_float) return vector_float @@ -5973,7 +6301,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_and; + --------------- -- vec_vandc -- + --------------- function vec_vandc (A : vector_float; @@ -6095,40 +6425,40 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_andc; + --------------- -- vec_vrfip -- + --------------- function vec_vrfip (A : vector_float) return vector_float renames vec_ceil; + ----------------- -- vec_vcmpbfp -- + ----------------- function vec_vcmpbfp (A : vector_float; B : vector_float) return vector_signed_int renames vec_cmpb; - -- vec_vcmpgefp -- - function vec_vcmpgefp (A : vector_float; B : vector_float) return vector_bool_int renames vec_cmpge; - -- vec_vexptefp -- - function vec_vexptefp (A : vector_float) return vector_float renames vec_expte; + --------------- -- vec_vrfim -- + --------------- function vec_vrfim (A : vector_float) return vector_float renames vec_floor; - -- vec_lvx -- - function vec_lvx (A : c_long; B : const_vector_float_ptr) return vector_float @@ -6229,8 +6559,6 @@ package GNAT.Altivec.Vector_Operations is B : const_unsigned_char_ptr) return vector_unsigned_char renames vec_ld; - -- vec_lvxl -- - function vec_lvxl (A : c_long; B : const_vector_float_ptr) return vector_float @@ -6331,13 +6659,13 @@ package GNAT.Altivec.Vector_Operations is B : const_unsigned_char_ptr) return vector_unsigned_char renames vec_ldl; - -- vec_vlogefp -- - function vec_vlogefp (A : vector_float) return vector_float renames vec_loge; + ----------------- -- vec_vmaddfp -- + ----------------- function vec_vmaddfp (A : vector_float; @@ -6345,7 +6673,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_float) return vector_float renames vec_madd; + ------------------- -- vec_vmhaddshs -- + ------------------- function vec_vmhaddshs (A : vector_signed_short; @@ -6353,7 +6683,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_signed_short) return vector_signed_short renames vec_madds; + ------------------- -- vec_vmladduhm -- + ------------------- function vec_vmladduhm (A : vector_signed_short; @@ -6379,7 +6711,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_unsigned_short) return vector_unsigned_short renames vec_mladd; + -------------------- -- vec_vmhraddshs -- + -------------------- function vec_vmhraddshs (A : vector_signed_short; @@ -6387,7 +6721,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_signed_short) return vector_signed_short renames vec_mradds; + ------------------ -- vec_vnmsubfp -- + ------------------ function vec_vnmsubfp (A : vector_float; @@ -6395,7 +6731,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_float) return vector_float renames vec_nmsub; + -------------- -- vec_vnor -- + -------------- function vec_vnor (A : vector_float; @@ -6447,7 +6785,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_bool_char) return vector_bool_char renames vec_nor; + ------------- -- vec_vor -- + ------------- function vec_vor (A : vector_float; @@ -6569,14 +6909,18 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_or; + --------------- -- vec_vpkpx -- + --------------- function vec_vpkpx (A : vector_unsigned_int; B : vector_unsigned_int) return vector_pixel renames vec_packpx; + --------------- -- vec_vperm -- + --------------- function vec_vperm (A : vector_float; @@ -6644,26 +6988,26 @@ package GNAT.Altivec.Vector_Operations is C : vector_unsigned_char) return vector_bool_char renames vec_perm; + --------------- -- vec_vrefp -- + --------------- function vec_vrefp (A : vector_float) return vector_float renames vec_re; + --------------- -- vec_vrfin -- + --------------- function vec_vrfin (A : vector_float) return vector_float renames vec_round; - -- vec_vrsqrtefp -- - function vec_vrsqrtefp (A : vector_float) return vector_float renames vec_rsqrte; - -- vec_vsel -- - function vec_vsel (A : vector_float; B : vector_float; @@ -6784,7 +7128,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_unsigned_char) return vector_bool_char renames vec_sel; + ---------------- -- vec_vsldoi -- + ---------------- function vec_vsldoi (A : vector_float; @@ -6852,7 +7198,9 @@ package GNAT.Altivec.Vector_Operations is C : c_int) return vector_bool_char renames vec_sld; + ------------- -- vec_vsl -- + ------------- function vec_vsl (A : vector_signed_int; @@ -7004,7 +7352,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_bool_char renames vec_sll; + -------------- -- vec_vslo -- + -------------- function vec_vslo (A : vector_float; @@ -7086,8 +7436,6 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_slo; - -- vec_vsr -- - function vec_vsr (A : vector_signed_int; B : vector_unsigned_int) return vector_signed_int @@ -7238,8 +7586,6 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_bool_char renames vec_srl; - -- vec_vsro -- - function vec_vsro (A : vector_float; B : vector_signed_char) return vector_float @@ -7320,7 +7666,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_sro; + -------------- -- vec_stvx -- + -------------- procedure vec_stvx (A : vector_float; @@ -7478,7 +7826,9 @@ package GNAT.Altivec.Vector_Operations is C : signed_char_ptr) renames vec_st; + --------------- -- vec_stvxl -- + --------------- procedure vec_stvxl (A : vector_float; @@ -7636,34 +7986,32 @@ package GNAT.Altivec.Vector_Operations is C : signed_char_ptr) renames vec_stl; - -- vec_vsubcuw -- - function vec_vsubcuw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int renames vec_subc; + ------------------ -- vec_vsum2sws -- + ------------------ function vec_vsum2sws (A : vector_signed_int; B : vector_signed_int) return vector_signed_int renames vec_sum2s; - -- vec_vsumsws -- - function vec_vsumsws (A : vector_signed_int; B : vector_signed_int) return vector_signed_int renames vec_sums; - -- vec_vrfiz -- - function vec_vrfiz (A : vector_float) return vector_float renames vec_trunc; + -------------- -- vec_vxor -- + -------------- function vec_vxor (A : vector_float; @@ -7785,14 +8133,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_xor; - ---------------------------------------------- - -- [PIM 2.5.3 Value for adjusting pointers] -- - ---------------------------------------------- - - -- "At compile time, vec_step (vec_data) produces the integer value - -- representing the amount by which a pointer to a component of an AltiVec - -- data type should increment to cause a pointer increment to increment by - -- 16 bytes". + -------------- + -- vec_step -- + -------------- function vec_step (V : vector_unsigned_char) return Integer; function vec_step (V : vector_signed_char) return Integer; @@ -8014,10 +8357,6 @@ private pragma Inline_Always (vec_any_nlt); pragma Inline_Always (vec_any_numeric); pragma Inline_Always (vec_any_out); - - -- Similarly, vec_step is expected to be turned into a compile time - -- constant, so ... - pragma Inline_Always (vec_step); end GNAT.Altivec.Vector_Operations; diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads index 72a5280521b..499cc15b94c 100644 --- a/gcc/ada/opt.ads +++ b/gcc/ada/opt.ads @@ -2158,9 +2158,9 @@ package Opt is -- GNAT -- True if -gnatg switch is present. GNAT_Mode may be temporary set to -- True during the analysis of a system unit, but GNAT_Mode_Config must - -- not changed once scanned. + -- not change once scanned and set. - -- Setting this switch has the following effects on the language that is + -- Setting GNAT mode has the following effects on the language that is -- accepted. Note that several of the following have the effect of changing -- an error to a warning. But warnings are usually treated as fatal errors -- in -gnatg mode, so to actually take advantage of such a change, it is -- 2.30.2