diff options
author | Robert Dewar <dewar@adacore.com> | 2015-02-20 14:27:54 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-02-20 15:27:54 +0100 |
commit | 4060ebd4be9d17ba7a5cb8dc44a7e047232bf335 (patch) | |
tree | 9308476d6d50f7986d912f42def99b50df0d9f80 /gcc/ada/g-alveop.ads | |
parent | 9ec98e13b932b9d8404d8d8d61357662e80b35d1 (diff) | |
download | gcc-4060ebd4be9d17ba7a5cb8dc44a7e047232bf335.zip gcc-4060ebd4be9d17ba7a5cb8dc44a7e047232bf335.tar.gz gcc-4060ebd4be9d17ba7a5cb8dc44a7e047232bf335.tar.bz2 |
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
Diffstat (limited to 'gcc/ada/g-alveop.ads')
-rw-r--r-- | gcc/ada/g-alveop.ads | 605 |
1 files changed, 472 insertions, 133 deletions
diff --git a/gcc/ada/g-alveop.ads b/gcc/ada/g-alveop.ads index eb05e4e..82bc5f4 100644 --- a/gcc/ada/g-alveop.ads +++ b/gcc/ada/g-alveop.ads @@ -32,49 +32,57 @@ -- This unit is the user-level Ada interface to AltiVec operations on vector -- objects. It is common to both the Soft and the Hard bindings. -with GNAT.Altivec.Vector_Types; use GNAT.Altivec.Vector_Types; +with GNAT.Altivec.Vector_Types; use GNAT.Altivec.Vector_Types; with GNAT.Altivec.Low_Level_Vectors; use GNAT.Altivec.Low_Level_Vectors; +------------------------------------ +-- GNAT.Altivec.Vector_Operations -- +------------------------------------ + +------------------------------------ +-- GNAT.Altivec.Vector_Operations -- +------------------------------------ + package GNAT.Altivec.Vector_Operations is ------------------------------------- - -- Different flavors of interfaces -- + -- Different Flavors of Interfaces -- ------------------------------------- -- The vast majority of the user visible functions are just neutral type -- conversion wrappers around calls to low level primitives. For instance: - -- + -- function vec_sll -- (A : vector_signed_int; -- B : vector_unsigned_char) return vector_signed_int is -- begin -- return To_VSI (vsl (To_VSI (A), To_VSI (B))); -- end vec_sll; - -- + -- We actually don't always need an explicit wrapper and can bind directly -- with a straight Import of the low level routine, or a renaming of such -- instead. - -- + -- A direct binding is not possible (that is, a wrapper is mandatory) in -- a number of cases: - -- + -- o When the high-level/low-level types don't match, in which case a -- straight import would risk wrong code generation or compiler blowups in -- the Hard binding case. This is the case for 'B' in the example above. - -- + -- o When the high-level/low-level argument lists differ, as is the case -- for most of the AltiVec predicates, relying on a low-level primitive -- which expects a control code argument, like: - -- + -- function vec_any_ne -- (A : vector_signed_int; -- B : vector_signed_int) return c_int is -- begin -- return vcmpequw_p (CR6_LT_REV, To_VSI (A), To_VSI (B)); -- end vec_any_ne; - -- + -- o When the high-level/low-level arguments order don't match, as in: - -- + -- function vec_cmplt -- (A : vector_unsigned_char; -- B : vector_unsigned_char) return vector_bool_char is @@ -83,16 +91,15 @@ package GNAT.Altivec.Vector_Operations is -- end vec_cmplt; ----------------------------- - -- Inlining considerations -- + -- Inlining Considerations -- ----------------------------- - -- The intent in the Hard binding case is to eventually map operations to + -- The intent in the hard binding case is to eventually map operations to -- hardware instructions. Needless to say, intermediate function calls do - -- not fit this purpose, so all the user visible subprograms need to be - -- marked Inline_Always. Some of the builtins we eventually bind to expect - -- literal arguments. Wrappers to such builtins are made Convention - -- Intrinsic as well so we don't attempt to compile the bodies on their - -- own. + -- not fit this purpose, so all user visible subprograms need to be marked + -- Inline_Always. Some of the builtins we eventually bind to expect literal + -- arguments. Wrappers to such builtins are made Convention Intrinsic as + -- well so we don't attempt to compile the bodies on their own. -- In the soft case, the bulk of the work is performed by the low level -- routines, and those exported by this unit are short enough for the @@ -102,7 +109,9 @@ package GNAT.Altivec.Vector_Operations is -- [PIM-4.4 Generic and Specific AltiVec operations] -- ------------------------------------------------------- + ------------- -- vec_abs -- + ------------- function vec_abs (A : vector_signed_char) return vector_signed_char; @@ -116,7 +125,9 @@ package GNAT.Altivec.Vector_Operations is function vec_abs (A : vector_float) return vector_float; + -------------- -- vec_abss -- + -------------- function vec_abss (A : vector_signed_char) return vector_signed_char; @@ -127,7 +138,9 @@ package GNAT.Altivec.Vector_Operations is function vec_abss (A : vector_signed_int) return vector_signed_int; + ------------- -- vec_add -- + ------------- function vec_add (A : vector_bool_char; @@ -205,13 +218,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vaddfp -- + ---------------- function vec_vaddfp (A : vector_float; B : vector_float) return vector_float; + ----------------- -- vec_vadduwm -- + ----------------- function vec_vadduwm (A : vector_bool_int; @@ -237,7 +254,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vadduhm -- + ----------------- function vec_vadduhm (A : vector_bool_short; @@ -263,7 +282,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vaddubm -- + ----------------- function vec_vaddubm (A : vector_bool_char; @@ -289,13 +310,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_addc -- + -------------- function vec_addc (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_adds -- + -------------- function vec_adds (A : vector_bool_char; @@ -369,7 +394,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vaddsws -- + ----------------- function vec_vaddsws (A : vector_bool_int; @@ -383,7 +410,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vadduws -- + ----------------- function vec_vadduws (A : vector_bool_int; @@ -397,7 +426,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vaddshs -- + ----------------- function vec_vaddshs (A : vector_bool_short; @@ -411,7 +442,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ----------------- -- vec_vadduhs -- + ----------------- function vec_vadduhs (A : vector_bool_short; @@ -425,7 +458,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vaddsbs -- + ----------------- function vec_vaddsbs (A : vector_bool_char; @@ -439,7 +474,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ----------------- -- vec_vaddubs -- + ----------------- function vec_vaddubs (A : vector_bool_char; @@ -453,7 +490,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_and -- + ------------- function vec_and (A : vector_float; @@ -551,7 +590,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_andc -- + -------------- function vec_andc (A : vector_float; @@ -649,7 +690,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_avg -- + ------------- function vec_avg (A : vector_unsigned_char; @@ -675,55 +718,69 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vavgsw -- + ---------------- function vec_vavgsw (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vavguw -- + ---------------- function vec_vavguw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vavgsh -- + ---------------- function vec_vavgsh (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ---------------- -- vec_vavguh -- + ---------------- function vec_vavguh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_vavgsb -- + ---------------- function vec_vavgsb (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ---------------- -- vec_vavgub -- + ---------------- function vec_vavgub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_ceil -- + -------------- function vec_ceil (A : vector_float) return vector_float; + -------------- -- vec_cmpb -- + -------------- function vec_cmpb (A : vector_float; B : vector_float) return vector_signed_int; - -- vec_cmpeq -- - function vec_cmpeq (A : vector_signed_char; B : vector_signed_char) return vector_bool_char; @@ -752,13 +809,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpeqfp -- + ------------------ function vec_vcmpeqfp (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpequw -- + ------------------ function vec_vcmpequw (A : vector_signed_int; @@ -768,7 +829,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_bool_int; + ------------------ -- vec_vcmpequh -- + ------------------ function vec_vcmpequh (A : vector_signed_short; @@ -778,7 +841,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_bool_short; + ------------------ -- vec_vcmpequb -- + ------------------ function vec_vcmpequb (A : vector_signed_char; @@ -788,13 +853,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_bool_char; + --------------- -- vec_cmpge -- + --------------- function vec_cmpge (A : vector_float; B : vector_float) return vector_bool_int; + --------------- -- vec_cmpgt -- + --------------- function vec_cmpgt (A : vector_unsigned_char; @@ -824,55 +893,73 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpgtfp -- + ------------------ function vec_vcmpgtfp (A : vector_float; B : vector_float) return vector_bool_int; + ------------------ -- vec_vcmpgtsw -- + ------------------ function vec_vcmpgtsw (A : vector_signed_int; B : vector_signed_int) return vector_bool_int; + ------------------ -- vec_vcmpgtuw -- + ------------------ function vec_vcmpgtuw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_bool_int; + ------------------ -- vec_vcmpgtsh -- + ------------------ function vec_vcmpgtsh (A : vector_signed_short; B : vector_signed_short) return vector_bool_short; + ------------------ -- vec_vcmpgtuh -- + ------------------ function vec_vcmpgtuh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_bool_short; + ------------------ -- vec_vcmpgtsb -- + ------------------ function vec_vcmpgtsb (A : vector_signed_char; B : vector_signed_char) return vector_bool_char; + ------------------ -- vec_vcmpgtub -- + ------------------ function vec_vcmpgtub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_bool_char; + --------------- -- vec_cmple -- + --------------- function vec_cmple (A : vector_float; B : vector_float) return vector_bool_int; + --------------- -- vec_cmplt -- + --------------- function vec_cmplt (A : vector_unsigned_char; @@ -902,46 +989,60 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_bool_int; + --------------- -- vec_vcfsx -- + --------------- function vec_vcfsx (A : vector_signed_int; B : c_int) return vector_float renames Low_Level_Vectors.vcfsx; + --------------- -- vec_vcfux -- + --------------- function vec_vcfux (A : vector_unsigned_int; B : c_int) return vector_float renames Low_Level_Vectors.vcfux; + ---------------- -- vec_vctsxs -- + ---------------- function vec_vctsxs (A : vector_float; B : c_int) return vector_signed_int renames Low_Level_Vectors.vctsxs; + ---------------- -- vec_vctuxs -- + ---------------- function vec_vctuxs (A : vector_float; B : c_int) return vector_unsigned_int renames Low_Level_Vectors.vctuxs; + ------------- -- vec_dss -- + ------------- procedure vec_dss (A : c_int) renames Low_Level_Vectors.dss; + ---------------- -- vec_dssall -- + ---------------- procedure vec_dssall renames Low_Level_Vectors.dssall; + ------------- -- vec_dst -- + ------------- procedure vec_dst (A : const_vector_unsigned_char_ptr; @@ -1042,11 +1143,12 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dst); pragma Convention (Intrinsic, vec_dst); + --------------- -- vec_dstst -- + --------------- procedure vec_dstst (A : const_vector_unsigned_char_ptr; @@ -1147,11 +1249,12 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dstst); pragma Convention (Intrinsic, vec_dstst); + ---------------- -- vec_dststt -- + ---------------- procedure vec_dststt (A : const_vector_unsigned_char_ptr; @@ -1252,11 +1355,12 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dststt); pragma Convention (Intrinsic, vec_dststt); + -------------- -- vec_dstt -- + -------------- procedure vec_dstt (A : const_vector_unsigned_char_ptr; @@ -1357,21 +1461,26 @@ package GNAT.Altivec.Vector_Operations is (A : const_float_ptr; B : c_int; C : c_int); - pragma Inline_Always (vec_dstt); pragma Convention (Intrinsic, vec_dstt); + --------------- -- vec_expte -- + --------------- function vec_expte (A : vector_float) return vector_float; + --------------- -- vec_floor -- + --------------- function vec_floor (A : vector_float) return vector_float; + ------------ -- vec_ld -- + ------------ function vec_ld (A : c_long; @@ -1453,7 +1562,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : const_unsigned_char_ptr) return vector_unsigned_char; + ------------- -- vec_lde -- + ------------- function vec_lde (A : c_long; @@ -1491,7 +1602,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : const_unsigned_long_ptr) return vector_unsigned_int; + --------------- -- vec_lvewx -- + --------------- function vec_lvewx (A : c_long; @@ -1513,7 +1626,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : unsigned_long_ptr) return vector_unsigned_int; + --------------- -- vec_lvehx -- + --------------- function vec_lvehx (A : c_long; @@ -1523,7 +1638,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : unsigned_short_ptr) return vector_unsigned_short; + --------------- -- vec_lvebx -- + --------------- function vec_lvebx (A : c_long; @@ -1533,7 +1650,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : unsigned_char_ptr) return vector_unsigned_char; + ------------- -- vec_ldl -- + ------------- function vec_ldl (A : c_long; @@ -1615,12 +1734,16 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : const_unsigned_char_ptr) return vector_unsigned_char; + -------------- -- vec_loge -- + -------------- function vec_loge (A : vector_float) return vector_float; + -------------- -- vec_lvsl -- + -------------- function vec_lvsl (A : c_long; @@ -1658,7 +1781,9 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : constv_float_ptr) return vector_unsigned_char; + -------------- -- vec_lvsr -- + -------------- function vec_lvsr (A : c_long; @@ -1696,21 +1821,27 @@ package GNAT.Altivec.Vector_Operations is (A : c_long; B : constv_float_ptr) return vector_unsigned_char; + -------------- -- vec_madd -- + -------------- function vec_madd (A : vector_float; B : vector_float; C : vector_float) return vector_float; + --------------- -- vec_madds -- + --------------- function vec_madds (A : vector_signed_short; B : vector_signed_short; C : vector_signed_short) return vector_signed_short; + ------------- -- vec_max -- + ------------- function vec_max (A : vector_bool_char; @@ -1788,13 +1919,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vmaxfp -- + ---------------- function vec_vmaxfp (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vmaxsw -- + ---------------- function vec_vmaxsw (A : vector_bool_int; @@ -1808,7 +1943,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vmaxuw -- + ---------------- function vec_vmaxuw (A : vector_bool_int; @@ -1822,7 +1959,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmaxsh -- + ---------------- function vec_vmaxsh (A : vector_bool_short; @@ -1836,7 +1975,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ---------------- -- vec_vmaxuh -- + ---------------- function vec_vmaxuh (A : vector_bool_short; @@ -1850,7 +1991,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_vmaxsb -- + ---------------- function vec_vmaxsb (A : vector_bool_char; @@ -1864,7 +2007,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ---------------- -- vec_vmaxub -- + ---------------- function vec_vmaxub (A : vector_bool_char; @@ -1878,7 +2023,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_mergeh -- + ---------------- function vec_mergeh (A : vector_bool_char; @@ -1924,7 +2071,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmrghw -- + ---------------- function vec_vmrghw (A : vector_float; @@ -1942,7 +2091,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmrghh -- + ---------------- function vec_vmrghh (A : vector_bool_short; @@ -1960,7 +2111,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_pixel; B : vector_pixel) return vector_pixel; + ---------------- -- vec_vmrghb -- + ---------------- function vec_vmrghb (A : vector_bool_char; @@ -1974,7 +2127,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_mergel -- + ---------------- function vec_mergel (A : vector_bool_char; @@ -2020,7 +2175,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vmrglw -- + ---------------- function vec_vmrglw (A : vector_float; @@ -2038,7 +2195,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_int; B : vector_bool_int) return vector_bool_int; + ---------------- -- vec_vmrglh -- + ---------------- function vec_vmrglh (A : vector_bool_short; @@ -2056,7 +2215,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_pixel; B : vector_pixel) return vector_pixel; + ---------------- -- vec_vmrglb -- + ---------------- function vec_vmrglb (A : vector_bool_char; @@ -2070,11 +2231,15 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_mfvscr -- + ---------------- function vec_mfvscr return vector_unsigned_short; + ------------- -- vec_min -- + ------------- function vec_min (A : vector_bool_char; @@ -2152,13 +2317,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vminfp -- + ---------------- function vec_vminfp (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vminsw -- + ---------------- function vec_vminsw (A : vector_bool_int; @@ -2172,7 +2341,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ---------------- -- vec_vminuw -- + ---------------- function vec_vminuw (A : vector_bool_int; @@ -2186,7 +2357,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_vminsh -- + ---------------- function vec_vminsh (A : vector_bool_short; @@ -2200,7 +2373,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ---------------- -- vec_vminuh -- + ---------------- function vec_vminuh (A : vector_bool_short; @@ -2214,7 +2389,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_vminsb -- + ---------------- function vec_vminsb (A : vector_bool_char; @@ -2228,7 +2405,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ---------------- -- vec_vminub -- + ---------------- function vec_vminub (A : vector_bool_char; @@ -2242,7 +2421,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + --------------- -- vec_mladd -- + --------------- function vec_mladd (A : vector_signed_short; @@ -2264,14 +2445,18 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_short; C : vector_unsigned_short) return vector_unsigned_short; + ---------------- -- vec_mradds -- + ---------------- function vec_mradds (A : vector_signed_short; B : vector_signed_short; C : vector_signed_short) return vector_signed_short; + -------------- -- vec_msum -- + -------------- function vec_msum (A : vector_unsigned_char; @@ -2293,35 +2478,45 @@ package GNAT.Altivec.Vector_Operations is B : vector_signed_short; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumshm -- + ------------------ function vec_vmsumshm (A : vector_signed_short; B : vector_signed_short; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumuhm -- + ------------------ function vec_vmsumuhm (A : vector_unsigned_short; B : vector_unsigned_short; C : vector_unsigned_int) return vector_unsigned_int; + ------------------ -- vec_vmsummbm -- + ------------------ function vec_vmsummbm (A : vector_signed_char; B : vector_unsigned_char; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumubm -- + ------------------ function vec_vmsumubm (A : vector_unsigned_char; B : vector_unsigned_char; C : vector_unsigned_int) return vector_unsigned_int; + --------------- -- vec_msums -- + --------------- function vec_msums (A : vector_unsigned_short; @@ -2333,21 +2528,23 @@ package GNAT.Altivec.Vector_Operations is B : vector_signed_short; C : vector_signed_int) return vector_signed_int; - -- vec_vmsumshs -- - function vec_vmsumshs (A : vector_signed_short; B : vector_signed_short; C : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vmsumuhs -- + ------------------ function vec_vmsumuhs (A : vector_unsigned_short; B : vector_unsigned_short; C : vector_unsigned_int) return vector_unsigned_int; + ---------------- -- vec_mtvscr -- + ---------------- procedure vec_mtvscr (A : vector_signed_int); @@ -2379,7 +2576,9 @@ package GNAT.Altivec.Vector_Operations is procedure vec_mtvscr (A : vector_bool_char); + -------------- -- vec_mule -- + -------------- function vec_mule (A : vector_unsigned_char; @@ -2397,31 +2596,41 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmulesh -- + ----------------- function vec_vmulesh (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmuleuh -- + ----------------- function vec_vmuleuh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_int; + ----------------- -- vec_vmulesb -- + ----------------- function vec_vmulesb (A : vector_signed_char; B : vector_signed_char) return vector_signed_short; + ----------------- -- vec_vmuleub -- + ----------------- function vec_vmuleub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_short; + -------------- -- vec_mulo -- + -------------- function vec_mulo (A : vector_unsigned_char; @@ -2439,38 +2648,50 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmulosh -- + ----------------- function vec_vmulosh (A : vector_signed_short; B : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vmulouh -- + ----------------- function vec_vmulouh (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_int; + ----------------- -- vec_vmulosb -- + ----------------- function vec_vmulosb (A : vector_signed_char; B : vector_signed_char) return vector_signed_short; + ----------------- -- vec_vmuloub -- + ----------------- function vec_vmuloub (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_short; + --------------- -- vec_nmsub -- + --------------- function vec_nmsub (A : vector_float; B : vector_float; C : vector_float) return vector_float; + ------------- -- vec_nor -- + ------------- function vec_nor (A : vector_float; @@ -2512,7 +2733,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_bool_char) return vector_bool_char; + ------------ -- vec_or -- + ------------ function vec_or (A : vector_float; @@ -2610,7 +2833,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_pack -- + -------------- function vec_pack (A : vector_signed_short; @@ -2636,7 +2861,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_int; B : vector_bool_int) return vector_bool_short; + ----------------- -- vec_vpkuwum -- + ----------------- function vec_vpkuwum (A : vector_bool_int; @@ -2650,7 +2877,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_short; + ----------------- -- vec_vpkuhum -- + ----------------- function vec_vpkuhum (A : vector_bool_short; @@ -2664,13 +2893,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_char; + ---------------- -- vec_packpx -- + ---------------- function vec_packpx (A : vector_unsigned_int; B : vector_unsigned_int) return vector_pixel; + --------------- -- vec_packs -- + --------------- function vec_packs (A : vector_unsigned_short; @@ -2688,31 +2921,41 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_short; + ----------------- -- vec_vpkswss -- + ----------------- function vec_vpkswss (A : vector_signed_int; B : vector_signed_int) return vector_signed_short; + ----------------- -- vec_vpkuwus -- + ----------------- function vec_vpkuwus (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_short; + ----------------- -- vec_vpkshss -- + ----------------- function vec_vpkshss (A : vector_signed_short; B : vector_signed_short) return vector_signed_char; + ----------------- -- vec_vpkuhus -- + ----------------- function vec_vpkuhus (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_char; + ---------------- -- vec_packsu -- + ---------------- function vec_packsu (A : vector_unsigned_short; @@ -2730,19 +2973,25 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_unsigned_short; + ----------------- -- vec_vpkswus -- + ----------------- function vec_vpkswus (A : vector_signed_int; B : vector_signed_int) return vector_unsigned_short; + ----------------- -- vec_vpkshus -- + ----------------- function vec_vpkshus (A : vector_signed_short; B : vector_signed_short) return vector_unsigned_char; + -------------- -- vec_perm -- + -------------- function vec_perm (A : vector_float; @@ -2799,12 +3048,16 @@ package GNAT.Altivec.Vector_Operations is B : vector_bool_char; C : vector_unsigned_char) return vector_bool_char; + ------------ -- vec_re -- + ------------ function vec_re (A : vector_float) return vector_float; + ------------ -- vec_rl -- + ------------ function vec_rl (A : vector_signed_char; @@ -2830,7 +3083,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vrlw -- + -------------- function vec_vrlw (A : vector_signed_int; @@ -2840,7 +3095,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vrlh -- + -------------- function vec_vrlh (A : vector_signed_short; @@ -2850,7 +3107,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + -------------- -- vec_vrlb -- + -------------- function vec_vrlb (A : vector_signed_char; @@ -2860,17 +3119,23 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + --------------- -- vec_round -- + --------------- function vec_round (A : vector_float) return vector_float; + ---------------- -- vec_rsqrte -- + ---------------- function vec_rsqrte (A : vector_float) return vector_float; + ------------- -- vec_sel -- + ------------- function vec_sel (A : vector_float; @@ -2972,7 +3237,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_bool_char; C : vector_unsigned_char) return vector_bool_char; + ------------ -- vec_sl -- + ------------ function vec_sl (A : vector_signed_char; @@ -2998,7 +3265,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vslw -- + -------------- function vec_vslw (A : vector_signed_int; @@ -3008,7 +3277,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vslh -- + -------------- function vec_vslh (A : vector_signed_short; @@ -3018,7 +3289,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + -------------- -- vec_vslb -- + -------------- function vec_vslb (A : vector_signed_char; @@ -3028,7 +3301,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_sld -- + ------------- function vec_sld (A : vector_unsigned_int; @@ -3064,7 +3339,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_bool_char; C : c_int) return vector_bool_char; - pragma Inline_Always (vec_sld); pragma Convention (Intrinsic, vec_sld); @@ -3092,7 +3366,9 @@ package GNAT.Altivec.Vector_Operations is C : c_int) return vector_signed_char renames Low_Level_Vectors.vsldoi_16qi; + ------------- -- vec_sll -- + ------------- function vec_sll (A : vector_signed_int; @@ -3214,7 +3490,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_unsigned_char) return vector_bool_char; + ------------- -- vec_slo -- + ------------- function vec_slo (A : vector_float; @@ -3280,7 +3558,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ---------------- -- vec_vspltw -- + ---------------- function vec_vspltw (A : vector_float; @@ -3293,7 +3573,6 @@ package GNAT.Altivec.Vector_Operations is function vec_vspltw (A : vector_bool_int; B : c_int) return vector_bool_int; - pragma Inline_Always (vec_vspltw); pragma Convention (Intrinsic, vec_vspltw); @@ -3302,7 +3581,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_signed_int renames Low_Level_Vectors.vspltw; + ---------------- -- vec_vsplth -- + ---------------- function vec_vsplth (A : vector_bool_short; @@ -3315,7 +3596,6 @@ package GNAT.Altivec.Vector_Operations is function vec_vsplth (A : vector_pixel; B : c_int) return vector_pixel; - pragma Inline_Always (vec_vsplth); pragma Convention (Intrinsic, vec_vsplth); @@ -3324,7 +3604,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_signed_short renames Low_Level_Vectors.vsplth; + ---------------- -- vec_vspltb -- + ---------------- function vec_vspltb (A : vector_unsigned_char; @@ -3333,7 +3615,6 @@ package GNAT.Altivec.Vector_Operations is function vec_vspltb (A : vector_bool_char; B : c_int) return vector_bool_char; - pragma Inline_Always (vec_vspltb); pragma Convention (Intrinsic, vec_vspltb); @@ -3342,25 +3623,33 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_signed_char renames Low_Level_Vectors.vspltb; + ------------------ -- vec_vspltisb -- + ------------------ function vec_vspltisb (A : c_int) return vector_signed_char renames Low_Level_Vectors.vspltisb; + ------------------ -- vec_vspltish -- + ------------------ function vec_vspltish (A : c_int) return vector_signed_short renames Low_Level_Vectors.vspltish; + ------------------ -- vec_vspltisw -- + ------------------ function vec_vspltisw (A : c_int) return vector_signed_int renames Low_Level_Vectors.vspltisw; + ------------ -- vec_sr -- + ------------ function vec_sr (A : vector_signed_char; @@ -3386,7 +3675,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vsrw -- + -------------- function vec_vsrw (A : vector_signed_int; @@ -3396,7 +3687,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_vsrh -- + -------------- function vec_vsrh (A : vector_signed_short; @@ -3406,7 +3699,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + -------------- -- vec_vsrb -- + -------------- function vec_vsrb (A : vector_signed_char; @@ -3416,7 +3711,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_sra -- + ------------- function vec_sra (A : vector_signed_char; @@ -3442,7 +3739,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + --------------- -- vec_vsraw -- + --------------- function vec_vsraw (A : vector_signed_int; @@ -3452,8 +3751,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; - -- vec_vsrah -- - function vec_vsrah (A : vector_signed_short; B : vector_unsigned_short) return vector_signed_short; @@ -3462,8 +3759,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; - -- vec_vsrab -- - function vec_vsrab (A : vector_signed_char; B : vector_unsigned_char) return vector_signed_char; @@ -3472,7 +3767,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + ------------- -- vec_srl -- + ------------- function vec_srl (A : vector_signed_int; @@ -3594,8 +3891,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_bool_char; B : vector_unsigned_char) return vector_bool_char; - -- vec_sro -- - function vec_sro (A : vector_float; B : vector_signed_char) return vector_float; @@ -3660,8 +3955,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; - -- vec_st -- - procedure vec_st (A : vector_float; B : c_int; @@ -3792,7 +4085,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : signed_char_ptr); + ------------- -- vec_ste -- + ------------- procedure vec_ste (A : vector_signed_char; @@ -3869,7 +4164,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_int_ptr); + ---------------- -- vec_stvewx -- + ---------------- procedure vec_stvewx (A : vector_float; @@ -3896,8 +4193,6 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_int_ptr); - -- vec_stvehx -- - procedure vec_stvehx (A : vector_signed_short; B : c_int; @@ -3928,8 +4223,6 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_short_ptr); - -- vec_stvebx -- - procedure vec_stvebx (A : vector_signed_char; B : c_int; @@ -3950,8 +4243,6 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : unsigned_char_ptr); - -- vec_stl -- - procedure vec_stl (A : vector_float; B : c_int; @@ -4082,7 +4373,9 @@ package GNAT.Altivec.Vector_Operations is B : c_int; C : signed_char_ptr); + ------------- -- vec_sub -- + ------------- function vec_sub (A : vector_bool_char; @@ -4160,13 +4453,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return vector_float; + ---------------- -- vec_vsubfp -- + ---------------- function vec_vsubfp (A : vector_float; B : vector_float) return vector_float; + ----------------- -- vec_vsubuwm -- + ----------------- function vec_vsubuwm (A : vector_bool_int; @@ -4192,7 +4489,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vsubuhm -- + ----------------- function vec_vsubuhm (A : vector_bool_short; @@ -4218,7 +4517,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vsububm -- + ----------------- function vec_vsububm (A : vector_bool_char; @@ -4244,13 +4545,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + -------------- -- vec_subc -- + -------------- function vec_subc (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + -------------- -- vec_subs -- + -------------- function vec_subs (A : vector_bool_char; @@ -4324,7 +4629,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vsubsws -- + ----------------- function vec_vsubsws (A : vector_bool_int; @@ -4338,7 +4645,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + ----------------- -- vec_vsubuws -- + ----------------- function vec_vsubuws (A : vector_bool_int; @@ -4352,7 +4661,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int; + ----------------- -- vec_vsubshs -- + ----------------- function vec_vsubshs (A : vector_bool_short; @@ -4366,7 +4677,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_short) return vector_signed_short; + ----------------- -- vec_vsubuhs -- + ----------------- function vec_vsubuhs (A : vector_bool_short; @@ -4380,7 +4693,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_short; B : vector_unsigned_short) return vector_unsigned_short; + ----------------- -- vec_vsubsbs -- + ----------------- function vec_vsubsbs (A : vector_bool_char; @@ -4394,7 +4709,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_char; B : vector_signed_char) return vector_signed_char; + ----------------- -- vec_vsububs -- + ----------------- function vec_vsububs (A : vector_bool_char; @@ -4408,7 +4725,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; + --------------- -- vec_sum4s -- + --------------- function vec_sum4s (A : vector_unsigned_char; @@ -4422,43 +4741,49 @@ package GNAT.Altivec.Vector_Operations is (A : vector_signed_short; B : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vsum4shs -- + ------------------ function vec_vsum4shs (A : vector_signed_short; B : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vsum4sbs -- + ------------------ function vec_vsum4sbs (A : vector_signed_char; B : vector_signed_int) return vector_signed_int; + ------------------ -- vec_vsum4ubs -- + ------------------ function vec_vsum4ubs (A : vector_unsigned_char; B : vector_unsigned_int) return vector_unsigned_int; + --------------- -- vec_sum2s -- + --------------- function vec_sum2s (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; + -------------- -- vec_sums -- + -------------- function vec_sums (A : vector_signed_int; B : vector_signed_int) return vector_signed_int; - -- vec_trunc -- - function vec_trunc (A : vector_float) return vector_float; - -- vec_unpackh -- - function vec_unpackh (A : vector_signed_char) return vector_signed_short; @@ -4474,29 +4799,21 @@ package GNAT.Altivec.Vector_Operations is function vec_unpackh (A : vector_pixel) return vector_unsigned_int; - -- vec_vupkhsh -- - function vec_vupkhsh (A : vector_bool_short) return vector_bool_int; function vec_vupkhsh (A : vector_signed_short) return vector_signed_int; - -- vec_vupkhpx -- - function vec_vupkhpx (A : vector_pixel) return vector_unsigned_int; - -- vec_vupkhsb -- - function vec_vupkhsb (A : vector_bool_char) return vector_bool_short; function vec_vupkhsb (A : vector_signed_char) return vector_signed_short; - -- vec_unpackl -- - function vec_unpackl (A : vector_signed_char) return vector_signed_short; @@ -4512,12 +4829,12 @@ package GNAT.Altivec.Vector_Operations is function vec_unpackl (A : vector_bool_short) return vector_bool_int; - -- vec_vupklpx -- - function vec_vupklpx (A : vector_pixel) return vector_unsigned_int; - -- vec_upklsh -- + ----------------- + -- vec_vupklsh -- + ----------------- function vec_vupklsh (A : vector_bool_short) return vector_bool_int; @@ -4525,7 +4842,9 @@ package GNAT.Altivec.Vector_Operations is function vec_vupklsh (A : vector_signed_short) return vector_signed_int; + ----------------- -- vec_vupklsb -- + ----------------- function vec_vupklsb (A : vector_bool_char) return vector_bool_short; @@ -4533,7 +4852,9 @@ package GNAT.Altivec.Vector_Operations is function vec_vupklsb (A : vector_signed_char) return vector_signed_short; + ------------- -- vec_xor -- + ------------- function vec_xor (A : vector_float; @@ -4631,10 +4952,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_unsigned_char; B : vector_unsigned_char) return vector_unsigned_char; - ---------------------------------- - -- [PIM-4.5 AltiVec predicates] -- - ---------------------------------- - -- vec_all_eq -- function vec_all_eq @@ -4729,7 +5046,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_ge -- + ---------------- function vec_all_ge (A : vector_bool_char; @@ -4807,7 +5126,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_gt -- + ---------------- function vec_all_gt (A : vector_bool_char; @@ -4885,13 +5206,17 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_in -- + ---------------- function vec_all_in (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_le -- + ---------------- function vec_all_le (A : vector_bool_char; @@ -4969,7 +5294,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_all_lt -- + ---------------- function vec_all_lt (A : vector_bool_char; @@ -5047,12 +5374,16 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nan -- + ----------------- function vec_all_nan (A : vector_float) return c_int; + ---------------- -- vec_all_ne -- + ---------------- function vec_all_ne (A : vector_signed_char; @@ -5146,36 +5477,48 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nge -- + ----------------- function vec_all_nge (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_ngt -- + ----------------- function vec_all_ngt (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nle -- + ----------------- function vec_all_nle (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_all_nlt -- + ----------------- function vec_all_nlt (A : vector_float; B : vector_float) return c_int; + --------------------- -- vec_all_numeric -- + --------------------- function vec_all_numeric (A : vector_float) return c_int; + ---------------- -- vec_any_eq -- + ---------------- function vec_any_eq (A : vector_signed_char; @@ -5269,7 +5612,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_any_ge -- + ---------------- function vec_any_ge (A : vector_signed_char; @@ -5347,7 +5692,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ---------------- -- vec_any_gt -- + ---------------- function vec_any_gt (A : vector_bool_char; @@ -5425,8 +5772,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; - -- vec_any_le -- - function vec_any_le (A : vector_bool_char; B : vector_unsigned_char) return c_int; @@ -5503,8 +5848,6 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; - -- vec_any_lt -- - function vec_any_lt (A : vector_bool_char; B : vector_unsigned_char) return c_int; @@ -5581,13 +5924,9 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; - -- vec_any_nan -- - function vec_any_nan (A : vector_float) return c_int; - -- vec_any_ne -- - function vec_any_ne (A : vector_signed_char; B : vector_bool_char) return c_int; @@ -5680,65 +6019,53 @@ package GNAT.Altivec.Vector_Operations is (A : vector_float; B : vector_float) return c_int; + ----------------- -- vec_any_nge -- + ----------------- function vec_any_nge (A : vector_float; B : vector_float) return c_int; - -- vec_any_ngt -- - function vec_any_ngt (A : vector_float; B : vector_float) return c_int; - -- vec_any_nle -- - function vec_any_nle (A : vector_float; B : vector_float) return c_int; - -- vec_any_nlt -- - function vec_any_nlt (A : vector_float; B : vector_float) return c_int; - -- vec_any_numeric -- - function vec_any_numeric (A : vector_float) return c_int; - -- vec_any_out -- - function vec_any_out (A : vector_float; B : vector_float) return c_int; - ------------------------------------------- - -- Straight overloads of routines aboves -- - ------------------------------------------- - - -- vec_splat_s8 -- - function vec_splat_s8 (A : c_int) return vector_signed_char renames vec_vspltisb; + ------------------- -- vec_splat_s16 -- + ------------------- function vec_splat_s16 (A : c_int) return vector_signed_short renames vec_vspltish; + ------------------- -- vec_splat_s32 -- + ------------------- function vec_splat_s32 (A : c_int) return vector_signed_int renames vec_vspltisw; - -- vec_splat -- - function vec_splat (A : vector_signed_char; B : c_int) return vector_signed_char @@ -5794,31 +6121,36 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_bool_int renames vec_vspltw; + ------------------ -- vec_splat_u8 -- + ------------------ function vec_splat_u8 (A : c_int) return vector_unsigned_char; - pragma Inline_Always (vec_splat_u8); pragma Convention (Intrinsic, vec_splat_u8); + ------------------- -- vec_splat_u16 -- + ------------------- function vec_splat_u16 (A : c_int) return vector_unsigned_short; - pragma Inline_Always (vec_splat_u16); pragma Convention (Intrinsic, vec_splat_u16); + ------------------- -- vec_splat_u32 -- + ------------------- function vec_splat_u32 (A : c_int) return vector_unsigned_int; - pragma Inline_Always (vec_splat_u32); pragma Convention (Intrinsic, vec_splat_u32); + ------------- -- vec_ctf -- + ------------- function vec_ctf (A : vector_unsigned_int; @@ -5830,29 +6162,25 @@ package GNAT.Altivec.Vector_Operations is B : c_int) return vector_float renames vec_vcfsx; + ------------- -- vec_cts -- + ------------- function vec_cts (A : vector_float; B : c_int) return vector_signed_int renames vec_vctsxs; - -- vec_ctu -- - function vec_ctu (A : vector_float; B : c_int) return vector_unsigned_int renames vec_vctuxs; - -- vec_vaddcuw -- - function vec_vaddcuw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int renames vec_addc; - -- vec_vand -- - function vec_vand (A : vector_float; B : vector_float) return vector_float @@ -5973,7 +6301,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_and; + --------------- -- vec_vandc -- + --------------- function vec_vandc (A : vector_float; @@ -6095,40 +6425,40 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_andc; + --------------- -- vec_vrfip -- + --------------- function vec_vrfip (A : vector_float) return vector_float renames vec_ceil; + ----------------- -- vec_vcmpbfp -- + ----------------- function vec_vcmpbfp (A : vector_float; B : vector_float) return vector_signed_int renames vec_cmpb; - -- vec_vcmpgefp -- - function vec_vcmpgefp (A : vector_float; B : vector_float) return vector_bool_int renames vec_cmpge; - -- vec_vexptefp -- - function vec_vexptefp (A : vector_float) return vector_float renames vec_expte; + --------------- -- vec_vrfim -- + --------------- function vec_vrfim (A : vector_float) return vector_float renames vec_floor; - -- vec_lvx -- - function vec_lvx (A : c_long; B : const_vector_float_ptr) return vector_float @@ -6229,8 +6559,6 @@ package GNAT.Altivec.Vector_Operations is B : const_unsigned_char_ptr) return vector_unsigned_char renames vec_ld; - -- vec_lvxl -- - function vec_lvxl (A : c_long; B : const_vector_float_ptr) return vector_float @@ -6331,13 +6659,13 @@ package GNAT.Altivec.Vector_Operations is B : const_unsigned_char_ptr) return vector_unsigned_char renames vec_ldl; - -- vec_vlogefp -- - function vec_vlogefp (A : vector_float) return vector_float renames vec_loge; + ----------------- -- vec_vmaddfp -- + ----------------- function vec_vmaddfp (A : vector_float; @@ -6345,7 +6673,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_float) return vector_float renames vec_madd; + ------------------- -- vec_vmhaddshs -- + ------------------- function vec_vmhaddshs (A : vector_signed_short; @@ -6353,7 +6683,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_signed_short) return vector_signed_short renames vec_madds; + ------------------- -- vec_vmladduhm -- + ------------------- function vec_vmladduhm (A : vector_signed_short; @@ -6379,7 +6711,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_unsigned_short) return vector_unsigned_short renames vec_mladd; + -------------------- -- vec_vmhraddshs -- + -------------------- function vec_vmhraddshs (A : vector_signed_short; @@ -6387,7 +6721,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_signed_short) return vector_signed_short renames vec_mradds; + ------------------ -- vec_vnmsubfp -- + ------------------ function vec_vnmsubfp (A : vector_float; @@ -6395,7 +6731,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_float) return vector_float renames vec_nmsub; + -------------- -- vec_vnor -- + -------------- function vec_vnor (A : vector_float; @@ -6447,7 +6785,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_bool_char) return vector_bool_char renames vec_nor; + ------------- -- vec_vor -- + ------------- function vec_vor (A : vector_float; @@ -6569,14 +6909,18 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_or; + --------------- -- vec_vpkpx -- + --------------- function vec_vpkpx (A : vector_unsigned_int; B : vector_unsigned_int) return vector_pixel renames vec_packpx; + --------------- -- vec_vperm -- + --------------- function vec_vperm (A : vector_float; @@ -6644,26 +6988,26 @@ package GNAT.Altivec.Vector_Operations is C : vector_unsigned_char) return vector_bool_char renames vec_perm; + --------------- -- vec_vrefp -- + --------------- function vec_vrefp (A : vector_float) return vector_float renames vec_re; + --------------- -- vec_vrfin -- + --------------- function vec_vrfin (A : vector_float) return vector_float renames vec_round; - -- vec_vrsqrtefp -- - function vec_vrsqrtefp (A : vector_float) return vector_float renames vec_rsqrte; - -- vec_vsel -- - function vec_vsel (A : vector_float; B : vector_float; @@ -6784,7 +7128,9 @@ package GNAT.Altivec.Vector_Operations is C : vector_unsigned_char) return vector_bool_char renames vec_sel; + ---------------- -- vec_vsldoi -- + ---------------- function vec_vsldoi (A : vector_float; @@ -6852,7 +7198,9 @@ package GNAT.Altivec.Vector_Operations is C : c_int) return vector_bool_char renames vec_sld; + ------------- -- vec_vsl -- + ------------- function vec_vsl (A : vector_signed_int; @@ -7004,7 +7352,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_bool_char renames vec_sll; + -------------- -- vec_vslo -- + -------------- function vec_vslo (A : vector_float; @@ -7086,8 +7436,6 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_slo; - -- vec_vsr -- - function vec_vsr (A : vector_signed_int; B : vector_unsigned_int) return vector_signed_int @@ -7238,8 +7586,6 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_bool_char renames vec_srl; - -- vec_vsro -- - function vec_vsro (A : vector_float; B : vector_signed_char) return vector_float @@ -7320,7 +7666,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_sro; + -------------- -- vec_stvx -- + -------------- procedure vec_stvx (A : vector_float; @@ -7478,7 +7826,9 @@ package GNAT.Altivec.Vector_Operations is C : signed_char_ptr) renames vec_st; + --------------- -- vec_stvxl -- + --------------- procedure vec_stvxl (A : vector_float; @@ -7636,34 +7986,32 @@ package GNAT.Altivec.Vector_Operations is C : signed_char_ptr) renames vec_stl; - -- vec_vsubcuw -- - function vec_vsubcuw (A : vector_unsigned_int; B : vector_unsigned_int) return vector_unsigned_int renames vec_subc; + ------------------ -- vec_vsum2sws -- + ------------------ function vec_vsum2sws (A : vector_signed_int; B : vector_signed_int) return vector_signed_int renames vec_sum2s; - -- vec_vsumsws -- - function vec_vsumsws (A : vector_signed_int; B : vector_signed_int) return vector_signed_int renames vec_sums; - -- vec_vrfiz -- - function vec_vrfiz (A : vector_float) return vector_float renames vec_trunc; + -------------- -- vec_vxor -- + -------------- function vec_vxor (A : vector_float; @@ -7785,14 +8133,9 @@ package GNAT.Altivec.Vector_Operations is B : vector_unsigned_char) return vector_unsigned_char renames vec_xor; - ---------------------------------------------- - -- [PIM 2.5.3 Value for adjusting pointers] -- - ---------------------------------------------- - - -- "At compile time, vec_step (vec_data) produces the integer value - -- representing the amount by which a pointer to a component of an AltiVec - -- data type should increment to cause a pointer increment to increment by - -- 16 bytes". + -------------- + -- vec_step -- + -------------- function vec_step (V : vector_unsigned_char) return Integer; function vec_step (V : vector_signed_char) return Integer; @@ -8014,10 +8357,6 @@ private pragma Inline_Always (vec_any_nlt); pragma Inline_Always (vec_any_numeric); pragma Inline_Always (vec_any_out); - - -- Similarly, vec_step is expected to be turned into a compile time - -- constant, so ... - pragma Inline_Always (vec_step); end GNAT.Altivec.Vector_Operations; |