Commit 4060ebd4 by Robert Dewar Committed by Arnaud Charlet

g-allein.ads, [...]: Minor reformatting

2015-02-20  Robert Dewar  <dewar@adacore.com>

	* g-allein.ads, g-alveop.adb, g-alveop.ads, opt.ads: Minor reformatting

From-SVN: r220867
parent 9ec98e13
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.
......
......@@ -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
......
......@@ -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
......
......@@ -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;
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment