------------------------------------------------------------------------------
--                                                                          --
--                         GNAT COMPILER COMPONENTS                         --
--                                                                          --
--       G N A T . A L T I V E C . L O W _ L E V E L _ V E C T O R S        --
--                                                                          --
--                                 S p e c                                  --
--                         (Soft Binding Version)                           --
--                                                                          --
--          Copyright (C) 2004-2021, 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.      --
--                                                                          --
------------------------------------------------------------------------------

--  This unit exposes the low level vector support for the Soft binding,
--  intended for non AltiVec capable targets. See Altivec.Design for a
--  description of what is expected to be exposed.

with GNAT.Altivec.Vector_Views; use GNAT.Altivec.Vector_Views;

package GNAT.Altivec.Low_Level_Vectors is

   ----------------------------------------
   -- Low level vector type declarations --
   ----------------------------------------

   type LL_VUC is private;
   type LL_VSC is private;
   type LL_VBC is private;

   type LL_VUS is private;
   type LL_VSS is private;
   type LL_VBS is private;

   type LL_VUI is private;
   type LL_VSI is private;
   type LL_VBI is private;

   type LL_VF  is private;
   type LL_VP  is private;

   ------------------------------------
   -- Low level functional interface --
   ------------------------------------

   function abs_v16qi (A : LL_VSC) return LL_VSC;
   function abs_v8hi  (A : LL_VSS) return LL_VSS;
   function abs_v4si  (A : LL_VSI) return LL_VSI;
   function abs_v4sf  (A : LL_VF)  return LL_VF;

   function abss_v16qi (A : LL_VSC) return LL_VSC;
   function abss_v8hi  (A : LL_VSS) return LL_VSS;
   function abss_v4si  (A : LL_VSI) return LL_VSI;

   function vaddubm (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vadduhm (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vadduwm (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vaddfp  (A : LL_VF;  B : LL_VF)  return LL_VF;

   function vaddcuw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vaddubs (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vaddsbs (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vadduhs (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vaddshs (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vadduws (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vaddsws (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vand  (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vandc (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vavgub (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vavgsb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vavguh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vavgsh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vavguw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vavgsw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vcmpbfp (A : LL_VF; B : LL_VF) return LL_VSI;

   function vcmpequb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vcmpequh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vcmpequw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vcmpeqfp (A : LL_VF; B : LL_VF) return LL_VSI;

   function vcmpgefp (A : LL_VF; B : LL_VF) return LL_VSI;

   function vcmpgtub (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vcmpgtsb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vcmpgtuh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vcmpgtsh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vcmpgtuw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vcmpgtsw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vcmpgtfp (A : LL_VF; B : LL_VF) return LL_VSI;

   function vcfux (A : LL_VUI; B : c_int) return LL_VF;
   function vcfsx (A : LL_VSI; B : c_int) return LL_VF;

   function vctsxs (A : LL_VF; B : c_int) return LL_VSI;
   function vctuxs (A : LL_VF; B : c_int) return LL_VUI;

   procedure dss (A : c_int);
   procedure dssall;

   procedure dst    (A : c_ptr; B : c_int; C : c_int);
   procedure dstst  (A : c_ptr; B : c_int; C : c_int);
   procedure dststt (A : c_ptr; B : c_int; C : c_int);
   procedure dstt   (A : c_ptr; B : c_int; C : c_int);

   function vexptefp (A : LL_VF) return LL_VF;

   function vrfim (A : LL_VF) return LL_VF;

   function lvx   (A : c_long; B : c_ptr) return LL_VSI;
   function lvebx (A : c_long; B : c_ptr) return LL_VSC;
   function lvehx (A : c_long; B : c_ptr) return LL_VSS;
   function lvewx (A : c_long; B : c_ptr) return LL_VSI;
   function lvxl  (A : c_long; B : c_ptr) return LL_VSI;

   function vlogefp (A : LL_VF) return LL_VF;

   function lvsl  (A : c_long; B : c_ptr) return LL_VSC;
   function lvsr  (A : c_long; B : c_ptr) return LL_VSC;

   function vmaddfp (A : LL_VF; B : LL_VF; C : LL_VF) return LL_VF;

   function vmhaddshs  (A : LL_VSS; B : LL_VSS; C : LL_VSS) return LL_VSS;

   function vmaxub (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vmaxsb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vmaxuh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vmaxsh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vmaxuw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vmaxsw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vmaxfp (A : LL_VF;  B : LL_VF)  return LL_VF;

   function vmrghb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vmrghh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vmrghw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vmrglb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vmrglh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vmrglw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function mfvscr return LL_VSS;

   function vminfp (A : LL_VF;  B : LL_VF)  return LL_VF;
   function vminsb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vminsh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vminsw (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vminub (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vminuh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vminuw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vmladduhm (A : LL_VSS; B : LL_VSS; C : LL_VSS) return LL_VSS;

   function vmhraddshs (A : LL_VSS; B : LL_VSS; C : LL_VSS) return LL_VSS;

   function vmsumubm (A : LL_VSC; B : LL_VSC; C : LL_VSI) return LL_VSI;
   function vmsummbm (A : LL_VSC; B : LL_VSC; C : LL_VSI) return LL_VSI;
   function vmsumuhm (A : LL_VSS; B : LL_VSS; C : LL_VSI) return LL_VSI;
   function vmsumshm (A : LL_VSS; B : LL_VSS; C : LL_VSI) return LL_VSI;
   function vmsumuhs (A : LL_VSS; B : LL_VSS; C : LL_VSI) return LL_VSI;
   function vmsumshs (A : LL_VSS; B : LL_VSS; C : LL_VSI) return LL_VSI;

   procedure mtvscr (A : LL_VSI);

   function vmuleub (A : LL_VSC; B : LL_VSC) return LL_VSS;
   function vmuleuh (A : LL_VSS; B : LL_VSS) return LL_VSI;
   function vmulesb (A : LL_VSC; B : LL_VSC) return LL_VSS;
   function vmulesh (A : LL_VSS; B : LL_VSS) return LL_VSI;

   function vmulosb (A : LL_VSC; B : LL_VSC) return LL_VSS;
   function vmulosh (A : LL_VSS; B : LL_VSS) return LL_VSI;
   function vmuloub (A : LL_VSC; B : LL_VSC) return LL_VSS;
   function vmulouh (A : LL_VSS; B : LL_VSS) return LL_VSI;

   function vnmsubfp (A : LL_VF; B : LL_VF; C : LL_VF) return LL_VF;

   function vxor (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vnor (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vor  (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vpkuhum (A : LL_VSS; B : LL_VSS) return LL_VSC;
   function vpkuwum (A : LL_VSI; B : LL_VSI) return LL_VSS;
   function vpkpx   (A : LL_VSI; B : LL_VSI) return LL_VSS;
   function vpkuhus (A : LL_VSS; B : LL_VSS) return LL_VSC;
   function vpkuwus (A : LL_VSI; B : LL_VSI) return LL_VSS;
   function vpkshss (A : LL_VSS; B : LL_VSS) return LL_VSC;
   function vpkswss (A : LL_VSI; B : LL_VSI) return LL_VSS;
   function vpkshus (A : LL_VSS; B : LL_VSS) return LL_VSC;
   function vpkswus (A : LL_VSI; B : LL_VSI) return LL_VSS;

   function vperm_4si (A : LL_VSI; B : LL_VSI; C : LL_VSC) return LL_VSI;

   function vrefp (A : LL_VF) return LL_VF;

   function vrlb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vrlh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vrlw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vrfin (A : LL_VF) return LL_VF;
   function vrfip (A : LL_VF) return LL_VF;
   function vrfiz (A : LL_VF) return LL_VF;

   function vrsqrtefp (A : LL_VF) return LL_VF;

   function vsel_4si (A : LL_VSI; B : LL_VSI; C : LL_VSI) return LL_VSI;

   function vslb (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vslh (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vslw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vsldoi_4si  (A : LL_VSI; B : LL_VSI; C : c_int) return LL_VSI;
   function vsldoi_8hi  (A : LL_VSS; B : LL_VSS; C : c_int) return LL_VSS;
   function vsldoi_16qi (A : LL_VSC; B : LL_VSC; C : c_int) return LL_VSC;
   function vsldoi_4sf  (A : LL_VF;  B : LL_VF;  C : c_int) return LL_VF;

   function vsl  (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vslo (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vspltb (A : LL_VSC; B : c_int) return LL_VSC;
   function vsplth (A : LL_VSS; B : c_int) return LL_VSS;
   function vspltw (A : LL_VSI; B : c_int) return LL_VSI;

   function vspltisb (A : c_int) return LL_VSC;
   function vspltish (A : c_int) return LL_VSS;
   function vspltisw (A : c_int) return LL_VSI;

   function vsrb  (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vsrh  (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vsrw  (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vsrab (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vsrah (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vsraw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vsr   (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vsro  (A : LL_VSI; B : LL_VSI) return LL_VSI;

   procedure stvx   (A : LL_VSI; B : c_int; C : c_ptr);
   procedure stvebx (A : LL_VSC; B : c_int; C : c_ptr);
   procedure stvehx (A : LL_VSS; B : c_int; C : c_ptr);
   procedure stvewx (A : LL_VSI; B : c_int; C : c_ptr);
   procedure stvxl  (A : LL_VSI; B : c_int; C : c_ptr);

   function vsububm (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vsubuhm (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vsubuwm (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vsubfp  (A : LL_VF;  B : LL_VF)  return LL_VF;

   function vsubcuw (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vsububs (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vsubsbs (A : LL_VSC; B : LL_VSC) return LL_VSC;
   function vsubuhs (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vsubshs (A : LL_VSS; B : LL_VSS) return LL_VSS;
   function vsubuws (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vsubsws (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vsum4ubs (A : LL_VSC; B : LL_VSI) return LL_VSI;
   function vsum4sbs (A : LL_VSC; B : LL_VSI) return LL_VSI;
   function vsum4shs (A : LL_VSS; B : LL_VSI) return LL_VSI;

   function vsum2sws (A : LL_VSI; B : LL_VSI) return LL_VSI;
   function vsumsws  (A : LL_VSI; B : LL_VSI) return LL_VSI;

   function vupkhsb (A : LL_VSC) return LL_VSS;
   function vupkhsh (A : LL_VSS) return LL_VSI;
   function vupkhpx (A : LL_VSS) return LL_VSI;

   function vupklsb (A : LL_VSC) return LL_VSS;
   function vupklsh (A : LL_VSS) return LL_VSI;
   function vupklpx (A : LL_VSS) return LL_VSI;

   function vcmpequb_p (A : c_int; B : LL_VSC; C : LL_VSC) return c_int;
   function vcmpequh_p (A : c_int; B : LL_VSS; C : LL_VSS) return c_int;
   function vcmpequw_p (A : c_int; B : LL_VSI; C : LL_VSI) return c_int;
   function vcmpeqfp_p (A : c_int; B : LL_VF; C : LL_VF) return c_int;

   function vcmpgtub_p (A : c_int; B : LL_VSC; C : LL_VSC) return c_int;
   function vcmpgtuh_p (A : c_int; B : LL_VSS; C : LL_VSS) return c_int;
   function vcmpgtuw_p (A : c_int; B : LL_VSI; C : LL_VSI) return c_int;
   function vcmpgtsb_p (A : c_int; B : LL_VSC; C : LL_VSC) return c_int;
   function vcmpgtsh_p (A : c_int; B : LL_VSS; C : LL_VSS) return c_int;
   function vcmpgtsw_p (A : c_int; B : LL_VSI; C : LL_VSI) return c_int;
   function vcmpgtfp_p (A : c_int; B : LL_VF; C : LL_VF) return c_int;

   function vcmpgefp_p (A : c_int; B : LL_VF; C : LL_VF) return c_int;
   function vcmpbfp_p  (A : c_int; B : LL_VF; C : LL_VF) return c_int;

private

   ---------------------------------------
   -- Low level vector type definitions --
   ---------------------------------------

   --  We simply use the natural array definitions corresponding to each
   --  user-level vector type.

   type LL_VUI is new VUI_View;
   type LL_VSI is new VSI_View;
   type LL_VBI is new VBI_View;

   type LL_VUS is new VUS_View;
   type LL_VSS is new VSS_View;
   type LL_VBS is new VBS_View;

   type LL_VUC is new VUC_View;
   type LL_VSC is new VSC_View;
   type LL_VBC is new VBC_View;

   type LL_VF is new VF_View;
   type LL_VP is new VP_View;

   ------------------------------------
   -- Low level functional interface --
   ------------------------------------

   pragma Convention_Identifier (LL_Altivec, C);

   pragma Export (LL_Altivec, dss,         "__builtin_altivec_dss");
   pragma Export (LL_Altivec, dssall,      "__builtin_altivec_dssall");
   pragma Export (LL_Altivec, dst,         "__builtin_altivec_dst");
   pragma Export (LL_Altivec, dstst,       "__builtin_altivec_dstst");
   pragma Export (LL_Altivec, dststt,      "__builtin_altivec_dststt");
   pragma Export (LL_Altivec, dstt,        "__builtin_altivec_dstt");
   pragma Export (LL_Altivec, mtvscr,      "__builtin_altivec_mtvscr");
   pragma Export (LL_Altivec, mfvscr,      "__builtin_altivec_mfvscr");
   pragma Export (LL_Altivec, stvebx,      "__builtin_altivec_stvebx");
   pragma Export (LL_Altivec, stvehx,      "__builtin_altivec_stvehx");
   pragma Export (LL_Altivec, stvewx,      "__builtin_altivec_stvewx");
   pragma Export (LL_Altivec, stvx,        "__builtin_altivec_stvx");
   pragma Export (LL_Altivec, stvxl,       "__builtin_altivec_stvxl");
   pragma Export (LL_Altivec, lvebx,       "__builtin_altivec_lvebx");
   pragma Export (LL_Altivec, lvehx,       "__builtin_altivec_lvehx");
   pragma Export (LL_Altivec, lvewx,       "__builtin_altivec_lvewx");
   pragma Export (LL_Altivec, lvx,         "__builtin_altivec_lvx");
   pragma Export (LL_Altivec, lvxl,        "__builtin_altivec_lvxl");
   pragma Export (LL_Altivec, lvsl,        "__builtin_altivec_lvsl");
   pragma Export (LL_Altivec, lvsr,        "__builtin_altivec_lvsr");
   pragma Export (LL_Altivec, abs_v16qi,   "__builtin_altivec_abs_v16qi");
   pragma Export (LL_Altivec, abs_v8hi,    "__builtin_altivec_abs_v8hi");
   pragma Export (LL_Altivec, abs_v4si,    "__builtin_altivec_abs_v4si");
   pragma Export (LL_Altivec, abs_v4sf,    "__builtin_altivec_abs_v4sf");
   pragma Export (LL_Altivec, abss_v16qi,  "__builtin_altivec_abss_v16qi");
   pragma Export (LL_Altivec, abss_v8hi,   "__builtin_altivec_abss_v8hi");
   pragma Export (LL_Altivec, abss_v4si,   "__builtin_altivec_abss_v4si");
   pragma Export (LL_Altivec, vaddcuw,     "__builtin_altivec_vaddcuw");
   pragma Export (LL_Altivec, vaddfp,      "__builtin_altivec_vaddfp");
   pragma Export (LL_Altivec, vaddsbs,     "__builtin_altivec_vaddsbs");
   pragma Export (LL_Altivec, vaddshs,     "__builtin_altivec_vaddshs");
   pragma Export (LL_Altivec, vaddsws,     "__builtin_altivec_vaddsws");
   pragma Export (LL_Altivec, vaddubm,     "__builtin_altivec_vaddubm");
   pragma Export (LL_Altivec, vaddubs,     "__builtin_altivec_vaddubs");
   pragma Export (LL_Altivec, vadduhm,     "__builtin_altivec_vadduhm");
   pragma Export (LL_Altivec, vadduhs,     "__builtin_altivec_vadduhs");
   pragma Export (LL_Altivec, vadduwm,     "__builtin_altivec_vadduwm");
   pragma Export (LL_Altivec, vadduws,     "__builtin_altivec_vadduws");
   pragma Export (LL_Altivec, vand,        "__builtin_altivec_vand");
   pragma Export (LL_Altivec, vandc,       "__builtin_altivec_vandc");
   pragma Export (LL_Altivec, vavgsb,      "__builtin_altivec_vavgsb");
   pragma Export (LL_Altivec, vavgsh,      "__builtin_altivec_vavgsh");
   pragma Export (LL_Altivec, vavgsw,      "__builtin_altivec_vavgsw");
   pragma Export (LL_Altivec, vavgub,      "__builtin_altivec_vavgub");
   pragma Export (LL_Altivec, vavguh,      "__builtin_altivec_vavguh");
   pragma Export (LL_Altivec, vavguw,      "__builtin_altivec_vavguw");
   pragma Export (LL_Altivec, vcfsx,       "__builtin_altivec_vcfsx");
   pragma Export (LL_Altivec, vcfux,       "__builtin_altivec_vcfux");
   pragma Export (LL_Altivec, vcmpbfp,     "__builtin_altivec_vcmpbfp");
   pragma Export (LL_Altivec, vcmpeqfp,    "__builtin_altivec_vcmpeqfp");
   pragma Export (LL_Altivec, vcmpequb,    "__builtin_altivec_vcmpequb");
   pragma Export (LL_Altivec, vcmpequh,    "__builtin_altivec_vcmpequh");
   pragma Export (LL_Altivec, vcmpequw,    "__builtin_altivec_vcmpequw");
   pragma Export (LL_Altivec, vcmpgefp,    "__builtin_altivec_vcmpgefp");
   pragma Export (LL_Altivec, vcmpgtfp,    "__builtin_altivec_vcmpgtfp");
   pragma Export (LL_Altivec, vcmpgtsb,    "__builtin_altivec_vcmpgtsb");
   pragma Export (LL_Altivec, vcmpgtsh,    "__builtin_altivec_vcmpgtsh");
   pragma Export (LL_Altivec, vcmpgtsw,    "__builtin_altivec_vcmpgtsw");
   pragma Export (LL_Altivec, vcmpgtub,    "__builtin_altivec_vcmpgtub");
   pragma Export (LL_Altivec, vcmpgtuh,    "__builtin_altivec_vcmpgtuh");
   pragma Export (LL_Altivec, vcmpgtuw,    "__builtin_altivec_vcmpgtuw");
   pragma Export (LL_Altivec, vctsxs,      "__builtin_altivec_vctsxs");
   pragma Export (LL_Altivec, vctuxs,      "__builtin_altivec_vctuxs");
   pragma Export (LL_Altivec, vexptefp,    "__builtin_altivec_vexptefp");
   pragma Export (LL_Altivec, vlogefp,     "__builtin_altivec_vlogefp");
   pragma Export (LL_Altivec, vmaddfp,     "__builtin_altivec_vmaddfp");
   pragma Export (LL_Altivec, vmaxfp,      "__builtin_altivec_vmaxfp");
   pragma Export (LL_Altivec, vmaxsb,      "__builtin_altivec_vmaxsb");
   pragma Export (LL_Altivec, vmaxsh,      "__builtin_altivec_vmaxsh");
   pragma Export (LL_Altivec, vmaxsw,      "__builtin_altivec_vmaxsw");
   pragma Export (LL_Altivec, vmaxub,      "__builtin_altivec_vmaxub");
   pragma Export (LL_Altivec, vmaxuh,      "__builtin_altivec_vmaxuh");
   pragma Export (LL_Altivec, vmaxuw,      "__builtin_altivec_vmaxuw");
   pragma Export (LL_Altivec, vmhaddshs,   "__builtin_altivec_vmhaddshs");
   pragma Export (LL_Altivec, vmhraddshs,  "__builtin_altivec_vmhraddshs");
   pragma Export (LL_Altivec, vminfp,      "__builtin_altivec_vminfp");
   pragma Export (LL_Altivec, vminsb,      "__builtin_altivec_vminsb");
   pragma Export (LL_Altivec, vminsh,      "__builtin_altivec_vminsh");
   pragma Export (LL_Altivec, vminsw,      "__builtin_altivec_vminsw");
   pragma Export (LL_Altivec, vminub,      "__builtin_altivec_vminub");
   pragma Export (LL_Altivec, vminuh,      "__builtin_altivec_vminuh");
   pragma Export (LL_Altivec, vminuw,      "__builtin_altivec_vminuw");
   pragma Export (LL_Altivec, vmladduhm,   "__builtin_altivec_vmladduhm");
   pragma Export (LL_Altivec, vmrghb,      "__builtin_altivec_vmrghb");
   pragma Export (LL_Altivec, vmrghh,      "__builtin_altivec_vmrghh");
   pragma Export (LL_Altivec, vmrghw,      "__builtin_altivec_vmrghw");
   pragma Export (LL_Altivec, vmrglb,      "__builtin_altivec_vmrglb");
   pragma Export (LL_Altivec, vmrglh,      "__builtin_altivec_vmrglh");
   pragma Export (LL_Altivec, vmrglw,      "__builtin_altivec_vmrglw");
   pragma Export (LL_Altivec, vmsummbm,    "__builtin_altivec_vmsummbm");
   pragma Export (LL_Altivec, vmsumshm,    "__builtin_altivec_vmsumshm");
   pragma Export (LL_Altivec, vmsumshs,    "__builtin_altivec_vmsumshs");
   pragma Export (LL_Altivec, vmsumubm,    "__builtin_altivec_vmsumubm");
   pragma Export (LL_Altivec, vmsumuhm,    "__builtin_altivec_vmsumuhm");
   pragma Export (LL_Altivec, vmsumuhs,    "__builtin_altivec_vmsumuhs");
   pragma Export (LL_Altivec, vmulesb,     "__builtin_altivec_vmulesb");
   pragma Export (LL_Altivec, vmulesh,     "__builtin_altivec_vmulesh");
   pragma Export (LL_Altivec, vmuleub,     "__builtin_altivec_vmuleub");
   pragma Export (LL_Altivec, vmuleuh,     "__builtin_altivec_vmuleuh");
   pragma Export (LL_Altivec, vmulosb,     "__builtin_altivec_vmulosb");
   pragma Export (LL_Altivec, vmulosh,     "__builtin_altivec_vmulosh");
   pragma Export (LL_Altivec, vmuloub,     "__builtin_altivec_vmuloub");
   pragma Export (LL_Altivec, vmulouh,     "__builtin_altivec_vmulouh");
   pragma Export (LL_Altivec, vnmsubfp,    "__builtin_altivec_vnmsubfp");
   pragma Export (LL_Altivec, vnor,        "__builtin_altivec_vnor");
   pragma Export (LL_Altivec, vxor,        "__builtin_altivec_vxor");
   pragma Export (LL_Altivec, vor,         "__builtin_altivec_vor");
   pragma Export (LL_Altivec, vperm_4si,   "__builtin_altivec_vperm_4si");
   pragma Export (LL_Altivec, vpkpx,       "__builtin_altivec_vpkpx");
   pragma Export (LL_Altivec, vpkshss,     "__builtin_altivec_vpkshss");
   pragma Export (LL_Altivec, vpkshus,     "__builtin_altivec_vpkshus");
   pragma Export (LL_Altivec, vpkswss,     "__builtin_altivec_vpkswss");
   pragma Export (LL_Altivec, vpkswus,     "__builtin_altivec_vpkswus");
   pragma Export (LL_Altivec, vpkuhum,     "__builtin_altivec_vpkuhum");
   pragma Export (LL_Altivec, vpkuhus,     "__builtin_altivec_vpkuhus");
   pragma Export (LL_Altivec, vpkuwum,     "__builtin_altivec_vpkuwum");
   pragma Export (LL_Altivec, vpkuwus,     "__builtin_altivec_vpkuwus");
   pragma Export (LL_Altivec, vrefp,       "__builtin_altivec_vrefp");
   pragma Export (LL_Altivec, vrfim,       "__builtin_altivec_vrfim");
   pragma Export (LL_Altivec, vrfin,       "__builtin_altivec_vrfin");
   pragma Export (LL_Altivec, vrfip,       "__builtin_altivec_vrfip");
   pragma Export (LL_Altivec, vrfiz,       "__builtin_altivec_vrfiz");
   pragma Export (LL_Altivec, vrlb,        "__builtin_altivec_vrlb");
   pragma Export (LL_Altivec, vrlh,        "__builtin_altivec_vrlh");
   pragma Export (LL_Altivec, vrlw,        "__builtin_altivec_vrlw");
   pragma Export (LL_Altivec, vrsqrtefp,   "__builtin_altivec_vrsqrtefp");
   pragma Export (LL_Altivec, vsel_4si,    "__builtin_altivec_vsel_4si");
   pragma Export (LL_Altivec, vsldoi_4si,  "__builtin_altivec_vsldoi_4si");
   pragma Export (LL_Altivec, vsldoi_8hi,  "__builtin_altivec_vsldoi_8hi");
   pragma Export (LL_Altivec, vsldoi_16qi, "__builtin_altivec_vsldoi_16qi");
   pragma Export (LL_Altivec, vsldoi_4sf,  "__builtin_altivec_vsldoi_4sf");
   pragma Export (LL_Altivec, vsl,         "__builtin_altivec_vsl");
   pragma Export (LL_Altivec, vslb,        "__builtin_altivec_vslb");
   pragma Export (LL_Altivec, vslh,        "__builtin_altivec_vslh");
   pragma Export (LL_Altivec, vslo,        "__builtin_altivec_vslo");
   pragma Export (LL_Altivec, vslw,        "__builtin_altivec_vslw");
   pragma Export (LL_Altivec, vspltb,      "__builtin_altivec_vspltb");
   pragma Export (LL_Altivec, vsplth,      "__builtin_altivec_vsplth");
   pragma Export (LL_Altivec, vspltisb,    "__builtin_altivec_vspltisb");
   pragma Export (LL_Altivec, vspltish,    "__builtin_altivec_vspltish");
   pragma Export (LL_Altivec, vspltisw,    "__builtin_altivec_vspltisw");
   pragma Export (LL_Altivec, vspltw,      "__builtin_altivec_vspltw");
   pragma Export (LL_Altivec, vsr,         "__builtin_altivec_vsr");
   pragma Export (LL_Altivec, vsrab,       "__builtin_altivec_vsrab");
   pragma Export (LL_Altivec, vsrah,       "__builtin_altivec_vsrah");
   pragma Export (LL_Altivec, vsraw,       "__builtin_altivec_vsraw");
   pragma Export (LL_Altivec, vsrb,        "__builtin_altivec_vsrb");
   pragma Export (LL_Altivec, vsrh,        "__builtin_altivec_vsrh");
   pragma Export (LL_Altivec, vsro,        "__builtin_altivec_vsro");
   pragma Export (LL_Altivec, vsrw,        "__builtin_altivec_vsrw");
   pragma Export (LL_Altivec, vsubcuw,     "__builtin_altivec_vsubcuw");
   pragma Export (LL_Altivec, vsubfp,      "__builtin_altivec_vsubfp");
   pragma Export (LL_Altivec, vsubsbs,     "__builtin_altivec_vsubsbs");
   pragma Export (LL_Altivec, vsubshs,     "__builtin_altivec_vsubshs");
   pragma Export (LL_Altivec, vsubsws,     "__builtin_altivec_vsubsws");
   pragma Export (LL_Altivec, vsububm,     "__builtin_altivec_vsububm");
   pragma Export (LL_Altivec, vsububs,     "__builtin_altivec_vsububs");
   pragma Export (LL_Altivec, vsubuhm,     "__builtin_altivec_vsubuhm");
   pragma Export (LL_Altivec, vsubuhs,     "__builtin_altivec_vsubuhs");
   pragma Export (LL_Altivec, vsubuwm,     "__builtin_altivec_vsubuwm");
   pragma Export (LL_Altivec, vsubuws,     "__builtin_altivec_vsubuws");
   pragma Export (LL_Altivec, vsum2sws,    "__builtin_altivec_vsum2sws");
   pragma Export (LL_Altivec, vsum4sbs,    "__builtin_altivec_vsum4sbs");
   pragma Export (LL_Altivec, vsum4shs,    "__builtin_altivec_vsum4shs");
   pragma Export (LL_Altivec, vsum4ubs,    "__builtin_altivec_vsum4ubs");
   pragma Export (LL_Altivec, vsumsws,     "__builtin_altivec_vsumsws");
   pragma Export (LL_Altivec, vupkhpx,     "__builtin_altivec_vupkhpx");
   pragma Export (LL_Altivec, vupkhsb,     "__builtin_altivec_vupkhsb");
   pragma Export (LL_Altivec, vupkhsh,     "__builtin_altivec_vupkhsh");
   pragma Export (LL_Altivec, vupklpx,     "__builtin_altivec_vupklpx");
   pragma Export (LL_Altivec, vupklsb,     "__builtin_altivec_vupklsb");
   pragma Export (LL_Altivec, vupklsh,     "__builtin_altivec_vupklsh");
   pragma Export (LL_Altivec, vcmpbfp_p,   "__builtin_altivec_vcmpbfp_p");
   pragma Export (LL_Altivec, vcmpeqfp_p,  "__builtin_altivec_vcmpeqfp_p");
   pragma Export (LL_Altivec, vcmpgefp_p,  "__builtin_altivec_vcmpgefp_p");
   pragma Export (LL_Altivec, vcmpgtfp_p,  "__builtin_altivec_vcmpgtfp_p");
   pragma Export (LL_Altivec, vcmpequw_p,  "__builtin_altivec_vcmpequw_p");
   pragma Export (LL_Altivec, vcmpgtsw_p,  "__builtin_altivec_vcmpgtsw_p");
   pragma Export (LL_Altivec, vcmpgtuw_p,  "__builtin_altivec_vcmpgtuw_p");
   pragma Export (LL_Altivec, vcmpgtuh_p,  "__builtin_altivec_vcmpgtuh_p");
   pragma Export (LL_Altivec, vcmpgtsh_p,  "__builtin_altivec_vcmpgtsh_p");
   pragma Export (LL_Altivec, vcmpequh_p,  "__builtin_altivec_vcmpequh_p");
   pragma Export (LL_Altivec, vcmpequb_p,  "__builtin_altivec_vcmpequb_p");
   pragma Export (LL_Altivec, vcmpgtsb_p,  "__builtin_altivec_vcmpgtsb_p");
   pragma Export (LL_Altivec, vcmpgtub_p,  "__builtin_altivec_vcmpgtub_p");

end GNAT.Altivec.Low_Level_Vectors;
