| ------------------------------------------------------------------------------ |
| -- -- |
| -- GNAT COMPILER COMPONENTS -- |
| -- -- |
| -- G N A T . A L T I V E C . V E C T O R _ O P E R A T I O N S -- |
| -- -- |
| -- B o d y -- |
| -- -- |
| -- Copyright (C) 2004-2022, Free Software Foundation, Inc. -- |
| -- -- |
| -- GNAT is free software; you can redistribute it and/or modify it under -- |
| -- terms of the GNU General Public License as published by the Free Soft- -- |
| -- ware Foundation; either version 3, or (at your option) any later ver- -- |
| -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- |
| -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- |
| -- or FITNESS FOR A PARTICULAR PURPOSE. -- |
| -- -- |
| -- As a special exception under Section 7 of GPL version 3, you are granted -- |
| -- additional permissions described in the GCC Runtime Library Exception, -- |
| -- version 3.1, as published by the Free Software Foundation. -- |
| -- -- |
| -- You should have received a copy of the GNU General Public License and -- |
| -- a copy of the GCC Runtime Library Exception along with this program; -- |
| -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see -- |
| -- <http://www.gnu.org/licenses/>. -- |
| -- -- |
| -- GNAT was originally developed by the GNAT team at New York University. -- |
| -- Extensive contributions were provided by Ada Core Technologies Inc. -- |
| -- -- |
| ------------------------------------------------------------------------------ |
| |
| with GNAT.Altivec.Low_Level_Interface; use GNAT.Altivec.Low_Level_Interface; |
| |
| 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 |
| is |
| begin |
| return To_LL_VSC (abs_v16qi (A)); |
| end vec_abs; |
| |
| function vec_abs |
| (A : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (abs_v8hi (A)); |
| end vec_abs; |
| |
| function vec_abs |
| (A : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (abs_v4si (A)); |
| end vec_abs; |
| |
| function vec_abs |
| (A : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (abs_v4sf (A)); |
| end vec_abs; |
| |
| -------------- |
| -- vec_abss -- |
| -------------- |
| |
| function vec_abss |
| (A : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (abss_v16qi (A)); |
| end vec_abss; |
| |
| function vec_abss |
| (A : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (abss_v8hi (A)); |
| end vec_abss; |
| |
| function vec_abss |
| (A : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (abss_v4si (A)); |
| end vec_abss; |
| |
| ------------- |
| -- vec_add -- |
| ------------- |
| |
| function vec_add |
| (A : vector_bool_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_bool_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_bool_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_bool_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_bool_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_bool_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_add; |
| |
| function vec_add |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vaddfp (To_LL_VF (A), To_LL_VF (B))); |
| end vec_add; |
| |
| ---------------- |
| -- vec_vaddfp -- |
| ---------------- |
| |
| function vec_vaddfp |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| 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; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vadduwm; |
| |
| function vec_vadduwm |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vadduwm; |
| |
| function vec_vadduwm |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vadduwm; |
| |
| function vec_vadduwm |
| (A : vector_bool_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vadduwm; |
| |
| function vec_vadduwm |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vadduwm; |
| |
| function vec_vadduwm |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| 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; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vadduhm; |
| |
| function vec_vadduhm |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vadduhm; |
| |
| function vec_vadduhm |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vadduhm; |
| |
| function vec_vadduhm |
| (A : vector_bool_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vadduhm; |
| |
| function vec_vadduhm |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vadduhm; |
| |
| function vec_vadduhm |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| 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; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubm; |
| |
| function vec_vaddubm |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubm; |
| |
| function vec_vaddubm |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubm; |
| |
| function vec_vaddubm |
| (A : vector_bool_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubm; |
| |
| function vec_vaddubm |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubm; |
| |
| function vec_vaddubm |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| 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; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_bool_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_bool_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_bool_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_bool_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_bool_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_adds; |
| |
| function vec_adds |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| 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; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vaddsws; |
| |
| function vec_vaddsws |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vaddsws; |
| |
| function vec_vaddsws |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| 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; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vadduws; |
| |
| function vec_vadduws |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vadduws; |
| |
| function vec_vadduws |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| 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; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vaddshs; |
| |
| function vec_vaddshs |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vaddshs; |
| |
| function vec_vaddshs |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| 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; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vadduhs; |
| |
| function vec_vadduhs |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vadduhs; |
| |
| function vec_vadduhs |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| 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; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddsbs; |
| |
| function vec_vaddsbs |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddsbs; |
| |
| function vec_vaddsbs |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubs; |
| |
| function vec_vaddubs |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubs; |
| |
| function vec_vaddubs |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vaddubs; |
| |
| ------------- |
| -- vec_and -- |
| ------------- |
| |
| function vec_and |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_float; |
| B : vector_bool_int) return vector_float |
| is |
| begin |
| return To_LL_VF (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_int; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_int; |
| B : vector_bool_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_short; |
| B : vector_bool_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_char; |
| B : vector_bool_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_bool_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| function vec_and |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_and; |
| |
| -------------- |
| -- vec_andc -- |
| -------------- |
| |
| function vec_andc |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_float; |
| B : vector_bool_int) return vector_float |
| is |
| begin |
| return To_LL_VF (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_int; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_int; |
| B : vector_bool_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_short; |
| B : vector_bool_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_char; |
| B : vector_bool_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_bool_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vandc (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_andc; |
| |
| function vec_andc |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vavgub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_avg; |
| |
| function vec_avg |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vavgsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_avg; |
| |
| function vec_avg |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vavguh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_avg; |
| |
| function vec_avg |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vavgsh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_avg; |
| |
| function vec_avg |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vavguw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_avg; |
| |
| function vec_avg |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| 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; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| 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; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| 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; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| 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; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| 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; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| 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 |
| is |
| begin |
| return To_LL_VF (vrfip (To_LL_VF (A))); |
| end vec_ceil; |
| |
| -------------- |
| -- vec_cmpb -- |
| -------------- |
| |
| function vec_cmpb |
| (A : vector_float; |
| B : vector_float) return vector_signed_int |
| is |
| begin |
| 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; |
| B : vector_signed_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_cmpeq; |
| |
| function vec_cmpeq |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_cmpeq; |
| |
| function vec_cmpeq |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_cmpeq; |
| |
| function vec_cmpeq |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_cmpeq; |
| |
| function vec_cmpeq |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_cmpeq; |
| |
| function vec_cmpeq |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_cmpeq; |
| |
| function vec_cmpeq |
| (A : vector_float; |
| B : vector_float) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpeqfp (To_LL_VF (A), To_LL_VF (B))); |
| end vec_cmpeq; |
| |
| ------------------ |
| -- vec_vcmpeqfp -- |
| ------------------ |
| |
| function vec_vcmpeqfp |
| (A : vector_float; |
| B : vector_float) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_signed_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vcmpequw; |
| |
| function vec_vcmpequw |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_signed_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vcmpequh; |
| |
| function vec_vcmpequh |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_bool_short |
| is |
| begin |
| 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; |
| B : vector_signed_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vcmpequb; |
| |
| function vec_vcmpequb |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vcmpequb; |
| |
| --------------- |
| -- vec_cmpge -- |
| --------------- |
| |
| function vec_cmpge |
| (A : vector_float; |
| B : vector_float) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpgtub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_cmpgt; |
| |
| function vec_cmpgt |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpgtsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_cmpgt; |
| |
| function vec_cmpgt |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vcmpgtuh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_cmpgt; |
| |
| function vec_cmpgt |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vcmpgtsh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_cmpgt; |
| |
| function vec_cmpgt |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpgtuw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_cmpgt; |
| |
| function vec_cmpgt |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpgtsw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_cmpgt; |
| |
| function vec_cmpgt |
| (A : vector_float; |
| B : vector_float) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpgtfp (To_LL_VF (A), To_LL_VF (B))); |
| end vec_cmpgt; |
| |
| ------------------ |
| -- vec_vcmpgtfp -- |
| ------------------ |
| |
| function vec_vcmpgtfp |
| (A : vector_float; |
| B : vector_float) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_signed_int) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_unsigned_int) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_signed_short) return vector_bool_short |
| is |
| begin |
| 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; |
| B : vector_unsigned_short) return vector_bool_short |
| is |
| begin |
| 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; |
| B : vector_signed_char) return vector_bool_char |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpgtub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vcmpgtub; |
| |
| --------------- |
| -- vec_cmple -- |
| --------------- |
| |
| function vec_cmple |
| (A : vector_float; |
| B : vector_float) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpgtub (To_LL_VSC (B), To_LL_VSC (A))); |
| end vec_cmplt; |
| |
| function vec_cmplt |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vcmpgtsb (To_LL_VSC (B), To_LL_VSC (A))); |
| end vec_cmplt; |
| |
| function vec_cmplt |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vcmpgtuh (To_LL_VSS (B), To_LL_VSS (A))); |
| end vec_cmplt; |
| |
| function vec_cmplt |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vcmpgtsh (To_LL_VSS (B), To_LL_VSS (A))); |
| end vec_cmplt; |
| |
| function vec_cmplt |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpgtuw (To_LL_VSI (B), To_LL_VSI (A))); |
| end vec_cmplt; |
| |
| function vec_cmplt |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vcmpgtsw (To_LL_VSI (B), To_LL_VSI (A))); |
| end vec_cmplt; |
| |
| function vec_cmplt |
| (A : vector_float; |
| B : vector_float) return vector_bool_int |
| is |
| begin |
| 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 |
| is |
| begin |
| return To_LL_VF (vexptefp (To_LL_VF (A))); |
| end vec_expte; |
| |
| --------------- |
| -- vec_floor -- |
| --------------- |
| |
| function vec_floor |
| (A : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vrfim (To_LL_VF (A))); |
| end vec_floor; |
| |
| ------------ |
| -- vec_ld -- |
| ------------ |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_float_ptr) return vector_float |
| is |
| begin |
| return To_LL_VF (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_float_ptr) return vector_float |
| is |
| begin |
| return To_LL_VF (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_bool_int_ptr) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_signed_int_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_int_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_long_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_unsigned_int_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_unsigned_int_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_unsigned_long_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_bool_short_ptr) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_pixel_ptr) return vector_pixel |
| is |
| begin |
| return To_LL_VP (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_signed_short_ptr) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_short_ptr) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_unsigned_short_ptr) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_unsigned_short_ptr) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_bool_char_ptr) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_signed_char_ptr) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_signed_char_ptr) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_vector_unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| function vec_ld |
| (A : c_long; |
| B : const_unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvx (A, To_PTR (B))); |
| end vec_ld; |
| |
| ------------- |
| -- vec_lde -- |
| ------------- |
| |
| function vec_lde |
| (A : c_long; |
| B : const_signed_char_ptr) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (lvebx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvebx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_short_ptr) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (lvehx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_unsigned_short_ptr) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (lvehx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_float_ptr) return vector_float |
| is |
| begin |
| return To_LL_VF (lvewx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_int_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvewx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_unsigned_int_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvewx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_long_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvewx (A, To_PTR (B))); |
| end vec_lde; |
| |
| function vec_lde |
| (A : c_long; |
| B : const_unsigned_long_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvewx (A, To_PTR (B))); |
| end vec_lde; |
| |
| --------------- |
| -- vec_lvewx -- |
| --------------- |
| |
| function vec_lvewx |
| (A : c_long; |
| B : float_ptr) return vector_float |
| is |
| begin |
| return To_LL_VF (lvewx (A, To_PTR (B))); |
| end vec_lvewx; |
| |
| function vec_lvewx |
| (A : c_long; |
| B : int_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvewx (A, To_PTR (B))); |
| end vec_lvewx; |
| |
| function vec_lvewx |
| (A : c_long; |
| B : unsigned_int_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvewx (A, To_PTR (B))); |
| end vec_lvewx; |
| |
| function vec_lvewx |
| (A : c_long; |
| B : long_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvewx (A, To_PTR (B))); |
| end vec_lvewx; |
| |
| function vec_lvewx |
| (A : c_long; |
| B : unsigned_long_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvewx (A, To_PTR (B))); |
| end vec_lvewx; |
| |
| --------------- |
| -- vec_lvehx -- |
| --------------- |
| |
| function vec_lvehx |
| (A : c_long; |
| B : short_ptr) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (lvehx (A, To_PTR (B))); |
| end vec_lvehx; |
| |
| function vec_lvehx |
| (A : c_long; |
| B : unsigned_short_ptr) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (lvehx (A, To_PTR (B))); |
| end vec_lvehx; |
| |
| --------------- |
| -- vec_lvebx -- |
| --------------- |
| |
| function vec_lvebx |
| (A : c_long; |
| B : signed_char_ptr) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (lvebx (A, To_PTR (B))); |
| end vec_lvebx; |
| |
| function vec_lvebx |
| (A : c_long; |
| B : unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvebx (A, To_PTR (B))); |
| end vec_lvebx; |
| |
| ------------- |
| -- vec_ldl -- |
| ------------- |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_float_ptr) return vector_float |
| is |
| begin |
| return To_LL_VF (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_float_ptr) return vector_float |
| is |
| begin |
| return To_LL_VF (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_bool_int_ptr) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_signed_int_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_int_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_long_ptr) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_unsigned_int_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_unsigned_int_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_unsigned_long_ptr) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_bool_short_ptr) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_pixel_ptr) return vector_pixel |
| is |
| begin |
| return To_LL_VP (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_signed_short_ptr) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_short_ptr) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_unsigned_short_ptr) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_unsigned_short_ptr) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_bool_char_ptr) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_signed_char_ptr) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_signed_char_ptr) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_vector_unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| function vec_ldl |
| (A : c_long; |
| B : const_unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvxl (A, To_PTR (B))); |
| end vec_ldl; |
| |
| -------------- |
| -- vec_loge -- |
| -------------- |
| |
| function vec_loge |
| (A : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vlogefp (To_LL_VF (A))); |
| end vec_loge; |
| |
| -------------- |
| -- vec_lvsl -- |
| -------------- |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_signed_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_unsigned_short_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_short_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_unsigned_int_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_int_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_unsigned_long_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_long_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| function vec_lvsl |
| (A : c_long; |
| B : constv_float_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsl (A, To_PTR (B))); |
| end vec_lvsl; |
| |
| -------------- |
| -- vec_lvsr -- |
| -------------- |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_unsigned_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_signed_char_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_unsigned_short_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_short_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_unsigned_int_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_int_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_unsigned_long_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_long_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| function vec_lvsr |
| (A : c_long; |
| B : constv_float_ptr) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (lvsr (A, To_PTR (B))); |
| end vec_lvsr; |
| |
| -------------- |
| -- vec_madd -- |
| -------------- |
| |
| function vec_madd |
| (A : vector_float; |
| B : vector_float; |
| C : vector_float) return vector_float |
| is |
| begin |
| return vmaddfp (A, B, C); |
| end vec_madd; |
| |
| --------------- |
| -- vec_madds -- |
| --------------- |
| |
| function vec_madds |
| (A : vector_signed_short; |
| B : vector_signed_short; |
| C : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return vmhaddshs (A, B, C); |
| end vec_madds; |
| |
| ------------- |
| -- vec_max -- |
| ------------- |
| |
| function vec_max |
| (A : vector_bool_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_bool_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_bool_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_bool_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_bool_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_bool_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_max; |
| |
| function vec_max |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vmaxfp (To_LL_VF (A), To_LL_VF (B))); |
| end vec_max; |
| |
| ---------------- |
| -- vec_vmaxfp -- |
| ---------------- |
| |
| function vec_vmaxfp |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| 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; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmaxsw; |
| |
| function vec_vmaxsw |
| (A : vector_signed_int; |
| B : vector_bool_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmaxsw; |
| |
| function vec_vmaxsw |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| 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; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmaxuw; |
| |
| function vec_vmaxuw |
| (A : vector_unsigned_int; |
| B : vector_bool_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmaxuw; |
| |
| function vec_vmaxuw |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| 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; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmaxsh; |
| |
| function vec_vmaxsh |
| (A : vector_signed_short; |
| B : vector_bool_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmaxsh; |
| |
| function vec_vmaxsh |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| 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; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmaxuh; |
| |
| function vec_vmaxuh |
| (A : vector_unsigned_short; |
| B : vector_bool_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmaxuh; |
| |
| function vec_vmaxuh |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| 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; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmaxsb; |
| |
| function vec_vmaxsb |
| (A : vector_signed_char; |
| B : vector_bool_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmaxsb; |
| |
| function vec_vmaxsb |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| 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; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmaxub; |
| |
| function vec_vmaxub |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmaxub; |
| |
| function vec_vmaxub |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| 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; |
| B : vector_bool_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vmrghb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmrghb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vmrghb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_bool_short; |
| B : vector_bool_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_pixel; |
| B : vector_pixel) return vector_pixel |
| is |
| begin |
| return To_LL_VP (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_bool_int; |
| B : vector_bool_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergeh; |
| |
| function vec_mergeh |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergeh; |
| |
| ---------------- |
| -- vec_vmrghw -- |
| ---------------- |
| |
| function vec_vmrghw |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmrghw; |
| |
| function vec_vmrghw |
| (A : vector_bool_int; |
| B : vector_bool_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmrghw; |
| |
| function vec_vmrghw |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmrghw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmrghw; |
| |
| function vec_vmrghw |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| 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; |
| B : vector_bool_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmrghh; |
| |
| function vec_vmrghh |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmrghh; |
| |
| function vec_vmrghh |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmrghh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmrghh; |
| |
| function vec_vmrghh |
| (A : vector_pixel; |
| B : vector_pixel) return vector_pixel |
| is |
| begin |
| 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; |
| B : vector_bool_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vmrghb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmrghb; |
| |
| function vec_vmrghb |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmrghb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmrghb; |
| |
| function vec_vmrghb |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| 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; |
| B : vector_bool_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vmrglb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmrglb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vmrglb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_bool_short; |
| B : vector_bool_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_pixel; |
| B : vector_pixel) return vector_pixel |
| is |
| begin |
| return To_LL_VP (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_bool_int; |
| B : vector_bool_int) return vector_bool_int |
| is |
| begin |
| return To_LL_VBI (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergel; |
| |
| function vec_mergel |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_mergel; |
| |
| ---------------- |
| -- vec_vmrglw -- |
| ---------------- |
| |
| function vec_vmrglw |
| (A : vector_float; |
| B : vector_float) return vector_float |
| is |
| begin |
| return To_LL_VF (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmrglw; |
| |
| function vec_vmrglw |
| (A : vector_signed_int; |
| B : vector_signed_int) return vector_signed_int |
| is |
| begin |
| return To_LL_VSI (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmrglw; |
| |
| function vec_vmrglw |
| (A : vector_unsigned_int; |
| B : vector_unsigned_int) return vector_unsigned_int |
| is |
| begin |
| return To_LL_VUI (vmrglw (To_LL_VSI (A), To_LL_VSI (B))); |
| end vec_vmrglw; |
| |
| function vec_vmrglw |
| (A : vector_bool_int; |
| B : vector_bool_int) return vector_bool_int |
| is |
| begin |
| 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; |
| B : vector_bool_short) return vector_bool_short |
| is |
| begin |
| return To_LL_VBS (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmrglh; |
| |
| function vec_vmrglh |
| (A : vector_signed_short; |
| B : vector_signed_short) return vector_signed_short |
| is |
| begin |
| return To_LL_VSS (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmrglh; |
| |
| function vec_vmrglh |
| (A : vector_unsigned_short; |
| B : vector_unsigned_short) return vector_unsigned_short |
| is |
| begin |
| return To_LL_VUS (vmrglh (To_LL_VSS (A), To_LL_VSS (B))); |
| end vec_vmrglh; |
| |
| function vec_vmrglh |
| (A : vector_pixel; |
| B : vector_pixel) return vector_pixel |
| is |
| begin |
| 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; |
| B : vector_bool_char) return vector_bool_char |
| is |
| begin |
| return To_LL_VBC (vmrglb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmrglb; |
| |
| function vec_vmrglb |
| (A : vector_signed_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vmrglb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_vmrglb; |
| |
| function vec_vmrglb |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| 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 |
| begin |
| return To_LL_VUS (mfvscr); |
| end vec_mfvscr; |
| |
| ------------- |
| -- vec_min -- |
| ------------- |
| |
| function vec_min |
| (A : vector_bool_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_min; |
| |
| function vec_min |
| (A : vector_unsigned_char; |
| B : vector_bool_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_min; |
| |
| function vec_min |
| (A : vector_unsigned_char; |
| B : vector_unsigned_char) return vector_unsigned_char |
| is |
| begin |
| return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_min; |
| |
| function vec_min |
| (A : vector_bool_char; |
| B : vector_signed_char) return vector_signed_char |
| is |
| begin |
| return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B))); |
| end vec_min; |
| |
| function vec_min |
| (A : vector_signed_char; |
|