aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/g-alveop.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/g-alveop.adb')
-rw-r--r--gcc/ada/g-alveop.adb436
1 files changed, 430 insertions, 6 deletions
diff --git a/gcc/ada/g-alveop.adb b/gcc/ada/g-alveop.adb
index 8dcfe17..c90c09c 100644
--- a/gcc/ada/g-alveop.adb
+++ b/gcc/ada/g-alveop.adb
@@ -29,7 +29,15 @@
-- --
------------------------------------------------------------------------------
-with GNAT.Altivec.Low_Level_Interface; use GNAT.Altivec.Low_Level_Interface;
+with GNAT.Altivec.Low_Level_Interface; use GNAT.Altivec.Low_Level_Interface;
+
+------------------------------------
+-- GNAT.Altivec.Vector_Operations --
+------------------------------------
+
+------------------------------------
+-- GNAT.Altivec.Vector_Operations --
+------------------------------------
package body GNAT.Altivec.Vector_Operations is
@@ -37,7 +45,9 @@ package body GNAT.Altivec.Vector_Operations is
-- Bodies for generic and specific Altivec operations --
--------------------------------------------------------
+ -------------
-- vec_abs --
+ -------------
function vec_abs
(A : vector_signed_char) return vector_signed_char
@@ -67,7 +77,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (abs_v4sf (A));
end vec_abs;
+ --------------
-- vec_abss --
+ --------------
function vec_abss
(A : vector_signed_char) return vector_signed_char
@@ -90,7 +102,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (abss_v4si (A));
end vec_abss;
+ -------------
-- vec_add --
+ -------------
function vec_add
(A : vector_bool_char;
@@ -244,7 +258,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vaddfp (To_LL_VF (A), To_LL_VF (B)));
end vec_add;
+ ----------------
-- vec_vaddfp --
+ ----------------
function vec_vaddfp
(A : vector_float;
@@ -254,7 +270,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vaddfp (To_LL_VF (A), To_LL_VF (B)));
end vec_vaddfp;
+ -----------------
-- vec_vadduwm --
+ -----------------
function vec_vadduwm
(A : vector_bool_int;
@@ -304,7 +322,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vadduwm;
+ -----------------
-- vec_vadduhm --
+ -----------------
function vec_vadduhm
(A : vector_bool_short;
@@ -354,7 +374,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vadduhm;
+ -----------------
-- vec_vaddubm --
+ -----------------
function vec_vaddubm
(A : vector_bool_char;
@@ -404,7 +426,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vaddubm;
+ --------------
-- vec_addc --
+ --------------
function vec_addc
(A : vector_unsigned_int;
@@ -414,7 +438,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vaddcuw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_addc;
+ --------------
-- vec_adds --
+ --------------
function vec_adds
(A : vector_bool_char;
@@ -560,7 +586,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_adds;
+ -----------------
-- vec_vaddsws --
+ -----------------
function vec_vaddsws
(A : vector_bool_int;
@@ -586,7 +614,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vaddsws;
+ -----------------
-- vec_vadduws --
+ -----------------
function vec_vadduws
(A : vector_bool_int;
@@ -612,7 +642,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vadduws;
+ -----------------
-- vec_vaddshs --
+ -----------------
function vec_vaddshs
(A : vector_bool_short;
@@ -638,7 +670,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vaddshs;
+ -----------------
-- vec_vadduhs --
+ -----------------
function vec_vadduhs
(A : vector_bool_short;
@@ -664,7 +698,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vadduhs;
+ -----------------
-- vec_vaddsbs --
+ -----------------
function vec_vaddsbs
(A : vector_bool_char;
@@ -690,7 +726,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vaddsbs;
+ -----------------
-- vec_vaddubs --
+ -----------------
function vec_vaddubs
(A : vector_bool_char;
@@ -716,7 +754,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vaddubs;
+ -------------
-- vec_and --
+ -------------
function vec_and
(A : vector_float;
@@ -910,7 +950,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B)));
end vec_and;
+ --------------
-- vec_andc --
+ --------------
function vec_andc
(A : vector_float;
@@ -1104,7 +1146,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
end vec_andc;
+ -------------
-- vec_avg --
+ -------------
function vec_avg
(A : vector_unsigned_char;
@@ -1154,7 +1198,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vavgsw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_avg;
+ ----------------
-- vec_vavgsw --
+ ----------------
function vec_vavgsw
(A : vector_signed_int;
@@ -1164,7 +1210,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vavgsw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vavgsw;
+ ----------------
-- vec_vavguw --
+ ----------------
function vec_vavguw
(A : vector_unsigned_int;
@@ -1174,7 +1222,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vavguw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vavguw;
+ ----------------
-- vec_vavgsh --
+ ----------------
function vec_vavgsh
(A : vector_signed_short;
@@ -1184,7 +1234,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vavgsh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vavgsh;
+ ----------------
-- vec_vavguh --
+ ----------------
function vec_vavguh
(A : vector_unsigned_short;
@@ -1194,7 +1246,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vavguh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vavguh;
+ ----------------
-- vec_vavgsb --
+ ----------------
function vec_vavgsb
(A : vector_signed_char;
@@ -1204,7 +1258,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSC (vavgsb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vavgsb;
+ ----------------
-- vec_vavgub --
+ ----------------
function vec_vavgub
(A : vector_unsigned_char;
@@ -1214,7 +1270,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vavgub (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vavgub;
+ --------------
-- vec_ceil --
+ --------------
function vec_ceil
(A : vector_float) return vector_float
@@ -1223,7 +1281,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vrfip (To_LL_VF (A)));
end vec_ceil;
+ --------------
-- vec_cmpb --
+ --------------
function vec_cmpb
(A : vector_float;
@@ -1233,7 +1293,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vcmpbfp (To_LL_VF (A), To_LL_VF (B)));
end vec_cmpb;
+ ---------------
-- vec_cmpeq --
+ ---------------
function vec_cmpeq
(A : vector_signed_char;
@@ -1291,7 +1353,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpeqfp (To_LL_VF (A), To_LL_VF (B)));
end vec_cmpeq;
+ ------------------
-- vec_vcmpeqfp --
+ ------------------
function vec_vcmpeqfp
(A : vector_float;
@@ -1301,7 +1365,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpeqfp (To_LL_VF (A), To_LL_VF (B)));
end vec_vcmpeqfp;
+ ------------------
-- vec_vcmpequw --
+ ------------------
function vec_vcmpequw
(A : vector_signed_int;
@@ -1319,7 +1385,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vcmpequw;
+ ------------------
-- vec_vcmpequh --
+ ------------------
function vec_vcmpequh
(A : vector_signed_short;
@@ -1337,7 +1405,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vcmpequh;
+ ------------------
-- vec_vcmpequb --
+ ------------------
function vec_vcmpequb
(A : vector_signed_char;
@@ -1355,7 +1425,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vcmpequb;
+ ---------------
-- vec_cmpge --
+ ---------------
function vec_cmpge
(A : vector_float;
@@ -1365,7 +1437,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpgefp (To_LL_VF (A), To_LL_VF (B)));
end vec_cmpge;
+ ---------------
-- vec_cmpgt --
+ ---------------
function vec_cmpgt
(A : vector_unsigned_char;
@@ -1423,7 +1497,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpgtfp (To_LL_VF (A), To_LL_VF (B)));
end vec_cmpgt;
+ ------------------
-- vec_vcmpgtfp --
+ ------------------
function vec_vcmpgtfp
(A : vector_float;
@@ -1433,7 +1509,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpgtfp (To_LL_VF (A), To_LL_VF (B)));
end vec_vcmpgtfp;
+ ------------------
-- vec_vcmpgtsw --
+ ------------------
function vec_vcmpgtsw
(A : vector_signed_int;
@@ -1443,7 +1521,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpgtsw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vcmpgtsw;
+ ------------------
-- vec_vcmpgtuw --
+ ------------------
function vec_vcmpgtuw
(A : vector_unsigned_int;
@@ -1453,7 +1533,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpgtuw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vcmpgtuw;
+ ------------------
-- vec_vcmpgtsh --
+ ------------------
function vec_vcmpgtsh
(A : vector_signed_short;
@@ -1463,7 +1545,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBS (vcmpgtsh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vcmpgtsh;
+ ------------------
-- vec_vcmpgtuh --
+ ------------------
function vec_vcmpgtuh
(A : vector_unsigned_short;
@@ -1473,7 +1557,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBS (vcmpgtuh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vcmpgtuh;
+ ------------------
-- vec_vcmpgtsb --
+ ------------------
function vec_vcmpgtsb
(A : vector_signed_char;
@@ -1483,7 +1569,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vcmpgtsb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vcmpgtsb;
+ ------------------
-- vec_vcmpgtub --
+ ------------------
function vec_vcmpgtub
(A : vector_unsigned_char;
@@ -1493,7 +1581,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vcmpgtub (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vcmpgtub;
+ ---------------
-- vec_cmple --
+ ---------------
function vec_cmple
(A : vector_float;
@@ -1503,7 +1593,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpgefp (To_LL_VF (B), To_LL_VF (A)));
end vec_cmple;
+ ---------------
-- vec_cmplt --
+ ---------------
function vec_cmplt
(A : vector_unsigned_char;
@@ -1561,7 +1653,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vcmpgtfp (To_LL_VF (B), To_LL_VF (A)));
end vec_cmplt;
+ ---------------
-- vec_expte --
+ ---------------
function vec_expte
(A : vector_float) return vector_float
@@ -1570,7 +1664,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vexptefp (To_LL_VF (A)));
end vec_expte;
+ ---------------
-- vec_floor --
+ ---------------
function vec_floor
(A : vector_float) return vector_float
@@ -1579,7 +1675,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vrfim (To_LL_VF (A)));
end vec_floor;
+ ------------
-- vec_ld --
+ ------------
function vec_ld
(A : c_long;
@@ -1741,7 +1839,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (lvx (A, To_PTR (B)));
end vec_ld;
+ -------------
-- vec_lde --
+ -------------
function vec_lde
(A : c_long;
@@ -1815,7 +1915,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (lvewx (A, To_PTR (B)));
end vec_lde;
+ ---------------
-- vec_lvewx --
+ ---------------
function vec_lvewx
(A : c_long;
@@ -1857,7 +1959,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (lvewx (A, To_PTR (B)));
end vec_lvewx;
+ ---------------
-- vec_lvehx --
+ ---------------
function vec_lvehx
(A : c_long;
@@ -1875,7 +1979,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (lvehx (A, To_PTR (B)));
end vec_lvehx;
+ ---------------
-- vec_lvebx --
+ ---------------
function vec_lvebx
(A : c_long;
@@ -1893,7 +1999,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (lvebx (A, To_PTR (B)));
end vec_lvebx;
+ -------------
-- vec_ldl --
+ -------------
function vec_ldl
(A : c_long;
@@ -2055,7 +2163,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (lvxl (A, To_PTR (B)));
end vec_ldl;
+ --------------
-- vec_loge --
+ --------------
function vec_loge
(A : vector_float) return vector_float
@@ -2064,7 +2174,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vlogefp (To_LL_VF (A)));
end vec_loge;
+ --------------
-- vec_lvsl --
+ --------------
function vec_lvsl
(A : c_long;
@@ -2138,7 +2250,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (lvsl (A, To_PTR (B)));
end vec_lvsl;
+ --------------
-- vec_lvsr --
+ --------------
function vec_lvsr
(A : c_long;
@@ -2212,7 +2326,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (lvsr (A, To_PTR (B)));
end vec_lvsr;
+ --------------
-- vec_madd --
+ --------------
function vec_madd
(A : vector_float;
@@ -2223,7 +2339,9 @@ package body GNAT.Altivec.Vector_Operations is
return vmaddfp (A, B, C);
end vec_madd;
+ ---------------
-- vec_madds --
+ ---------------
function vec_madds
(A : vector_signed_short;
@@ -2234,7 +2352,9 @@ package body GNAT.Altivec.Vector_Operations is
return vmhaddshs (A, B, C);
end vec_madds;
+ -------------
-- vec_max --
+ -------------
function vec_max
(A : vector_bool_char;
@@ -2388,7 +2508,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vmaxfp (To_LL_VF (A), To_LL_VF (B)));
end vec_max;
+ ----------------
-- vec_vmaxfp --
+ ----------------
function vec_vmaxfp
(A : vector_float;
@@ -2398,7 +2520,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vmaxfp (To_LL_VF (A), To_LL_VF (B)));
end vec_vmaxfp;
+ ----------------
-- vec_vmaxsw --
+ ----------------
function vec_vmaxsw
(A : vector_bool_int;
@@ -2424,7 +2548,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vmaxsw;
+ ----------------
-- vec_vmaxuw --
+ ----------------
function vec_vmaxuw
(A : vector_bool_int;
@@ -2450,7 +2576,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vmaxuw;
+ ----------------
-- vec_vmaxsh --
+ ----------------
function vec_vmaxsh
(A : vector_bool_short;
@@ -2476,7 +2604,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmaxsh;
+ ----------------
-- vec_vmaxuh --
+ ----------------
function vec_vmaxuh
(A : vector_bool_short;
@@ -2502,7 +2632,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmaxuh;
+ ----------------
-- vec_vmaxsb --
+ ----------------
function vec_vmaxsb
(A : vector_bool_char;
@@ -2528,7 +2660,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmaxsb;
+ ----------------
-- vec_vmaxub --
+ ----------------
function vec_vmaxub
(A : vector_bool_char;
@@ -2554,7 +2688,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmaxub;
+ ----------------
-- vec_mergeh --
+ ----------------
function vec_mergeh
(A : vector_bool_char;
@@ -2644,7 +2780,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_mergeh;
+ ----------------
-- vec_vmrghw --
+ ----------------
function vec_vmrghw
(A : vector_float;
@@ -2678,7 +2816,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vmrghw;
+ ----------------
-- vec_vmrghh --
+ ----------------
function vec_vmrghh
(A : vector_bool_short;
@@ -2712,7 +2852,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VP (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmrghh;
+ ----------------
-- vec_vmrghb --
+ ----------------
function vec_vmrghb
(A : vector_bool_char;
@@ -2738,7 +2880,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vmrghb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmrghb;
+ ----------------
-- vec_mergel --
+ ----------------
function vec_mergel
(A : vector_bool_char;
@@ -2828,7 +2972,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_mergel;
+ ----------------
-- vec_vmrglw --
+ ----------------
function vec_vmrglw
(A : vector_float;
@@ -2862,7 +3008,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vmrglw;
+ ----------------
-- vec_vmrglh --
+ ----------------
function vec_vmrglh
(A : vector_bool_short;
@@ -2896,7 +3044,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VP (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmrglh;
+ ----------------
-- vec_vmrglb --
+ ----------------
function vec_vmrglb
(A : vector_bool_char;
@@ -2922,7 +3072,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vmrglb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmrglb;
+ ----------------
-- vec_mfvscr --
+ ----------------
function vec_mfvscr return vector_unsigned_short
is
@@ -2930,7 +3082,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (mfvscr);
end vec_mfvscr;
+ -------------
-- vec_min --
+ -------------
function vec_min
(A : vector_bool_char;
@@ -3172,7 +3326,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vminsh;
+ ----------------
-- vec_vminuh --
+ ----------------
function vec_vminuh
(A : vector_bool_short;
@@ -3198,7 +3354,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vminuh;
+ ----------------
-- vec_vminsb --
+ ----------------
function vec_vminsb
(A : vector_bool_char;
@@ -3224,7 +3382,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vminsb;
+ ----------------
-- vec_vminub --
+ ----------------
function vec_vminub
(A : vector_bool_char;
@@ -3250,7 +3410,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vminub;
+ ---------------
-- vec_mladd --
+ ---------------
function vec_mladd
(A : vector_signed_short;
@@ -3289,7 +3451,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VUS (vmladduhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSS (C)));
end vec_mladd;
+ ----------------
-- vec_mradds --
+ ----------------
function vec_mradds
(A : vector_signed_short;
@@ -3300,7 +3464,9 @@ package body GNAT.Altivec.Vector_Operations is
return vmhraddshs (A, B, C);
end vec_mradds;
+ --------------
-- vec_msum --
+ --------------
function vec_msum
(A : vector_unsigned_char;
@@ -3342,7 +3508,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
end vec_msum;
+ ------------------
-- vec_vmsumshm --
+ ------------------
function vec_vmsumshm
(A : vector_signed_short;
@@ -3354,7 +3522,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
end vec_vmsumshm;
+ ------------------
-- vec_vmsumuhm --
+ ------------------
function vec_vmsumuhm
(A : vector_unsigned_short;
@@ -3366,7 +3536,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VUI (vmsumuhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
end vec_vmsumuhm;
+ ------------------
-- vec_vmsummbm --
+ ------------------
function vec_vmsummbm
(A : vector_signed_char;
@@ -3378,7 +3550,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VSI (vmsummbm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
end vec_vmsummbm;
+ ------------------
-- vec_vmsumubm --
+ ------------------
function vec_vmsumubm
(A : vector_unsigned_char;
@@ -3390,7 +3564,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VUI (vmsumubm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
end vec_vmsumubm;
+ ---------------
-- vec_msums --
+ ---------------
function vec_msums
(A : vector_unsigned_short;
@@ -3412,7 +3588,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
end vec_msums;
+ ------------------
-- vec_vmsumshs --
+ ------------------
function vec_vmsumshs
(A : vector_signed_short;
@@ -3424,7 +3602,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
end vec_vmsumshs;
+ ------------------
-- vec_vmsumuhs --
+ ------------------
function vec_vmsumuhs
(A : vector_unsigned_short;
@@ -3436,7 +3616,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VUI (vmsumuhs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
end vec_vmsumuhs;
+ ----------------
-- vec_mtvscr --
+ ----------------
procedure vec_mtvscr
(A : vector_signed_int)
@@ -3508,7 +3690,9 @@ package body GNAT.Altivec.Vector_Operations is
mtvscr (To_LL_VSI (A));
end vec_mtvscr;
+ --------------
-- vec_mule --
+ --------------
function vec_mule
(A : vector_unsigned_char;
@@ -3542,7 +3726,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_mule;
+ -----------------
-- vec_vmulesh --
+ -----------------
function vec_vmulesh
(A : vector_signed_short;
@@ -3552,7 +3738,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmulesh;
+ -----------------
-- vec_vmuleuh --
+ -----------------
function vec_vmuleuh
(A : vector_unsigned_short;
@@ -3562,7 +3750,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vmuleuh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmuleuh;
+ -----------------
-- vec_vmulesb --
+ -----------------
function vec_vmulesb
(A : vector_signed_char;
@@ -3572,7 +3762,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmulesb;
+ -----------------
-- vec_vmuleub --
+ -----------------
function vec_vmuleub
(A : vector_unsigned_char;
@@ -3582,7 +3774,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmuleub;
+ --------------
-- vec_mulo --
+ --------------
function vec_mulo
(A : vector_unsigned_char;
@@ -3616,7 +3810,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_mulo;
+ -----------------
-- vec_vmulosh --
+ -----------------
function vec_vmulosh
(A : vector_signed_short;
@@ -3626,7 +3822,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmulosh;
+ -----------------
-- vec_vmulouh --
+ -----------------
function vec_vmulouh
(A : vector_unsigned_short;
@@ -3636,7 +3834,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vmulouh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vmulouh;
+ -----------------
-- vec_vmulosb --
+ -----------------
function vec_vmulosb
(A : vector_signed_char;
@@ -3646,7 +3846,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vmulosb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmulosb;
+ -----------------
-- vec_vmuloub --
+ -----------------
function vec_vmuloub
(A : vector_unsigned_char;
@@ -3656,7 +3858,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vmuloub (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vmuloub;
+ ---------------
-- vec_nmsub --
+ ---------------
function vec_nmsub
(A : vector_float;
@@ -3667,7 +3871,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vnmsubfp (To_LL_VF (A), To_LL_VF (B), To_LL_VF (C)));
end vec_nmsub;
+ -------------
-- vec_nor --
+ -------------
function vec_nor
(A : vector_float;
@@ -3749,7 +3955,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vnor (To_LL_VSI (A), To_LL_VSI (B)));
end vec_nor;
+ ------------
-- vec_or --
+ ------------
function vec_or
(A : vector_float;
@@ -3943,7 +4151,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B)));
end vec_or;
+ --------------
-- vec_pack --
+ --------------
function vec_pack
(A : vector_signed_short;
@@ -3993,7 +4203,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
end vec_pack;
+ -----------------
-- vec_vpkuwum --
+ -----------------
function vec_vpkuwum
(A : vector_bool_int;
@@ -4019,7 +4231,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vpkuwum;
+ -----------------
-- vec_vpkuhum --
+ -----------------
function vec_vpkuhum
(A : vector_bool_short;
@@ -4045,7 +4259,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vpkuhum;
+ ----------------
-- vec_packpx --
+ ----------------
function vec_packpx
(A : vector_unsigned_int;
@@ -4055,7 +4271,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VP (vpkpx (To_LL_VSI (A), To_LL_VSI (B)));
end vec_packpx;
+ ---------------
-- vec_packs --
+ ---------------
function vec_packs
(A : vector_unsigned_short;
@@ -4089,7 +4307,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B)));
end vec_packs;
+ -----------------
-- vec_vpkswss --
+ -----------------
function vec_vpkswss
(A : vector_signed_int;
@@ -4099,7 +4319,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vpkswss;
+ -----------------
-- vec_vpkuwus --
+ -----------------
function vec_vpkuwus
(A : vector_unsigned_int;
@@ -4109,7 +4331,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vpkuwus;
+ -----------------
-- vec_vpkshss --
+ -----------------
function vec_vpkshss
(A : vector_signed_short;
@@ -4119,7 +4343,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSC (vpkshss (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vpkshss;
+ -----------------
-- vec_vpkuhus --
+ -----------------
function vec_vpkuhus
(A : vector_unsigned_short;
@@ -4129,7 +4355,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vpkuhus;
+ ----------------
-- vec_packsu --
+ ----------------
function vec_packsu
(A : vector_unsigned_short;
@@ -4163,7 +4391,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B)));
end vec_packsu;
+ -----------------
-- vec_vpkswus --
+ -----------------
function vec_vpkswus
(A : vector_signed_int;
@@ -4173,7 +4403,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vpkswus;
+ -----------------
-- vec_vpkshus --
+ -----------------
function vec_vpkshus
(A : vector_signed_short;
@@ -4183,7 +4415,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vpkshus (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vpkshus;
+ --------------
-- vec_perm --
+ --------------
function vec_perm
(A : vector_float;
@@ -4295,7 +4529,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VBC (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
end vec_perm;
+ ------------
-- vec_re --
+ ------------
function vec_re
(A : vector_float) return vector_float
@@ -4304,7 +4540,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vrefp (To_LL_VF (A)));
end vec_re;
+ ------------
-- vec_rl --
+ ------------
function vec_rl
(A : vector_signed_char;
@@ -4354,7 +4592,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_rl;
+ --------------
-- vec_vrlw --
+ --------------
function vec_vrlw
(A : vector_signed_int;
@@ -4372,7 +4612,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vrlw;
+ --------------
-- vec_vrlh --
+ --------------
function vec_vrlh
(A : vector_signed_short;
@@ -4390,7 +4632,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vrlh;
+ --------------
-- vec_vrlb --
+ --------------
function vec_vrlb
(A : vector_signed_char;
@@ -4408,7 +4652,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vrlb;
+ ---------------
-- vec_round --
+ ---------------
function vec_round
(A : vector_float) return vector_float
@@ -4417,7 +4663,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vrfin (To_LL_VF (A)));
end vec_round;
+ ----------------
-- vec_rsqrte --
+ ----------------
function vec_rsqrte
(A : vector_float) return vector_float
@@ -4426,7 +4674,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vrsqrtefp (To_LL_VF (A)));
end vec_rsqrte;
+ -------------
-- vec_sel --
+ -------------
function vec_sel
(A : vector_float;
@@ -4626,7 +4876,9 @@ package body GNAT.Altivec.Vector_Operations is
To_LL_VBC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
end vec_sel;
+ ------------
-- vec_sl --
+ ------------
function vec_sl
(A : vector_signed_char;
@@ -4676,7 +4928,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_sl;
+ --------------
-- vec_vslw --
+ --------------
function vec_vslw
(A : vector_signed_int;
@@ -4694,7 +4948,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vslw;
+ --------------
-- vec_vslh --
+ --------------
function vec_vslh
(A : vector_signed_short;
@@ -4712,7 +4968,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vslh;
+ --------------
-- vec_vslb --
+ --------------
function vec_vslb
(A : vector_signed_char;
@@ -4730,7 +4988,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vslb;
+ -------------
-- vec_sll --
+ -------------
function vec_sll
(A : vector_signed_int;
@@ -4972,7 +5232,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
end vec_sll;
+ -------------
-- vec_slo --
+ -------------
function vec_slo
(A : vector_float;
@@ -5102,7 +5364,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
end vec_slo;
+ ------------
-- vec_sr --
+ ------------
function vec_sr
(A : vector_signed_char;
@@ -5152,7 +5416,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_sr;
+ --------------
-- vec_vsrw --
+ --------------
function vec_vsrw
(A : vector_signed_int;
@@ -5170,7 +5436,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vsrw;
+ --------------
-- vec_vsrh --
+ --------------
function vec_vsrh
(A : vector_signed_short;
@@ -5188,7 +5456,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vsrh;
+ --------------
-- vec_vsrb --
+ --------------
function vec_vsrb
(A : vector_signed_char;
@@ -5206,7 +5476,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vsrb;
+ -------------
-- vec_sra --
+ -------------
function vec_sra
(A : vector_signed_char;
@@ -5256,7 +5528,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_sra;
+ ---------------
-- vec_vsraw --
+ ---------------
function vec_vsraw
(A : vector_signed_int;
@@ -5274,7 +5548,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vsraw;
+ ---------------
-- vec_vsrah --
+ ---------------
function vec_vsrah
(A : vector_signed_short;
@@ -5292,7 +5568,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vsrah;
+ ---------------
-- vec_vsrab --
+ ---------------
function vec_vsrab
(A : vector_signed_char;
@@ -5310,7 +5588,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vsrab;
+ -------------
-- vec_srl --
+ -------------
function vec_srl
(A : vector_signed_int;
@@ -5552,7 +5832,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
end vec_srl;
+ -------------
-- vec_sro --
+ -------------
function vec_sro
(A : vector_float;
@@ -5682,7 +5964,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
end vec_sro;
+ ------------
-- vec_st --
+ ------------
procedure vec_st
(A : vector_float;
@@ -5918,7 +6202,9 @@ package body GNAT.Altivec.Vector_Operations is
stvx (To_LL_VSI (A), B, To_PTR (C));
end vec_st;
+ -------------
-- vec_ste --
+ -------------
procedure vec_ste
(A : vector_signed_char;
@@ -6055,7 +6341,9 @@ package body GNAT.Altivec.Vector_Operations is
stvewx (To_LL_VSI (A), B, To_PTR (C));
end vec_ste;
+ ----------------
-- vec_stvewx --
+ ----------------
procedure vec_stvewx
(A : vector_float;
@@ -6102,7 +6390,9 @@ package body GNAT.Altivec.Vector_Operations is
stvewx (To_LL_VSI (A), B, To_PTR (C));
end vec_stvewx;
+ ----------------
-- vec_stvehx --
+ ----------------
procedure vec_stvehx
(A : vector_signed_short;
@@ -6158,7 +6448,9 @@ package body GNAT.Altivec.Vector_Operations is
stvehx (To_LL_VSS (A), B, To_PTR (C));
end vec_stvehx;
+ ----------------
-- vec_stvebx --
+ ----------------
procedure vec_stvebx
(A : vector_signed_char;
@@ -6196,7 +6488,9 @@ package body GNAT.Altivec.Vector_Operations is
stvebx (To_LL_VSC (A), B, To_PTR (C));
end vec_stvebx;
+ -------------
-- vec_stl --
+ -------------
procedure vec_stl
(A : vector_float;
@@ -6432,7 +6726,9 @@ package body GNAT.Altivec.Vector_Operations is
stvxl (To_LL_VSI (A), B, To_PTR (C));
end vec_stl;
+ -------------
-- vec_sub --
+ -------------
function vec_sub
(A : vector_bool_char;
@@ -6586,7 +6882,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B)));
end vec_sub;
+ ----------------
-- vec_vsubfp --
+ ----------------
function vec_vsubfp
(A : vector_float;
@@ -6596,7 +6894,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B)));
end vec_vsubfp;
+ -----------------
-- vec_vsubuwm --
+ -----------------
function vec_vsubuwm
(A : vector_bool_int;
@@ -6646,7 +6946,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vsubuwm;
+ -----------------
-- vec_vsubuhm --
+ -----------------
function vec_vsubuhm
(A : vector_bool_short;
@@ -6696,7 +6998,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vsubuhm;
+ -----------------
-- vec_vsububm --
+ -----------------
function vec_vsububm
(A : vector_bool_char;
@@ -6746,7 +7050,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vsububm;
+ --------------
-- vec_subc --
+ --------------
function vec_subc
(A : vector_unsigned_int;
@@ -6756,7 +7062,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsubcuw (To_LL_VSI (A), To_LL_VSI (B)));
end vec_subc;
+ --------------
-- vec_subs --
+ --------------
function vec_subs
(A : vector_bool_char;
@@ -6902,7 +7210,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_subs;
+ -----------------
-- vec_vsubsws --
+ -----------------
function vec_vsubsws
(A : vector_bool_int;
@@ -6928,7 +7238,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vsubsws;
+ -----------------
-- vec_vsubuws --
+ -----------------
function vec_vsubuws
(A : vector_bool_int;
@@ -6954,7 +7266,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_vsubuws;
+ -----------------
-- vec_vsubshs --
+ -----------------
function vec_vsubshs
(A : vector_bool_short;
@@ -6980,7 +7294,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vsubshs;
+ -----------------
-- vec_vsubuhs --
+ -----------------
function vec_vsubuhs
(A : vector_bool_short;
@@ -7006,7 +7322,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
end vec_vsubuhs;
+ -----------------
-- vec_vsubsbs --
+ -----------------
function vec_vsubsbs
(A : vector_bool_char;
@@ -7032,7 +7350,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vsubsbs;
+ -----------------
-- vec_vsububs --
+ -----------------
function vec_vsububs
(A : vector_bool_char;
@@ -7058,7 +7378,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
end vec_vsububs;
+ ---------------
-- vec_sum4s --
+ ---------------
function vec_sum4s
(A : vector_unsigned_char;
@@ -7084,7 +7406,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B)));
end vec_sum4s;
+ ------------------
-- vec_vsum4shs --
+ ------------------
function vec_vsum4shs
(A : vector_signed_short;
@@ -7094,7 +7418,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B)));
end vec_vsum4shs;
+ ------------------
-- vec_vsum4sbs --
+ ------------------
function vec_vsum4sbs
(A : vector_signed_char;
@@ -7104,7 +7430,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vsum4sbs (To_LL_VSC (A), To_LL_VSI (B)));
end vec_vsum4sbs;
+ ------------------
-- vec_vsum4ubs --
+ ------------------
function vec_vsum4ubs
(A : vector_unsigned_char;
@@ -7114,7 +7442,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vsum4ubs (To_LL_VSC (A), To_LL_VSI (B)));
end vec_vsum4ubs;
+ ---------------
-- vec_sum2s --
+ ---------------
function vec_sum2s
(A : vector_signed_int;
@@ -7124,7 +7454,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vsum2sws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_sum2s;
+ --------------
-- vec_sums --
+ --------------
function vec_sums
(A : vector_signed_int;
@@ -7134,7 +7466,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vsumsws (To_LL_VSI (A), To_LL_VSI (B)));
end vec_sums;
+ ---------------
-- vec_trunc --
+ ---------------
function vec_trunc
(A : vector_float) return vector_float
@@ -7143,7 +7477,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VF (vrfiz (To_LL_VF (A)));
end vec_trunc;
+ -----------------
-- vec_unpackh --
+ -----------------
function vec_unpackh
(A : vector_signed_char) return vector_signed_short
@@ -7180,7 +7516,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vupkhpx (To_LL_VSS (A)));
end vec_unpackh;
+ -----------------
-- vec_vupkhsh --
+ -----------------
function vec_vupkhsh
(A : vector_bool_short) return vector_bool_int
@@ -7196,7 +7534,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vupkhsh (To_LL_VSS (A)));
end vec_vupkhsh;
+ -----------------
-- vec_vupkhpx --
+ -----------------
function vec_vupkhpx
(A : vector_pixel) return vector_unsigned_int
@@ -7205,7 +7545,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vupkhpx (To_LL_VSS (A)));
end vec_vupkhpx;
+ -----------------
-- vec_vupkhsb --
+ -----------------
function vec_vupkhsb
(A : vector_bool_char) return vector_bool_short
@@ -7221,7 +7563,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vupkhsb (To_LL_VSC (A)));
end vec_vupkhsb;
+ -----------------
-- vec_unpackl --
+ -----------------
function vec_unpackl
(A : vector_signed_char) return vector_signed_short
@@ -7258,7 +7602,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vupklsh (To_LL_VSS (A)));
end vec_unpackl;
+ -----------------
-- vec_vupklpx --
+ -----------------
function vec_vupklpx
(A : vector_pixel) return vector_unsigned_int
@@ -7267,7 +7613,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vupklpx (To_LL_VSS (A)));
end vec_vupklpx;
- -- vec_upklsh --
+ -----------------
+ -- vec_vupklsh --
+ -----------------
function vec_vupklsh
(A : vector_bool_short) return vector_bool_int
@@ -7283,7 +7631,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSI (vupklsh (To_LL_VSS (A)));
end vec_vupklsh;
+ -----------------
-- vec_vupklsb --
+ -----------------
function vec_vupklsb
(A : vector_bool_char) return vector_bool_short
@@ -7299,7 +7649,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VSS (vupklsb (To_LL_VSC (A)));
end vec_vupklsb;
+ -------------
-- vec_xor --
+ -------------
function vec_xor
(A : vector_float;
@@ -7493,7 +7845,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
end vec_xor;
+ -------------
-- vec_dst --
+ -------------
procedure vec_dst
(A : const_vector_unsigned_char_ptr;
@@ -7675,7 +8029,9 @@ package body GNAT.Altivec.Vector_Operations is
dst (To_PTR (A), B, C);
end vec_dst;
+ --------------
-- vec_dstt --
+ --------------
procedure vec_dstt
(A : const_vector_unsigned_char_ptr;
@@ -7857,7 +8213,9 @@ package body GNAT.Altivec.Vector_Operations is
dstt (To_PTR (A), B, C);
end vec_dstt;
+ ---------------
-- vec_dstst --
+ ---------------
procedure vec_dstst
(A : const_vector_unsigned_char_ptr;
@@ -8039,7 +8397,9 @@ package body GNAT.Altivec.Vector_Operations is
dstst (To_PTR (A), B, C);
end vec_dstst;
+ ----------------
-- vec_dststt --
+ ----------------
procedure vec_dststt
(A : const_vector_unsigned_char_ptr;
@@ -8221,7 +8581,9 @@ package body GNAT.Altivec.Vector_Operations is
dststt (To_PTR (A), B, C);
end vec_dststt;
+ ----------------
-- vec_vspltw --
+ ----------------
function vec_vspltw
(A : vector_float;
@@ -8247,7 +8609,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBI (vspltw (To_LL_VSI (A), B));
end vec_vspltw;
+ ----------------
-- vec_vsplth --
+ ----------------
function vec_vsplth
(A : vector_bool_short;
@@ -8273,7 +8637,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VP (vsplth (To_LL_VSS (A), B));
end vec_vsplth;
+ ----------------
-- vec_vspltb --
+ ----------------
function vec_vspltb
(A : vector_unsigned_char;
@@ -8291,7 +8657,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vspltb (To_LL_VSC (A), B));
end vec_vspltb;
+ ------------------
-- vec_splat_u8 --
+ ------------------
function vec_splat_u8
(A : c_int) return vector_unsigned_char
@@ -8300,7 +8668,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUC (vspltisb (A));
end vec_splat_u8;
+ -------------------
-- vec_splat_u16 --
+ -------------------
function vec_splat_u16
(A : c_int) return vector_unsigned_short
@@ -8309,7 +8679,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUS (vspltish (A));
end vec_splat_u16;
+ -------------------
-- vec_splat_u32 --
+ -------------------
function vec_splat_u32
(A : c_int) return vector_unsigned_int
@@ -8318,7 +8690,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VUI (vspltisw (A));
end vec_splat_u32;
+ -------------
-- vec_sld --
+ -------------
function vec_sld
(A : vector_unsigned_int;
@@ -8383,11 +8757,9 @@ package body GNAT.Altivec.Vector_Operations is
return To_LL_VBC (vsldoi_16qi (To_LL_VSC (A), To_LL_VSC (B), C));
end vec_sld;
- -----------------------------------
- -- Bodies for Altivec predicates --
- -----------------------------------
-
+ ----------------
-- vec_all_eq --
+ ----------------
function vec_all_eq
(A : vector_signed_char;
@@ -8573,7 +8945,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
end vec_all_eq;
+ ----------------
-- vec_all_ge --
+ ----------------
function vec_all_ge
(A : vector_bool_char;
@@ -8727,7 +9101,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
end vec_all_ge;
+ ----------------
-- vec_all_gt --
+ ----------------
function vec_all_gt
(A : vector_bool_char;
@@ -8881,7 +9257,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
end vec_all_gt;
+ ----------------
-- vec_all_in --
+ ----------------
function vec_all_in
(A : vector_float;
@@ -8891,7 +9269,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpbfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
end vec_all_in;
+ ----------------
-- vec_all_le --
+ ----------------
function vec_all_le
(A : vector_bool_char;
@@ -9045,7 +9425,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A));
end vec_all_le;
+ ----------------
-- vec_all_lt --
+ ----------------
function vec_all_lt
(A : vector_bool_char;
@@ -9199,7 +9581,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A));
end vec_all_lt;
+ -----------------
-- vec_all_nan --
+ -----------------
function vec_all_nan
(A : vector_float) return c_int
@@ -9208,7 +9592,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (A));
end vec_all_nan;
+ ----------------
-- vec_all_ne --
+ ----------------
function vec_all_ne
(A : vector_signed_char;
@@ -9394,7 +9780,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
end vec_all_ne;
+ -----------------
-- vec_all_nge --
+ -----------------
function vec_all_nge
(A : vector_float;
@@ -9404,7 +9792,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
end vec_all_nge;
+ -----------------
-- vec_all_ngt --
+ -----------------
function vec_all_ngt
(A : vector_float;
@@ -9414,7 +9804,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
end vec_all_ngt;
+ -----------------
-- vec_all_nle --
+ -----------------
function vec_all_nle
(A : vector_float;
@@ -9424,7 +9816,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A));
end vec_all_nle;
+ -----------------
-- vec_all_nlt --
+ -----------------
function vec_all_nlt
(A : vector_float;
@@ -9434,7 +9828,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A));
end vec_all_nlt;
+ ---------------------
-- vec_all_numeric --
+ ---------------------
function vec_all_numeric
(A : vector_float) return c_int
@@ -9443,7 +9839,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (A));
end vec_all_numeric;
+ ----------------
-- vec_any_eq --
+ ----------------
function vec_any_eq
(A : vector_signed_char;
@@ -9629,7 +10027,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
end vec_any_eq;
+ ----------------
-- vec_any_ge --
+ ----------------
function vec_any_ge
(A : vector_signed_char;
@@ -9783,7 +10183,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
end vec_any_ge;
+ ----------------
-- vec_any_gt --
+ ----------------
function vec_any_gt
(A : vector_bool_char;
@@ -9937,7 +10339,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
end vec_any_gt;
+ ----------------
-- vec_any_le --
+ ----------------
function vec_any_le
(A : vector_bool_char;
@@ -10091,7 +10495,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A));
end vec_any_le;
+ ----------------
-- vec_any_lt --
+ ----------------
function vec_any_lt
(A : vector_bool_char;
@@ -10245,7 +10651,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A));
end vec_any_lt;
+ -----------------
-- vec_any_nan --
+ -----------------
function vec_any_nan
(A : vector_float) return c_int
@@ -10254,7 +10662,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (A));
end vec_any_nan;
+ ----------------
-- vec_any_ne --
+ ----------------
function vec_any_ne
(A : vector_signed_char;
@@ -10440,7 +10850,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
end vec_any_ne;
+ -----------------
-- vec_any_nge --
+ -----------------
function vec_any_nge
(A : vector_float;
@@ -10450,7 +10862,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
end vec_any_nge;
+ -----------------
-- vec_any_ngt --
+ -----------------
function vec_any_ngt
(A : vector_float;
@@ -10460,7 +10874,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
end vec_any_ngt;
+ -----------------
-- vec_any_nle --
+ -----------------
function vec_any_nle
(A : vector_float;
@@ -10470,7 +10886,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgefp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A));
end vec_any_nle;
+ -----------------
-- vec_any_nlt --
+ -----------------
function vec_any_nlt
(A : vector_float;
@@ -10480,7 +10898,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A));
end vec_any_nlt;
+ ---------------------
-- vec_any_numeric --
+ ---------------------
function vec_any_numeric
(A : vector_float) return c_int
@@ -10489,7 +10909,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (A));
end vec_any_numeric;
+ -----------------
-- vec_any_out --
+ -----------------
function vec_any_out
(A : vector_float;
@@ -10499,7 +10921,9 @@ package body GNAT.Altivec.Vector_Operations is
return vcmpbfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
end vec_any_out;
+ --------------
-- vec_step --
+ --------------
function vec_step
(V : vector_unsigned_char) return Integer