diff gcc/ada/libgnat/g-alveop.adb @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/ada/libgnat/g-alveop.adb	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,11008 @@
+------------------------------------------------------------------------------
+--                                                                          --
+--                         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-2017, 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;
+      B : vector_bool_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;
+      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_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_min;
+
+   function vec_min
+     (A : vector_float;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vminfp (To_LL_VF (A), To_LL_VF (B)));
+   end vec_min;
+
+   -- vec_vminfp --
+
+   function vec_vminfp
+     (A : vector_float;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vminfp (To_LL_VF (A), To_LL_VF (B)));
+   end vec_vminfp;
+
+   -- vec_vminsw --
+
+   function vec_vminsw
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vminsw;
+
+   function vec_vminsw
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vminsw;
+
+   function vec_vminsw
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vminsw;
+
+   -- vec_vminuw --
+
+   function vec_vminuw
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vminuw;
+
+   function vec_vminuw
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vminuw;
+
+   function vec_vminuw
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vminuw;
+
+   -- vec_vminsh --
+
+   function vec_vminsh
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vminsh;
+
+   function vec_vminsh
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vminsh;
+
+   function vec_vminsh
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vminsh;
+
+   ----------------
+   -- vec_vminuh --
+   ----------------
+
+   function vec_vminuh
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vminuh;
+
+   function vec_vminuh
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vminuh;
+
+   function vec_vminuh
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vminuh;
+
+   ----------------
+   -- vec_vminsb --
+   ----------------
+
+   function vec_vminsb
+     (A : vector_bool_char;
+      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_vminsb;
+
+   function vec_vminsb
+     (A : vector_signed_char;
+      B : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vminsb;
+
+   function vec_vminsb
+     (A : vector_signed_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_vminsb;
+
+   ----------------
+   -- vec_vminub --
+   ----------------
+
+   function vec_vminub
+     (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_vminub;
+
+   function vec_vminub
+     (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_vminub;
+
+   function vec_vminub
+     (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_vminub;
+
+   ---------------
+   -- vec_mladd --
+   ---------------
+
+   function vec_mladd
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return vmladduhm (A, B, C);
+   end vec_mladd;
+
+   function vec_mladd
+     (A : vector_signed_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return vmladduhm (A, To_LL_VSS (B), To_LL_VSS (C));
+   end vec_mladd;
+
+   function vec_mladd
+     (A : vector_unsigned_short;
+      B : vector_signed_short;
+      C : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return vmladduhm (To_LL_VSS (A), B, C);
+   end vec_mladd;
+
+   function vec_mladd
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return
+        To_LL_VUS (vmladduhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSS (C)));
+   end vec_mladd;
+
+   ----------------
+   -- vec_mradds --
+   ----------------
+
+   function vec_mradds
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return vmhraddshs (A, B, C);
+   end vec_mradds;
+
+   --------------
+   -- vec_msum --
+   --------------
+
+   function vec_msum
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char;
+      C : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vmsumubm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
+   end vec_msum;
+
+   function vec_msum
+     (A : vector_signed_char;
+      B : vector_unsigned_char;
+      C : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vmsummbm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
+   end vec_msum;
+
+   function vec_msum
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vmsumuhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_msum;
+
+   function vec_msum
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_msum;
+
+   ------------------
+   -- vec_vmsumshm --
+   ------------------
+
+   function vec_vmsumshm
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_vmsumshm;
+
+   ------------------
+   -- vec_vmsumuhm --
+   ------------------
+
+   function vec_vmsumuhm
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vmsumuhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_vmsumuhm;
+
+   ------------------
+   -- vec_vmsummbm --
+   ------------------
+
+   function vec_vmsummbm
+     (A : vector_signed_char;
+      B : vector_unsigned_char;
+      C : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vmsummbm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
+   end vec_vmsummbm;
+
+   ------------------
+   -- vec_vmsumubm --
+   ------------------
+
+   function vec_vmsumubm
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char;
+      C : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vmsumubm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
+   end vec_vmsumubm;
+
+   ---------------
+   -- vec_msums --
+   ---------------
+
+   function vec_msums
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vmsumuhs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_msums;
+
+   function vec_msums
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_msums;
+
+   ------------------
+   -- vec_vmsumshs --
+   ------------------
+
+   function vec_vmsumshs
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_vmsumshs;
+
+   ------------------
+   -- vec_vmsumuhs --
+   ------------------
+
+   function vec_vmsumuhs
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vmsumuhs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
+   end vec_vmsumuhs;
+
+   ----------------
+   -- vec_mtvscr --
+   ----------------
+
+   procedure vec_mtvscr
+     (A : vector_signed_int)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_unsigned_int)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_bool_int)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_signed_short)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_unsigned_short)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_bool_short)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_pixel)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_signed_char)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_unsigned_char)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   procedure vec_mtvscr
+     (A : vector_bool_char)
+   is
+   begin
+      mtvscr (To_LL_VSI (A));
+   end vec_mtvscr;
+
+   --------------
+   -- vec_mule --
+   --------------
+
+   function vec_mule
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_mule;
+
+   function vec_mule
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vmulesb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_mule;
+
+   function vec_mule
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vmuleuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_mule;
+
+   function vec_mule
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_mule;
+
+   -----------------
+   -- vec_vmulesh --
+   -----------------
+
+   function vec_vmulesh
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vmulesh;
+
+   -----------------
+   -- vec_vmuleuh --
+   -----------------
+
+   function vec_vmuleuh
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vmuleuh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vmuleuh;
+
+   -----------------
+   -- vec_vmulesb --
+   -----------------
+
+   function vec_vmulesb
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vmulesb;
+
+   -----------------
+   -- vec_vmuleub --
+   -----------------
+
+   function vec_vmuleub
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vmuleub;
+
+   --------------
+   -- vec_mulo --
+   --------------
+
+   function vec_mulo
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vmuloub (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_mulo;
+
+   function vec_mulo
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vmulosb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_mulo;
+
+   function vec_mulo
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vmulouh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_mulo;
+
+   function vec_mulo
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_mulo;
+
+   -----------------
+   -- vec_vmulosh --
+   -----------------
+
+   function vec_vmulosh
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vmulosh;
+
+   -----------------
+   -- vec_vmulouh --
+   -----------------
+
+   function vec_vmulouh
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vmulouh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vmulouh;
+
+   -----------------
+   -- vec_vmulosb --
+   -----------------
+
+   function vec_vmulosb
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vmulosb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vmulosb;
+
+   -----------------
+   -- vec_vmuloub --
+   -----------------
+
+   function vec_vmuloub
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vmuloub (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vmuloub;
+
+   ---------------
+   -- vec_nmsub --
+   ---------------
+
+   function vec_nmsub
+     (A : vector_float;
+      B : vector_float;
+      C : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vnmsubfp (To_LL_VF (A), To_LL_VF (B), To_LL_VF (C)));
+   end vec_nmsub;
+
+   -------------
+   -- vec_nor --
+   -------------
+
+   function vec_nor
+     (A : vector_float;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_bool_int;
+      B : vector_bool_int) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_bool_short;
+      B : vector_bool_short) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   function vec_nor
+     (A : vector_bool_char;
+      B : vector_bool_char) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vnor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_nor;
+
+   ------------
+   -- vec_or --
+   ------------
+
+   function vec_or
+     (A : vector_float;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_float;
+      B : vector_bool_int) return vector_float
+   is
+   begin
+      return To_LL_VF (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_int;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_int;
+      B : vector_bool_int) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_short;
+      B : vector_bool_short) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_char;
+      B : vector_bool_char) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_signed_char;
+      B : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   function vec_or
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_or;
+
+   --------------
+   -- vec_pack --
+   --------------
+
+   function vec_pack
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_pack;
+
+   function vec_pack
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_pack;
+
+   function vec_pack
+     (A : vector_bool_short;
+      B : vector_bool_short) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_pack;
+
+   function vec_pack
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_pack;
+
+   function vec_pack
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_pack;
+
+   function vec_pack
+     (A : vector_bool_int;
+      B : vector_bool_int) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_pack;
+
+   -----------------
+   -- vec_vpkuwum --
+   -----------------
+
+   function vec_vpkuwum
+     (A : vector_bool_int;
+      B : vector_bool_int) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vpkuwum;
+
+   function vec_vpkuwum
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vpkuwum;
+
+   function vec_vpkuwum
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vpkuwum;
+
+   -----------------
+   -- vec_vpkuhum --
+   -----------------
+
+   function vec_vpkuhum
+     (A : vector_bool_short;
+      B : vector_bool_short) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vpkuhum;
+
+   function vec_vpkuhum
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vpkuhum;
+
+   function vec_vpkuhum
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vpkuhum;
+
+   ----------------
+   -- vec_packpx --
+   ----------------
+
+   function vec_packpx
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vpkpx (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_packpx;
+
+   ---------------
+   -- vec_packs --
+   ---------------
+
+   function vec_packs
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_packs;
+
+   function vec_packs
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vpkshss (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_packs;
+
+   function vec_packs
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_packs;
+
+   function vec_packs
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_packs;
+
+   -----------------
+   -- vec_vpkswss --
+   -----------------
+
+   function vec_vpkswss
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vpkswss;
+
+   -----------------
+   -- vec_vpkuwus --
+   -----------------
+
+   function vec_vpkuwus
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vpkuwus;
+
+   -----------------
+   -- vec_vpkshss --
+   -----------------
+
+   function vec_vpkshss
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vpkshss (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vpkshss;
+
+   -----------------
+   -- vec_vpkuhus --
+   -----------------
+
+   function vec_vpkuhus
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vpkuhus;
+
+   ----------------
+   -- vec_packsu --
+   ----------------
+
+   function vec_packsu
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_packsu;
+
+   function vec_packsu
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vpkshus (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_packsu;
+
+   function vec_packsu
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_packsu;
+
+   function vec_packsu
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_packsu;
+
+   -----------------
+   -- vec_vpkswus --
+   -----------------
+
+   function vec_vpkswus
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vpkswus;
+
+   -----------------
+   -- vec_vpkshus --
+   -----------------
+
+   function vec_vpkshus
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vpkshus (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vpkshus;
+
+   --------------
+   -- vec_perm --
+   --------------
+
+   function vec_perm
+     (A : vector_float;
+      B : vector_float;
+      C : vector_unsigned_char) return vector_float
+   is
+   begin
+      return
+        To_LL_VF (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_signed_int;
+      B : vector_signed_int;
+      C : vector_unsigned_char) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int;
+      C : vector_unsigned_char) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_bool_int;
+      B : vector_bool_int;
+      C : vector_unsigned_char) return vector_bool_int
+   is
+   begin
+      return
+        To_LL_VBI (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_unsigned_char) return vector_signed_short
+   is
+   begin
+      return
+        To_LL_VSS (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return
+        To_LL_VUS (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_bool_short;
+      B : vector_bool_short;
+      C : vector_unsigned_char) return vector_bool_short
+   is
+   begin
+      return
+        To_LL_VBS (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_pixel;
+      B : vector_pixel;
+      C : vector_unsigned_char) return vector_pixel
+   is
+   begin
+      return To_LL_VP
+        (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_signed_char;
+      B : vector_signed_char;
+      C : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC
+        (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char;
+      C : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return
+        To_LL_VUC (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   function vec_perm
+     (A : vector_bool_char;
+      B : vector_bool_char;
+      C : vector_unsigned_char) return vector_bool_char
+   is
+   begin
+      return
+        To_LL_VBC (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
+   end vec_perm;
+
+   ------------
+   -- vec_re --
+   ------------
+
+   function vec_re
+     (A : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vrefp (To_LL_VF (A)));
+   end vec_re;
+
+   ------------
+   -- vec_rl --
+   ------------
+
+   function vec_rl
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_rl;
+
+   function vec_rl
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_rl;
+
+   function vec_rl
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_rl;
+
+   function vec_rl
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_rl;
+
+   function vec_rl
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_rl;
+
+   function vec_rl
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_rl;
+
+   --------------
+   -- vec_vrlw --
+   --------------
+
+   function vec_vrlw
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vrlw;
+
+   function vec_vrlw
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vrlw;
+
+   --------------
+   -- vec_vrlh --
+   --------------
+
+   function vec_vrlh
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vrlh;
+
+   function vec_vrlh
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vrlh;
+
+   --------------
+   -- vec_vrlb --
+   --------------
+
+   function vec_vrlb
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vrlb;
+
+   function vec_vrlb
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vrlb;
+
+   ---------------
+   -- vec_round --
+   ---------------
+
+   function vec_round
+     (A : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vrfin (To_LL_VF (A)));
+   end vec_round;
+
+   ----------------
+   -- vec_rsqrte --
+   ----------------
+
+   function vec_rsqrte
+     (A : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vrsqrtefp (To_LL_VF (A)));
+   end vec_rsqrte;
+
+   -------------
+   -- vec_sel --
+   -------------
+
+   function vec_sel
+     (A : vector_float;
+      B : vector_float;
+      C : vector_bool_int) return vector_float
+   is
+   begin
+      return To_LL_VF (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_float;
+      B : vector_float;
+      C : vector_unsigned_int) return vector_float
+   is
+   begin
+      return To_LL_VF (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_signed_int;
+      B : vector_signed_int;
+      C : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_signed_int;
+      B : vector_signed_int;
+      C : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return
+        To_LL_VSI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int;
+      C : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int;
+      C : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return
+        To_LL_VUI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_bool_int;
+      B : vector_bool_int;
+      C : vector_bool_int) return vector_bool_int
+   is
+   begin
+      return
+        To_LL_VBI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_bool_int;
+      B : vector_bool_int;
+      C : vector_unsigned_int) return vector_bool_int
+   is
+   begin
+      return
+        To_LL_VBI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return
+        To_LL_VSS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_signed_short;
+      B : vector_signed_short;
+      C : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return
+        To_LL_VSS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return
+        To_LL_VUS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return
+        To_LL_VUS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_bool_short;
+      B : vector_bool_short;
+      C : vector_bool_short) return vector_bool_short
+   is
+   begin
+      return
+        To_LL_VBS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_bool_short;
+      B : vector_bool_short;
+      C : vector_unsigned_short) return vector_bool_short
+   is
+   begin
+      return
+        To_LL_VBS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_signed_char;
+      B : vector_signed_char;
+      C : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return
+        To_LL_VSC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_signed_char;
+      B : vector_signed_char;
+      C : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return
+        To_LL_VSC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char;
+      C : vector_bool_char) return vector_unsigned_char
+   is
+   begin
+      return
+        To_LL_VUC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char;
+      C : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return
+        To_LL_VUC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_bool_char;
+      B : vector_bool_char;
+      C : vector_bool_char) return vector_bool_char
+   is
+   begin
+      return
+        To_LL_VBC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   function vec_sel
+     (A : vector_bool_char;
+      B : vector_bool_char;
+      C : vector_unsigned_char) return vector_bool_char
+   is
+   begin
+      return
+        To_LL_VBC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
+   end vec_sel;
+
+   ------------
+   -- vec_sl --
+   ------------
+
+   function vec_sl
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sl;
+
+   function vec_sl
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sl;
+
+   function vec_sl
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sl;
+
+   function vec_sl
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sl;
+
+   function vec_sl
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sl;
+
+   function vec_sl
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sl;
+
+   --------------
+   -- vec_vslw --
+   --------------
+
+   function vec_vslw
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vslw;
+
+   function vec_vslw
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vslw;
+
+   --------------
+   -- vec_vslh --
+   --------------
+
+   function vec_vslh
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vslh;
+
+   function vec_vslh
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vslh;
+
+   --------------
+   -- vec_vslb --
+   --------------
+
+   function vec_vslb
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vslb;
+
+   function vec_vslb
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vslb;
+
+   -------------
+   -- vec_sll --
+   -------------
+
+   function vec_sll
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_int;
+      B : vector_unsigned_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_int;
+      B : vector_unsigned_char) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_int;
+      B : vector_unsigned_short) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_int;
+      B : vector_unsigned_char) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_int;
+      B : vector_unsigned_short) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_int;
+      B : vector_unsigned_char) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_short;
+      B : vector_unsigned_int) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_short;
+      B : vector_unsigned_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_short;
+      B : vector_unsigned_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_short;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_short;
+      B : vector_unsigned_int) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_short;
+      B : vector_unsigned_char) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_pixel;
+      B : vector_unsigned_int) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_pixel;
+      B : vector_unsigned_short) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_pixel;
+      B : vector_unsigned_char) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_char;
+      B : vector_unsigned_int) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_char;
+      B : vector_unsigned_short) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_char;
+      B : vector_unsigned_int) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_char;
+      B : vector_unsigned_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_char;
+      B : vector_unsigned_int) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_char;
+      B : vector_unsigned_short) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   function vec_sll
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sll;
+
+   -------------
+   -- vec_slo --
+   -------------
+
+   function vec_slo
+     (A : vector_float;
+      B : vector_signed_char) return vector_float
+   is
+   begin
+      return To_LL_VF (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_float;
+      B : vector_unsigned_char) return vector_float
+   is
+   begin
+      return To_LL_VF (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_signed_int;
+      B : vector_signed_char) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_signed_int;
+      B : vector_unsigned_char) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_unsigned_int;
+      B : vector_signed_char) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_unsigned_int;
+      B : vector_unsigned_char) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_signed_short;
+      B : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_signed_short;
+      B : vector_unsigned_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_unsigned_short;
+      B : vector_signed_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_unsigned_short;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_pixel;
+      B : vector_signed_char) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_pixel;
+      B : vector_unsigned_char) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_unsigned_char;
+      B : vector_signed_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   function vec_slo
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_slo;
+
+   ------------
+   -- vec_sr --
+   ------------
+
+   function vec_sr
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sr;
+
+   function vec_sr
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sr;
+
+   function vec_sr
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sr;
+
+   function vec_sr
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sr;
+
+   function vec_sr
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sr;
+
+   function vec_sr
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sr;
+
+   --------------
+   -- vec_vsrw --
+   --------------
+
+   function vec_vsrw
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsrw;
+
+   function vec_vsrw
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsrw;
+
+   --------------
+   -- vec_vsrh --
+   --------------
+
+   function vec_vsrh
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsrh;
+
+   function vec_vsrh
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsrh;
+
+   --------------
+   -- vec_vsrb --
+   --------------
+
+   function vec_vsrb
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsrb;
+
+   function vec_vsrb
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsrb;
+
+   -------------
+   -- vec_sra --
+   -------------
+
+   function vec_sra
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sra;
+
+   function vec_sra
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sra;
+
+   function vec_sra
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sra;
+
+   function vec_sra
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sra;
+
+   function vec_sra
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sra;
+
+   function vec_sra
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sra;
+
+   ---------------
+   -- vec_vsraw --
+   ---------------
+
+   function vec_vsraw
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsraw;
+
+   function vec_vsraw
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsraw;
+
+   ---------------
+   -- vec_vsrah --
+   ---------------
+
+   function vec_vsrah
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsrah;
+
+   function vec_vsrah
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsrah;
+
+   ---------------
+   -- vec_vsrab --
+   ---------------
+
+   function vec_vsrab
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsrab;
+
+   function vec_vsrab
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsrab;
+
+   -------------
+   -- vec_srl --
+   -------------
+
+   function vec_srl
+     (A : vector_signed_int;
+      B : vector_unsigned_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_int;
+      B : vector_unsigned_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_int;
+      B : vector_unsigned_char) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_int;
+      B : vector_unsigned_short) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_int;
+      B : vector_unsigned_char) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_int;
+      B : vector_unsigned_short) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_int;
+      B : vector_unsigned_char) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_short;
+      B : vector_unsigned_int) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_short;
+      B : vector_unsigned_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_short;
+      B : vector_unsigned_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_short;
+      B : vector_unsigned_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_short;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_short;
+      B : vector_unsigned_int) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_short;
+      B : vector_unsigned_char) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_pixel;
+      B : vector_unsigned_int) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_pixel;
+      B : vector_unsigned_short) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_pixel;
+      B : vector_unsigned_char) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_char;
+      B : vector_unsigned_int) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_char;
+      B : vector_unsigned_short) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_char;
+      B : vector_unsigned_int) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_char;
+      B : vector_unsigned_short) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_char;
+      B : vector_unsigned_int) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_char;
+      B : vector_unsigned_short) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   function vec_srl
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_srl;
+
+   -------------
+   -- vec_sro --
+   -------------
+
+   function vec_sro
+     (A : vector_float;
+      B : vector_signed_char) return vector_float
+   is
+   begin
+      return To_LL_VF (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_float;
+      B : vector_unsigned_char) return vector_float
+   is
+   begin
+      return To_LL_VF (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_signed_int;
+      B : vector_signed_char) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_signed_int;
+      B : vector_unsigned_char) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_unsigned_int;
+      B : vector_signed_char) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_unsigned_int;
+      B : vector_unsigned_char) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_signed_short;
+      B : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_signed_short;
+      B : vector_unsigned_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_unsigned_short;
+      B : vector_signed_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_unsigned_short;
+      B : vector_unsigned_char) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_pixel;
+      B : vector_signed_char) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_pixel;
+      B : vector_unsigned_char) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_signed_char;
+      B : vector_unsigned_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_unsigned_char;
+      B : vector_signed_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   function vec_sro
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sro;
+
+   ------------
+   -- vec_st --
+   ------------
+
+   procedure vec_st
+     (A : vector_float;
+      B : c_int;
+      C : vector_float_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_float;
+      B : c_int;
+      C : float_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_signed_int;
+      B : c_int;
+      C : vector_signed_int_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_signed_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_unsigned_int;
+      B : c_int;
+      C : vector_unsigned_int_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_unsigned_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_int;
+      B : c_int;
+      C : vector_bool_int_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_signed_short;
+      B : c_int;
+      C : vector_signed_short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_signed_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_unsigned_short;
+      B : c_int;
+      C : vector_unsigned_short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_unsigned_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_short;
+      B : c_int;
+      C : vector_bool_short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_pixel;
+      B : c_int;
+      C : vector_pixel_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_pixel;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_pixel;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_signed_char;
+      B : c_int;
+      C : vector_signed_char_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_signed_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_unsigned_char;
+      B : c_int;
+      C : vector_unsigned_char_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_unsigned_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_char;
+      B : c_int;
+      C : vector_bool_char_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   procedure vec_st
+     (A : vector_bool_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_st;
+
+   -------------
+   -- vec_ste --
+   -------------
+
+   procedure vec_ste
+     (A : vector_signed_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_unsigned_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_bool_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_bool_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_signed_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_unsigned_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_bool_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_bool_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_pixel;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_pixel;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_float;
+      B : c_int;
+      C : float_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_signed_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_unsigned_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_bool_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_ste;
+
+   procedure vec_ste
+     (A : vector_bool_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_ste;
+
+   ----------------
+   -- vec_stvewx --
+   ----------------
+
+   procedure vec_stvewx
+     (A : vector_float;
+      B : c_int;
+      C : float_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stvewx;
+
+   procedure vec_stvewx
+     (A : vector_signed_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stvewx;
+
+   procedure vec_stvewx
+     (A : vector_unsigned_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stvewx;
+
+   procedure vec_stvewx
+     (A : vector_bool_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stvewx;
+
+   procedure vec_stvewx
+     (A : vector_bool_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvewx (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stvewx;
+
+   ----------------
+   -- vec_stvehx --
+   ----------------
+
+   procedure vec_stvehx
+     (A : vector_signed_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_stvehx;
+
+   procedure vec_stvehx
+     (A : vector_unsigned_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_stvehx;
+
+   procedure vec_stvehx
+     (A : vector_bool_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_stvehx;
+
+   procedure vec_stvehx
+     (A : vector_bool_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_stvehx;
+
+   procedure vec_stvehx
+     (A : vector_pixel;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_stvehx;
+
+   procedure vec_stvehx
+     (A : vector_pixel;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvehx (To_LL_VSS (A), B, To_PTR (C));
+   end vec_stvehx;
+
+   ----------------
+   -- vec_stvebx --
+   ----------------
+
+   procedure vec_stvebx
+     (A : vector_signed_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_stvebx;
+
+   procedure vec_stvebx
+     (A : vector_unsigned_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_stvebx;
+
+   procedure vec_stvebx
+     (A : vector_bool_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_stvebx;
+
+   procedure vec_stvebx
+     (A : vector_bool_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvebx (To_LL_VSC (A), B, To_PTR (C));
+   end vec_stvebx;
+
+   -------------
+   -- vec_stl --
+   -------------
+
+   procedure vec_stl
+     (A : vector_float;
+      B : c_int;
+      C : vector_float_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_float;
+      B : c_int;
+      C : float_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_signed_int;
+      B : c_int;
+      C : vector_signed_int_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_signed_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_unsigned_int;
+      B : c_int;
+      C : vector_unsigned_int_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_unsigned_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_int;
+      B : c_int;
+      C : vector_bool_int_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_int;
+      B : c_int;
+      C : unsigned_int_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_int;
+      B : c_int;
+      C : int_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_signed_short;
+      B : c_int;
+      C : vector_signed_short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_signed_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_unsigned_short;
+      B : c_int;
+      C : vector_unsigned_short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_unsigned_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_short;
+      B : c_int;
+      C : vector_bool_short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_short;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_short;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_pixel;
+      B : c_int;
+      C : vector_pixel_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_pixel;
+      B : c_int;
+      C : unsigned_short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_pixel;
+      B : c_int;
+      C : short_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_signed_char;
+      B : c_int;
+      C : vector_signed_char_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_signed_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_unsigned_char;
+      B : c_int;
+      C : vector_unsigned_char_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_unsigned_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_char;
+      B : c_int;
+      C : vector_bool_char_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_char;
+      B : c_int;
+      C : unsigned_char_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   procedure vec_stl
+     (A : vector_bool_char;
+      B : c_int;
+      C : signed_char_ptr)
+   is
+   begin
+      stvxl (To_LL_VSI (A), B, To_PTR (C));
+   end vec_stl;
+
+   -------------
+   -- vec_sub --
+   -------------
+
+   function vec_sub
+     (A : vector_bool_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_signed_char;
+      B : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sub;
+
+   function vec_sub
+     (A : vector_float;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B)));
+   end vec_sub;
+
+   ----------------
+   -- vec_vsubfp --
+   ----------------
+
+   function vec_vsubfp
+     (A : vector_float;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B)));
+   end vec_vsubfp;
+
+   -----------------
+   -- vec_vsubuwm --
+   -----------------
+
+   function vec_vsubuwm
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuwm;
+
+   function vec_vsubuwm
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuwm;
+
+   function vec_vsubuwm
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuwm;
+
+   function vec_vsubuwm
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuwm;
+
+   function vec_vsubuwm
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuwm;
+
+   function vec_vsubuwm
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuwm;
+
+   -----------------
+   -- vec_vsubuhm --
+   -----------------
+
+   function vec_vsubuhm
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhm;
+
+   function vec_vsubuhm
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhm;
+
+   function vec_vsubuhm
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhm;
+
+   function vec_vsubuhm
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhm;
+
+   function vec_vsubuhm
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhm;
+
+   function vec_vsubuhm
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhm;
+
+   -----------------
+   -- vec_vsububm --
+   -----------------
+
+   function vec_vsububm
+     (A : vector_bool_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububm;
+
+   function vec_vsububm
+     (A : vector_signed_char;
+      B : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububm;
+
+   function vec_vsububm
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububm;
+
+   function vec_vsububm
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububm;
+
+   function vec_vsububm
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububm;
+
+   function vec_vsububm
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububm;
+
+   --------------
+   -- vec_subc --
+   --------------
+
+   function vec_subc
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubcuw (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_subc;
+
+   --------------
+   -- vec_subs --
+   --------------
+
+   function vec_subs
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_bool_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_signed_char;
+      B : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_subs;
+
+   function vec_subs
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_subs;
+
+   -----------------
+   -- vec_vsubsws --
+   -----------------
+
+   function vec_vsubsws
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubsws;
+
+   function vec_vsubsws
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubsws;
+
+   function vec_vsubsws
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubsws;
+
+   -----------------
+   -- vec_vsubuws --
+   -----------------
+
+   function vec_vsubuws
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuws;
+
+   function vec_vsubuws
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuws;
+
+   function vec_vsubuws
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_vsubuws;
+
+   -----------------
+   -- vec_vsubshs --
+   -----------------
+
+   function vec_vsubshs
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubshs;
+
+   function vec_vsubshs
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubshs;
+
+   function vec_vsubshs
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubshs;
+
+   -----------------
+   -- vec_vsubuhs --
+   -----------------
+
+   function vec_vsubuhs
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhs;
+
+   function vec_vsubuhs
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhs;
+
+   function vec_vsubuhs
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
+   end vec_vsubuhs;
+
+   -----------------
+   -- vec_vsubsbs --
+   -----------------
+
+   function vec_vsubsbs
+     (A : vector_bool_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsubsbs;
+
+   function vec_vsubsbs
+     (A : vector_signed_char;
+      B : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsubsbs;
+
+   function vec_vsubsbs
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsubsbs;
+
+   -----------------
+   -- vec_vsububs --
+   -----------------
+
+   function vec_vsububs
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububs;
+
+   function vec_vsububs
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububs;
+
+   function vec_vsububs
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
+   end vec_vsububs;
+
+   ---------------
+   -- vec_sum4s --
+   ---------------
+
+   function vec_sum4s
+     (A : vector_unsigned_char;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsum4ubs (To_LL_VSC (A), To_LL_VSI (B)));
+   end vec_sum4s;
+
+   function vec_sum4s
+     (A : vector_signed_char;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsum4sbs (To_LL_VSC (A), To_LL_VSI (B)));
+   end vec_sum4s;
+
+   function vec_sum4s
+     (A : vector_signed_short;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B)));
+   end vec_sum4s;
+
+   ------------------
+   -- vec_vsum4shs --
+   ------------------
+
+   function vec_vsum4shs
+     (A : vector_signed_short;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B)));
+   end vec_vsum4shs;
+
+   ------------------
+   -- vec_vsum4sbs --
+   ------------------
+
+   function vec_vsum4sbs
+     (A : vector_signed_char;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsum4sbs (To_LL_VSC (A), To_LL_VSI (B)));
+   end vec_vsum4sbs;
+
+   ------------------
+   -- vec_vsum4ubs --
+   ------------------
+
+   function vec_vsum4ubs
+     (A : vector_unsigned_char;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsum4ubs (To_LL_VSC (A), To_LL_VSI (B)));
+   end vec_vsum4ubs;
+
+   ---------------
+   -- vec_sum2s --
+   ---------------
+
+   function vec_sum2s
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsum2sws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sum2s;
+
+   --------------
+   -- vec_sums --
+   --------------
+
+   function vec_sums
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vsumsws (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_sums;
+
+   ---------------
+   -- vec_trunc --
+   ---------------
+
+   function vec_trunc
+     (A : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vrfiz (To_LL_VF (A)));
+   end vec_trunc;
+
+   -----------------
+   -- vec_unpackh --
+   -----------------
+
+   function vec_unpackh
+     (A : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vupkhsb (To_LL_VSC (A)));
+   end vec_unpackh;
+
+   function vec_unpackh
+     (A : vector_bool_char) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vupkhsb (To_LL_VSC (A)));
+   end vec_unpackh;
+
+   function vec_unpackh
+     (A : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vupkhsh (To_LL_VSS (A)));
+   end vec_unpackh;
+
+   function vec_unpackh
+     (A : vector_bool_short) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vupkhsh (To_LL_VSS (A)));
+   end vec_unpackh;
+
+   function vec_unpackh
+     (A : vector_pixel) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vupkhpx (To_LL_VSS (A)));
+   end vec_unpackh;
+
+   -----------------
+   -- vec_vupkhsh --
+   -----------------
+
+   function vec_vupkhsh
+     (A : vector_bool_short) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vupkhsh (To_LL_VSS (A)));
+   end vec_vupkhsh;
+
+   function vec_vupkhsh
+     (A : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vupkhsh (To_LL_VSS (A)));
+   end vec_vupkhsh;
+
+   -----------------
+   -- vec_vupkhpx --
+   -----------------
+
+   function vec_vupkhpx
+     (A : vector_pixel) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vupkhpx (To_LL_VSS (A)));
+   end vec_vupkhpx;
+
+   -----------------
+   -- vec_vupkhsb --
+   -----------------
+
+   function vec_vupkhsb
+     (A : vector_bool_char) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vupkhsb (To_LL_VSC (A)));
+   end vec_vupkhsb;
+
+   function vec_vupkhsb
+     (A : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vupkhsb (To_LL_VSC (A)));
+   end vec_vupkhsb;
+
+   -----------------
+   -- vec_unpackl --
+   -----------------
+
+   function vec_unpackl
+     (A : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vupklsb (To_LL_VSC (A)));
+   end vec_unpackl;
+
+   function vec_unpackl
+     (A : vector_bool_char) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vupklsb (To_LL_VSC (A)));
+   end vec_unpackl;
+
+   function vec_unpackl
+     (A : vector_pixel) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vupklpx (To_LL_VSS (A)));
+   end vec_unpackl;
+
+   function vec_unpackl
+     (A : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vupklsh (To_LL_VSS (A)));
+   end vec_unpackl;
+
+   function vec_unpackl
+     (A : vector_bool_short) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vupklsh (To_LL_VSS (A)));
+   end vec_unpackl;
+
+   -----------------
+   -- vec_vupklpx --
+   -----------------
+
+   function vec_vupklpx
+     (A : vector_pixel) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vupklpx (To_LL_VSS (A)));
+   end vec_vupklpx;
+
+   -----------------
+   -- vec_vupklsh --
+   -----------------
+
+   function vec_vupklsh
+     (A : vector_bool_short) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vupklsh (To_LL_VSS (A)));
+   end vec_vupklsh;
+
+   function vec_vupklsh
+     (A : vector_signed_short) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vupklsh (To_LL_VSS (A)));
+   end vec_vupklsh;
+
+   -----------------
+   -- vec_vupklsb --
+   -----------------
+
+   function vec_vupklsb
+     (A : vector_bool_char) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vupklsb (To_LL_VSC (A)));
+   end vec_vupklsb;
+
+   function vec_vupklsb
+     (A : vector_signed_char) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vupklsb (To_LL_VSC (A)));
+   end vec_vupklsb;
+
+   -------------
+   -- vec_xor --
+   -------------
+
+   function vec_xor
+     (A : vector_float;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_float;
+      B : vector_bool_int) return vector_float
+   is
+   begin
+      return To_LL_VF (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_int;
+      B : vector_float) return vector_float
+   is
+   begin
+      return To_LL_VF (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_int;
+      B : vector_bool_int) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_signed_int;
+      B : vector_bool_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_signed_int;
+      B : vector_signed_int) return vector_signed_int
+   is
+   begin
+      return To_LL_VSI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_short;
+      B : vector_bool_short) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_signed_short;
+      B : vector_bool_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_signed_short;
+      B : vector_signed_short) return vector_signed_short
+   is
+   begin
+      return To_LL_VSS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_char;
+      B : vector_bool_char) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_signed_char;
+      B : vector_bool_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_signed_char;
+      B : vector_signed_char) return vector_signed_char
+   is
+   begin
+      return To_LL_VSC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   function vec_xor
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
+   end vec_xor;
+
+   -------------
+   -- vec_dst --
+   -------------
+
+   procedure vec_dst
+     (A : const_vector_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_bool_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_signed_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_bool_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_pixel_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_signed_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_bool_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_vector_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_unsigned_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   procedure vec_dst
+     (A : const_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dst (To_PTR (A), B, C);
+   end vec_dst;
+
+   --------------
+   -- vec_dstt --
+   --------------
+
+   procedure vec_dstt
+     (A : const_vector_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_bool_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_signed_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_bool_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_pixel_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_signed_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_bool_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_vector_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_unsigned_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   procedure vec_dstt
+     (A : const_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstt (To_PTR (A), B, C);
+   end vec_dstt;
+
+   ---------------
+   -- vec_dstst --
+   ---------------
+
+   procedure vec_dstst
+     (A : const_vector_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_bool_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_signed_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_bool_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_pixel_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_signed_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_bool_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_vector_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_unsigned_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   procedure vec_dstst
+     (A : const_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dstst (To_PTR (A), B, C);
+   end vec_dstst;
+
+   ----------------
+   -- vec_dststt --
+   ----------------
+
+   procedure vec_dststt
+     (A : const_vector_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_bool_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_signed_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_bool_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_pixel_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_signed_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_bool_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_vector_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_unsigned_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_signed_char_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_unsigned_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_short_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_unsigned_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_int_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_unsigned_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_long_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   procedure vec_dststt
+     (A : const_float_ptr;
+      B : c_int;
+      C : c_int)
+   is
+   begin
+      dststt (To_PTR (A), B, C);
+   end vec_dststt;
+
+   ----------------
+   -- vec_vspltw --
+   ----------------
+
+   function vec_vspltw
+     (A : vector_float;
+      B : c_int) return vector_float
+   is
+   begin
+      return To_LL_VF (vspltw (To_LL_VSI (A), B));
+   end vec_vspltw;
+
+   function vec_vspltw
+     (A : vector_unsigned_int;
+      B : c_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vspltw (To_LL_VSI (A), B));
+   end vec_vspltw;
+
+   function vec_vspltw
+     (A : vector_bool_int;
+      B : c_int) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vspltw (To_LL_VSI (A), B));
+   end vec_vspltw;
+
+   ----------------
+   -- vec_vsplth --
+   ----------------
+
+   function vec_vsplth
+     (A : vector_bool_short;
+      B : c_int) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsplth (To_LL_VSS (A), B));
+   end vec_vsplth;
+
+   function vec_vsplth
+     (A : vector_unsigned_short;
+      B : c_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsplth (To_LL_VSS (A), B));
+   end vec_vsplth;
+
+   function vec_vsplth
+     (A : vector_pixel;
+      B : c_int) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsplth (To_LL_VSS (A), B));
+   end vec_vsplth;
+
+   ----------------
+   -- vec_vspltb --
+   ----------------
+
+   function vec_vspltb
+     (A : vector_unsigned_char;
+      B : c_int) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vspltb (To_LL_VSC (A), B));
+   end vec_vspltb;
+
+   function vec_vspltb
+     (A : vector_bool_char;
+      B : c_int) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vspltb (To_LL_VSC (A), B));
+   end vec_vspltb;
+
+   ------------------
+   -- vec_splat_u8 --
+   ------------------
+
+   function vec_splat_u8
+     (A : c_int) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vspltisb (A));
+   end vec_splat_u8;
+
+   -------------------
+   -- vec_splat_u16 --
+   -------------------
+
+   function vec_splat_u16
+     (A : c_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vspltish (A));
+   end vec_splat_u16;
+
+   -------------------
+   -- vec_splat_u32 --
+   -------------------
+
+   function vec_splat_u32
+     (A : c_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vspltisw (A));
+   end vec_splat_u32;
+
+   -------------
+   -- vec_sld --
+   -------------
+
+   function vec_sld
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int;
+      C : c_int) return vector_unsigned_int
+   is
+   begin
+      return To_LL_VUI (vsldoi_4si (To_LL_VSI (A), To_LL_VSI (B), C));
+   end vec_sld;
+
+   function vec_sld
+     (A : vector_bool_int;
+      B : vector_bool_int;
+      C : c_int) return vector_bool_int
+   is
+   begin
+      return To_LL_VBI (vsldoi_4si (To_LL_VSI (A), To_LL_VSI (B), C));
+   end vec_sld;
+
+   function vec_sld
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short;
+      C : c_int) return vector_unsigned_short
+   is
+   begin
+      return To_LL_VUS (vsldoi_8hi (To_LL_VSS (A), To_LL_VSS (B), C));
+   end vec_sld;
+
+   function vec_sld
+     (A : vector_bool_short;
+      B : vector_bool_short;
+      C : c_int) return vector_bool_short
+   is
+   begin
+      return To_LL_VBS (vsldoi_8hi (To_LL_VSS (A), To_LL_VSS (B), C));
+   end vec_sld;
+
+   function vec_sld
+     (A : vector_pixel;
+      B : vector_pixel;
+      C : c_int) return vector_pixel
+   is
+   begin
+      return To_LL_VP (vsldoi_8hi (To_LL_VSS (A), To_LL_VSS (B), C));
+   end vec_sld;
+
+   function vec_sld
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char;
+      C : c_int) return vector_unsigned_char
+   is
+   begin
+      return To_LL_VUC (vsldoi_16qi (To_LL_VSC (A), To_LL_VSC (B), C));
+   end vec_sld;
+
+   function vec_sld
+     (A : vector_bool_char;
+      B : vector_bool_char;
+      C : c_int) return vector_bool_char
+   is
+   begin
+      return To_LL_VBC (vsldoi_16qi (To_LL_VSC (A), To_LL_VSC (B), C));
+   end vec_sld;
+
+   ----------------
+   -- vec_all_eq --
+   ----------------
+
+   function vec_all_eq
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_pixel;
+      B : vector_pixel) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_eq;
+
+   function vec_all_eq
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
+   end vec_all_eq;
+
+   ----------------
+   -- vec_all_ge --
+   ----------------
+
+   function vec_all_ge
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_ge;
+
+   function vec_all_ge
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
+   end vec_all_ge;
+
+   ----------------
+   -- vec_all_gt --
+   ----------------
+
+   function vec_all_gt
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_gt;
+
+   function vec_all_gt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
+   end vec_all_gt;
+
+   ----------------
+   -- vec_all_in --
+   ----------------
+
+   function vec_all_in
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpbfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
+   end vec_all_in;
+
+   ----------------
+   -- vec_all_le --
+   ----------------
+
+   function vec_all_le
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_le;
+
+   function vec_all_le
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A));
+   end vec_all_le;
+
+   ----------------
+   -- vec_all_lt --
+   ----------------
+
+   function vec_all_lt
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_all_lt;
+
+   function vec_all_lt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A));
+   end vec_all_lt;
+
+   -----------------
+   -- vec_all_nan --
+   -----------------
+
+   function vec_all_nan
+     (A : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (A));
+   end vec_all_nan;
+
+   ----------------
+   -- vec_all_ne --
+   ----------------
+
+   function vec_all_ne
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_pixel;
+      B : vector_pixel) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_all_ne;
+
+   function vec_all_ne
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
+   end vec_all_ne;
+
+   -----------------
+   -- vec_all_nge --
+   -----------------
+
+   function vec_all_nge
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
+   end vec_all_nge;
+
+   -----------------
+   -- vec_all_ngt --
+   -----------------
+
+   function vec_all_ngt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
+   end vec_all_ngt;
+
+   -----------------
+   -- vec_all_nle --
+   -----------------
+
+   function vec_all_nle
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A));
+   end vec_all_nle;
+
+   -----------------
+   -- vec_all_nlt --
+   -----------------
+
+   function vec_all_nlt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A));
+   end vec_all_nlt;
+
+   ---------------------
+   -- vec_all_numeric --
+   ---------------------
+
+   function vec_all_numeric
+     (A : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (A));
+   end vec_all_numeric;
+
+   ----------------
+   -- vec_any_eq --
+   ----------------
+
+   function vec_any_eq
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_pixel;
+      B : vector_pixel) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_eq;
+
+   function vec_any_eq
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
+   end vec_any_eq;
+
+   ----------------
+   -- vec_any_ge --
+   ----------------
+
+   function vec_any_ge
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_ge;
+
+   function vec_any_ge
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
+   end vec_any_ge;
+
+   ----------------
+   -- vec_any_gt --
+   ----------------
+
+   function vec_any_gt
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_gt;
+
+   function vec_any_gt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
+   end vec_any_gt;
+
+   ----------------
+   -- vec_any_le --
+   ----------------
+
+   function vec_any_le
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_le;
+
+   function vec_any_le
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A));
+   end vec_any_le;
+
+   ----------------
+   -- vec_any_lt --
+   ----------------
+
+   function vec_any_lt
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
+   end vec_any_lt;
+
+   function vec_any_lt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A));
+   end vec_any_lt;
+
+   -----------------
+   -- vec_any_nan --
+   -----------------
+
+   function vec_any_nan
+     (A : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (A));
+   end vec_any_nan;
+
+   ----------------
+   -- vec_any_ne --
+   ----------------
+
+   function vec_any_ne
+     (A : vector_signed_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_signed_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_unsigned_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_unsigned_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_char;
+      B : vector_bool_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_char;
+      B : vector_unsigned_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_char;
+      B : vector_signed_char) return c_int
+   is
+   begin
+      return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_signed_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_signed_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_unsigned_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_unsigned_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_short;
+      B : vector_bool_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_short;
+      B : vector_unsigned_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_short;
+      B : vector_signed_short) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_pixel;
+      B : vector_pixel) return c_int
+   is
+   begin
+      return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_signed_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_signed_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_unsigned_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_unsigned_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_int;
+      B : vector_bool_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_int;
+      B : vector_unsigned_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_bool_int;
+      B : vector_signed_int) return c_int
+   is
+   begin
+      return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
+   end vec_any_ne;
+
+   function vec_any_ne
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
+   end vec_any_ne;
+
+   -----------------
+   -- vec_any_nge --
+   -----------------
+
+   function vec_any_nge
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
+   end vec_any_nge;
+
+   -----------------
+   -- vec_any_ngt --
+   -----------------
+
+   function vec_any_ngt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
+   end vec_any_ngt;
+
+   -----------------
+   -- vec_any_nle --
+   -----------------
+
+   function vec_any_nle
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgefp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A));
+   end vec_any_nle;
+
+   -----------------
+   -- vec_any_nlt --
+   -----------------
+
+   function vec_any_nlt
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A));
+   end vec_any_nlt;
+
+   ---------------------
+   -- vec_any_numeric --
+   ---------------------
+
+   function vec_any_numeric
+     (A : vector_float) return c_int
+   is
+   begin
+      return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (A));
+   end vec_any_numeric;
+
+   -----------------
+   -- vec_any_out --
+   -----------------
+
+   function vec_any_out
+     (A : vector_float;
+      B : vector_float) return c_int
+   is
+   begin
+      return vcmpbfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
+   end vec_any_out;
+
+   --------------
+   -- vec_step --
+   --------------
+
+   function vec_step
+     (V : vector_unsigned_char) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 16;
+   end vec_step;
+
+   function vec_step
+     (V : vector_signed_char) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 16;
+   end vec_step;
+
+   function vec_step
+     (V : vector_bool_char) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 16;
+   end vec_step;
+
+   function vec_step
+     (V : vector_unsigned_short) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 8;
+   end vec_step;
+
+   function vec_step
+     (V : vector_signed_short) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 8;
+   end vec_step;
+
+   function vec_step
+     (V : vector_bool_short) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 8;
+   end vec_step;
+
+   function vec_step
+     (V : vector_unsigned_int) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 4;
+   end vec_step;
+
+   function vec_step
+     (V : vector_signed_int) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 4;
+   end vec_step;
+
+   function vec_step
+     (V : vector_bool_int) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 4;
+   end vec_step;
+
+   function vec_step
+     (V : vector_float) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 4;
+   end vec_step;
+
+   function vec_step
+     (V : vector_pixel) return Integer
+   is
+      pragma Unreferenced (V);
+   begin
+      return 4;
+   end vec_step;
+
+end GNAT.Altivec.Vector_Operations;