aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog4
-rw-r--r--gcc/ada/g-allein.ads46
-rw-r--r--gcc/ada/g-alveop.adb436
-rw-r--r--gcc/ada/g-alveop.ads605
-rw-r--r--gcc/ada/opt.ads4
5 files changed, 931 insertions, 164 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 55002a7..3a26255 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,7 @@
+2015-02-20 Robert Dewar <dewar@adacore.com>
+
+ * g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting
+
2015-02-20 Tristan Gingold <gingold@adacore.com>
* opt.ads (GNAT_Mode_Config): New variable.
diff --git a/gcc/ada/g-allein.ads b/gcc/ada/g-allein.ads
index ba7ddaf..bbadf8e 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 8dcfe17..c90c09c 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 eb05e4e..82bc5f4 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 72a5280..499cc15 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