File : g-alveop.adb


   1 ------------------------------------------------------------------------------
   2 --                                                                          --
   3 --                         GNAT COMPILER COMPONENTS                         --
   4 --                                                                          --
   5 --       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        --
   6 --                                                                          --
   7 --                                 B o d y                                  --
   8 --                                                                          --
   9 --           Copyright (C) 2004-2015, Free Software Foundation, Inc.        --
  10 --                                                                          --
  11 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
  12 -- terms of the  GNU General Public License as published  by the Free Soft- --
  13 -- ware  Foundation;  either version 3,  or (at your option) any later ver- --
  14 -- sion.  GNAT is distributed in the hope that it will be useful, but WITH- --
  15 -- OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY --
  16 -- or FITNESS FOR A PARTICULAR PURPOSE.                                     --
  17 --                                                                          --
  18 --                                                                          --
  19 --                                                                          --
  20 --                                                                          --
  21 --                                                                          --
  22 -- You should have received a copy of the GNU General Public License and    --
  23 -- a copy of the GCC Runtime Library Exception along with this program;     --
  24 -- see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    --
  25 -- <http://www.gnu.org/licenses/>.                                          --
  26 --                                                                          --
  27 -- GNAT was originally developed  by the GNAT team at  New York University. --
  28 -- Extensive contributions were provided by Ada Core Technologies Inc.      --
  29 --                                                                          --
  30 ------------------------------------------------------------------------------
  31 
  32 with GNAT.Altivec.Low_Level_Interface; use GNAT.Altivec.Low_Level_Interface;
  33 
  34 package body GNAT.Altivec.Vector_Operations is
  35 
  36    --------------------------------------------------------
  37    -- Bodies for generic and specific Altivec operations --
  38    --------------------------------------------------------
  39 
  40    -------------
  41    -- vec_abs --
  42    -------------
  43 
  44    function vec_abs
  45      (A : vector_signed_char) return vector_signed_char
  46    is
  47    begin
  48       return To_LL_VSC (abs_v16qi (A));
  49    end vec_abs;
  50 
  51    function vec_abs
  52      (A : vector_signed_short) return vector_signed_short
  53    is
  54    begin
  55       return To_LL_VSS (abs_v8hi (A));
  56    end vec_abs;
  57 
  58    function vec_abs
  59      (A : vector_signed_int) return vector_signed_int
  60    is
  61    begin
  62       return To_LL_VSI (abs_v4si (A));
  63    end vec_abs;
  64 
  65    function vec_abs
  66      (A : vector_float) return vector_float
  67    is
  68    begin
  69       return To_LL_VF (abs_v4sf (A));
  70    end vec_abs;
  71 
  72    --------------
  73    -- vec_abss --
  74    --------------
  75 
  76    function vec_abss
  77      (A : vector_signed_char) return vector_signed_char
  78    is
  79    begin
  80       return To_LL_VSC (abss_v16qi (A));
  81    end vec_abss;
  82 
  83    function vec_abss
  84      (A : vector_signed_short) return vector_signed_short
  85    is
  86    begin
  87       return To_LL_VSS (abss_v8hi (A));
  88    end vec_abss;
  89 
  90    function vec_abss
  91      (A : vector_signed_int) return vector_signed_int
  92    is
  93    begin
  94       return To_LL_VSI (abss_v4si (A));
  95    end vec_abss;
  96 
  97    -------------
  98    -- vec_add --
  99    -------------
 100 
 101    function vec_add
 102      (A : vector_bool_char;
 103       B : vector_signed_char) return vector_signed_char
 104    is
 105    begin
 106       return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 107    end vec_add;
 108 
 109    function vec_add
 110      (A : vector_signed_char;
 111       B : vector_bool_char) return vector_signed_char
 112    is
 113    begin
 114       return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 115    end vec_add;
 116 
 117    function vec_add
 118      (A : vector_signed_char;
 119       B : vector_signed_char) return vector_signed_char
 120    is
 121    begin
 122       return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 123    end vec_add;
 124 
 125    function vec_add
 126      (A : vector_bool_char;
 127       B : vector_unsigned_char) return vector_unsigned_char
 128    is
 129    begin
 130       return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 131    end vec_add;
 132 
 133    function vec_add
 134      (A : vector_unsigned_char;
 135       B : vector_bool_char) return vector_unsigned_char
 136    is
 137    begin
 138       return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 139    end vec_add;
 140 
 141    function vec_add
 142      (A : vector_unsigned_char;
 143       B : vector_unsigned_char) return vector_unsigned_char
 144    is
 145    begin
 146       return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 147    end vec_add;
 148 
 149    function vec_add
 150      (A : vector_bool_short;
 151       B : vector_signed_short) return vector_signed_short
 152    is
 153    begin
 154       return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 155    end vec_add;
 156 
 157    function vec_add
 158      (A : vector_signed_short;
 159       B : vector_bool_short) return vector_signed_short
 160    is
 161    begin
 162       return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 163    end vec_add;
 164 
 165    function vec_add
 166      (A : vector_signed_short;
 167       B : vector_signed_short) return vector_signed_short
 168    is
 169    begin
 170       return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 171    end vec_add;
 172 
 173    function vec_add
 174      (A : vector_bool_short;
 175       B : vector_unsigned_short) return vector_unsigned_short
 176    is
 177    begin
 178       return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 179    end vec_add;
 180 
 181    function vec_add
 182      (A : vector_unsigned_short;
 183       B : vector_bool_short) return vector_unsigned_short
 184    is
 185    begin
 186       return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 187    end vec_add;
 188 
 189    function vec_add
 190      (A : vector_unsigned_short;
 191       B : vector_unsigned_short) return vector_unsigned_short
 192    is
 193    begin
 194       return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 195    end vec_add;
 196 
 197    function vec_add
 198      (A : vector_bool_int;
 199       B : vector_signed_int) return vector_signed_int
 200    is
 201    begin
 202       return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 203    end vec_add;
 204 
 205    function vec_add
 206      (A : vector_signed_int;
 207       B : vector_bool_int) return vector_signed_int
 208    is
 209    begin
 210       return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 211    end vec_add;
 212 
 213    function vec_add
 214      (A : vector_signed_int;
 215       B : vector_signed_int) return vector_signed_int
 216    is
 217    begin
 218       return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 219    end vec_add;
 220 
 221    function vec_add
 222      (A : vector_bool_int;
 223       B : vector_unsigned_int) return vector_unsigned_int
 224    is
 225    begin
 226       return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 227    end vec_add;
 228 
 229    function vec_add
 230      (A : vector_unsigned_int;
 231       B : vector_bool_int) return vector_unsigned_int
 232    is
 233    begin
 234       return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 235    end vec_add;
 236 
 237    function vec_add
 238      (A : vector_unsigned_int;
 239       B : vector_unsigned_int) return vector_unsigned_int
 240    is
 241    begin
 242       return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 243    end vec_add;
 244 
 245    function vec_add
 246      (A : vector_float;
 247       B : vector_float) return vector_float
 248    is
 249    begin
 250       return To_LL_VF  (vaddfp (To_LL_VF  (A), To_LL_VF  (B)));
 251    end vec_add;
 252 
 253    ----------------
 254    -- vec_vaddfp --
 255    ----------------
 256 
 257    function vec_vaddfp
 258      (A : vector_float;
 259       B : vector_float) return vector_float
 260    is
 261    begin
 262       return To_LL_VF  (vaddfp (To_LL_VF  (A), To_LL_VF  (B)));
 263    end vec_vaddfp;
 264 
 265    -----------------
 266    -- vec_vadduwm --
 267    -----------------
 268 
 269    function vec_vadduwm
 270      (A : vector_bool_int;
 271       B : vector_signed_int) return vector_signed_int
 272    is
 273    begin
 274       return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 275    end vec_vadduwm;
 276 
 277    function vec_vadduwm
 278      (A : vector_signed_int;
 279       B : vector_bool_int) return vector_signed_int
 280    is
 281    begin
 282       return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 283    end vec_vadduwm;
 284 
 285    function vec_vadduwm
 286      (A : vector_signed_int;
 287       B : vector_signed_int) return vector_signed_int
 288    is
 289    begin
 290       return To_LL_VSI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 291    end vec_vadduwm;
 292 
 293    function vec_vadduwm
 294      (A : vector_bool_int;
 295       B : vector_unsigned_int) return vector_unsigned_int
 296    is
 297    begin
 298       return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 299    end vec_vadduwm;
 300 
 301    function vec_vadduwm
 302      (A : vector_unsigned_int;
 303       B : vector_bool_int) return vector_unsigned_int
 304    is
 305    begin
 306       return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 307    end vec_vadduwm;
 308 
 309    function vec_vadduwm
 310      (A : vector_unsigned_int;
 311       B : vector_unsigned_int) return vector_unsigned_int
 312    is
 313    begin
 314       return To_LL_VUI (vadduwm (To_LL_VSI (A), To_LL_VSI (B)));
 315    end vec_vadduwm;
 316 
 317    -----------------
 318    -- vec_vadduhm --
 319    -----------------
 320 
 321    function vec_vadduhm
 322      (A : vector_bool_short;
 323       B : vector_signed_short) return vector_signed_short
 324    is
 325    begin
 326       return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 327    end vec_vadduhm;
 328 
 329    function vec_vadduhm
 330      (A : vector_signed_short;
 331       B : vector_bool_short) return vector_signed_short
 332    is
 333    begin
 334       return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 335    end vec_vadduhm;
 336 
 337    function vec_vadduhm
 338      (A : vector_signed_short;
 339       B : vector_signed_short) return vector_signed_short
 340    is
 341    begin
 342       return To_LL_VSS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 343    end vec_vadduhm;
 344 
 345    function vec_vadduhm
 346      (A : vector_bool_short;
 347       B : vector_unsigned_short) return vector_unsigned_short
 348    is
 349    begin
 350       return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 351    end vec_vadduhm;
 352 
 353    function vec_vadduhm
 354      (A : vector_unsigned_short;
 355       B : vector_bool_short) return vector_unsigned_short
 356    is
 357    begin
 358       return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 359    end vec_vadduhm;
 360 
 361    function vec_vadduhm
 362      (A : vector_unsigned_short;
 363       B : vector_unsigned_short) return vector_unsigned_short
 364    is
 365    begin
 366       return To_LL_VUS (vadduhm (To_LL_VSS (A), To_LL_VSS (B)));
 367    end vec_vadduhm;
 368 
 369    -----------------
 370    -- vec_vaddubm --
 371    -----------------
 372 
 373    function vec_vaddubm
 374      (A : vector_bool_char;
 375       B : vector_signed_char) return vector_signed_char
 376    is
 377    begin
 378       return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 379    end vec_vaddubm;
 380 
 381    function vec_vaddubm
 382      (A : vector_signed_char;
 383       B : vector_bool_char) return vector_signed_char
 384    is
 385    begin
 386       return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 387    end vec_vaddubm;
 388 
 389    function vec_vaddubm
 390      (A : vector_signed_char;
 391       B : vector_signed_char) return vector_signed_char
 392    is
 393    begin
 394       return To_LL_VSC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 395    end vec_vaddubm;
 396 
 397    function vec_vaddubm
 398      (A : vector_bool_char;
 399       B : vector_unsigned_char) return vector_unsigned_char
 400    is
 401    begin
 402       return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 403    end vec_vaddubm;
 404 
 405    function vec_vaddubm
 406      (A : vector_unsigned_char;
 407       B : vector_bool_char) return vector_unsigned_char
 408    is
 409    begin
 410       return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 411    end vec_vaddubm;
 412 
 413    function vec_vaddubm
 414      (A : vector_unsigned_char;
 415       B : vector_unsigned_char) return vector_unsigned_char
 416    is
 417    begin
 418       return To_LL_VUC (vaddubm (To_LL_VSC (A), To_LL_VSC (B)));
 419    end vec_vaddubm;
 420 
 421    --------------
 422    -- vec_addc --
 423    --------------
 424 
 425    function vec_addc
 426      (A : vector_unsigned_int;
 427       B : vector_unsigned_int) return vector_unsigned_int
 428    is
 429    begin
 430       return To_LL_VUI (vaddcuw (To_LL_VSI (A), To_LL_VSI (B)));
 431    end vec_addc;
 432 
 433    --------------
 434    -- vec_adds --
 435    --------------
 436 
 437    function vec_adds
 438      (A : vector_bool_char;
 439       B : vector_unsigned_char) return vector_unsigned_char
 440    is
 441    begin
 442       return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B)));
 443    end vec_adds;
 444 
 445    function vec_adds
 446      (A : vector_unsigned_char;
 447       B : vector_bool_char) return vector_unsigned_char
 448    is
 449    begin
 450       return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B)));
 451    end vec_adds;
 452 
 453    function vec_adds
 454      (A : vector_unsigned_char;
 455       B : vector_unsigned_char) return vector_unsigned_char
 456    is
 457    begin
 458       return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B)));
 459    end vec_adds;
 460 
 461    function vec_adds
 462      (A : vector_bool_char;
 463       B : vector_signed_char) return vector_signed_char
 464    is
 465    begin
 466       return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B)));
 467    end vec_adds;
 468 
 469    function vec_adds
 470      (A : vector_signed_char;
 471       B : vector_bool_char) return vector_signed_char
 472    is
 473    begin
 474       return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B)));
 475    end vec_adds;
 476 
 477    function vec_adds
 478      (A : vector_signed_char;
 479       B : vector_signed_char) return vector_signed_char
 480    is
 481    begin
 482       return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B)));
 483    end vec_adds;
 484 
 485    function vec_adds
 486      (A : vector_bool_short;
 487       B : vector_unsigned_short) return vector_unsigned_short
 488    is
 489    begin
 490       return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B)));
 491    end vec_adds;
 492 
 493    function vec_adds
 494      (A : vector_unsigned_short;
 495       B : vector_bool_short) return vector_unsigned_short
 496    is
 497    begin
 498       return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B)));
 499    end vec_adds;
 500 
 501    function vec_adds
 502      (A : vector_unsigned_short;
 503       B : vector_unsigned_short) return vector_unsigned_short
 504    is
 505    begin
 506       return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B)));
 507    end vec_adds;
 508 
 509    function vec_adds
 510      (A : vector_bool_short;
 511       B : vector_signed_short) return vector_signed_short
 512    is
 513    begin
 514       return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B)));
 515    end vec_adds;
 516 
 517    function vec_adds
 518      (A : vector_signed_short;
 519       B : vector_bool_short) return vector_signed_short
 520    is
 521    begin
 522       return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B)));
 523    end vec_adds;
 524 
 525    function vec_adds
 526      (A : vector_signed_short;
 527       B : vector_signed_short) return vector_signed_short
 528    is
 529    begin
 530       return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B)));
 531    end vec_adds;
 532 
 533    function vec_adds
 534      (A : vector_bool_int;
 535       B : vector_unsigned_int) return vector_unsigned_int
 536    is
 537    begin
 538       return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B)));
 539    end vec_adds;
 540 
 541    function vec_adds
 542      (A : vector_unsigned_int;
 543       B : vector_bool_int) return vector_unsigned_int
 544    is
 545    begin
 546       return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B)));
 547    end vec_adds;
 548 
 549    function vec_adds
 550      (A : vector_unsigned_int;
 551       B : vector_unsigned_int) return vector_unsigned_int
 552    is
 553    begin
 554       return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B)));
 555    end vec_adds;
 556 
 557    function vec_adds
 558      (A : vector_bool_int;
 559       B : vector_signed_int) return vector_signed_int
 560    is
 561    begin
 562       return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
 563    end vec_adds;
 564 
 565    function vec_adds
 566      (A : vector_signed_int;
 567       B : vector_bool_int) return vector_signed_int
 568    is
 569    begin
 570       return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
 571    end vec_adds;
 572 
 573    function vec_adds
 574      (A : vector_signed_int;
 575       B : vector_signed_int) return vector_signed_int
 576    is
 577    begin
 578       return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
 579    end vec_adds;
 580 
 581    -----------------
 582    -- vec_vaddsws --
 583    -----------------
 584 
 585    function vec_vaddsws
 586      (A : vector_bool_int;
 587       B : vector_signed_int) return vector_signed_int
 588    is
 589    begin
 590       return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
 591    end vec_vaddsws;
 592 
 593    function vec_vaddsws
 594      (A : vector_signed_int;
 595       B : vector_bool_int) return vector_signed_int
 596    is
 597    begin
 598       return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
 599    end vec_vaddsws;
 600 
 601    function vec_vaddsws
 602      (A : vector_signed_int;
 603       B : vector_signed_int) return vector_signed_int
 604    is
 605    begin
 606       return To_LL_VSI (vaddsws (To_LL_VSI (A), To_LL_VSI (B)));
 607    end vec_vaddsws;
 608 
 609    -----------------
 610    -- vec_vadduws --
 611    -----------------
 612 
 613    function vec_vadduws
 614      (A : vector_bool_int;
 615       B : vector_unsigned_int) return vector_unsigned_int
 616    is
 617    begin
 618       return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B)));
 619    end vec_vadduws;
 620 
 621    function vec_vadduws
 622      (A : vector_unsigned_int;
 623       B : vector_bool_int) return vector_unsigned_int
 624    is
 625    begin
 626       return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B)));
 627    end vec_vadduws;
 628 
 629    function vec_vadduws
 630      (A : vector_unsigned_int;
 631       B : vector_unsigned_int) return vector_unsigned_int
 632    is
 633    begin
 634       return To_LL_VUI (vadduws (To_LL_VSI (A), To_LL_VSI (B)));
 635    end vec_vadduws;
 636 
 637    -----------------
 638    -- vec_vaddshs --
 639    -----------------
 640 
 641    function vec_vaddshs
 642      (A : vector_bool_short;
 643       B : vector_signed_short) return vector_signed_short
 644    is
 645    begin
 646       return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B)));
 647    end vec_vaddshs;
 648 
 649    function vec_vaddshs
 650      (A : vector_signed_short;
 651       B : vector_bool_short) return vector_signed_short
 652    is
 653    begin
 654       return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B)));
 655    end vec_vaddshs;
 656 
 657    function vec_vaddshs
 658      (A : vector_signed_short;
 659       B : vector_signed_short) return vector_signed_short
 660    is
 661    begin
 662       return To_LL_VSS (vaddshs (To_LL_VSS (A), To_LL_VSS (B)));
 663    end vec_vaddshs;
 664 
 665    -----------------
 666    -- vec_vadduhs --
 667    -----------------
 668 
 669    function vec_vadduhs
 670      (A : vector_bool_short;
 671       B : vector_unsigned_short) return vector_unsigned_short
 672    is
 673    begin
 674       return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B)));
 675    end vec_vadduhs;
 676 
 677    function vec_vadduhs
 678      (A : vector_unsigned_short;
 679       B : vector_bool_short) return vector_unsigned_short
 680    is
 681    begin
 682       return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B)));
 683    end vec_vadduhs;
 684 
 685    function vec_vadduhs
 686      (A : vector_unsigned_short;
 687       B : vector_unsigned_short) return vector_unsigned_short
 688    is
 689    begin
 690       return To_LL_VUS (vadduhs (To_LL_VSS (A), To_LL_VSS (B)));
 691    end vec_vadduhs;
 692 
 693    -----------------
 694    -- vec_vaddsbs --
 695    -----------------
 696 
 697    function vec_vaddsbs
 698      (A : vector_bool_char;
 699       B : vector_signed_char) return vector_signed_char
 700    is
 701    begin
 702       return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B)));
 703    end vec_vaddsbs;
 704 
 705    function vec_vaddsbs
 706      (A : vector_signed_char;
 707       B : vector_bool_char) return vector_signed_char
 708    is
 709    begin
 710       return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B)));
 711    end vec_vaddsbs;
 712 
 713    function vec_vaddsbs
 714      (A : vector_signed_char;
 715       B : vector_signed_char) return vector_signed_char
 716    is
 717    begin
 718       return To_LL_VSC (vaddsbs (To_LL_VSC (A), To_LL_VSC (B)));
 719    end vec_vaddsbs;
 720 
 721    -----------------
 722    -- vec_vaddubs --
 723    -----------------
 724 
 725    function vec_vaddubs
 726      (A : vector_bool_char;
 727       B : vector_unsigned_char) return vector_unsigned_char
 728    is
 729    begin
 730       return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B)));
 731    end vec_vaddubs;
 732 
 733    function vec_vaddubs
 734      (A : vector_unsigned_char;
 735       B : vector_bool_char) return vector_unsigned_char
 736    is
 737    begin
 738       return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B)));
 739    end vec_vaddubs;
 740 
 741    function vec_vaddubs
 742      (A : vector_unsigned_char;
 743       B : vector_unsigned_char) return vector_unsigned_char
 744    is
 745    begin
 746       return To_LL_VUC (vaddubs (To_LL_VSC (A), To_LL_VSC (B)));
 747    end vec_vaddubs;
 748 
 749    -------------
 750    -- vec_and --
 751    -------------
 752 
 753    function vec_and
 754      (A : vector_float;
 755       B : vector_float) return vector_float
 756    is
 757    begin
 758       return To_LL_VF  (vand (To_LL_VSI (A), To_LL_VSI (B)));
 759    end vec_and;
 760 
 761    function vec_and
 762      (A : vector_float;
 763       B : vector_bool_int) return vector_float
 764    is
 765    begin
 766       return To_LL_VF  (vand (To_LL_VSI (A), To_LL_VSI (B)));
 767    end vec_and;
 768 
 769    function vec_and
 770      (A : vector_bool_int;
 771       B : vector_float) return vector_float
 772    is
 773    begin
 774       return To_LL_VF  (vand (To_LL_VSI (A), To_LL_VSI (B)));
 775    end vec_and;
 776 
 777    function vec_and
 778      (A : vector_bool_int;
 779       B : vector_bool_int) return vector_bool_int
 780    is
 781    begin
 782       return To_LL_VBI (vand (To_LL_VSI (A), To_LL_VSI (B)));
 783    end vec_and;
 784 
 785    function vec_and
 786      (A : vector_bool_int;
 787       B : vector_signed_int) return vector_signed_int
 788    is
 789    begin
 790       return To_LL_VSI (vand (To_LL_VSI (A), To_LL_VSI (B)));
 791    end vec_and;
 792 
 793    function vec_and
 794      (A : vector_signed_int;
 795       B : vector_bool_int) return vector_signed_int
 796    is
 797    begin
 798       return To_LL_VSI (vand (To_LL_VSI (A), To_LL_VSI (B)));
 799    end vec_and;
 800 
 801    function vec_and
 802      (A : vector_signed_int;
 803       B : vector_signed_int) return vector_signed_int
 804    is
 805    begin
 806       return To_LL_VSI (vand (To_LL_VSI (A), To_LL_VSI (B)));
 807    end vec_and;
 808 
 809    function vec_and
 810      (A : vector_bool_int;
 811       B : vector_unsigned_int) return vector_unsigned_int
 812    is
 813    begin
 814       return To_LL_VUI (vand (To_LL_VSI (A), To_LL_VSI (B)));
 815    end vec_and;
 816 
 817    function vec_and
 818      (A : vector_unsigned_int;
 819       B : vector_bool_int) return vector_unsigned_int
 820    is
 821    begin
 822       return To_LL_VUI (vand (To_LL_VSI (A), To_LL_VSI (B)));
 823    end vec_and;
 824 
 825    function vec_and
 826      (A : vector_unsigned_int;
 827       B : vector_unsigned_int) return vector_unsigned_int
 828    is
 829    begin
 830       return To_LL_VUI (vand (To_LL_VSI (A), To_LL_VSI (B)));
 831    end vec_and;
 832 
 833    function vec_and
 834      (A : vector_bool_short;
 835       B : vector_bool_short) return vector_bool_short
 836    is
 837    begin
 838       return To_LL_VBS (vand (To_LL_VSI (A), To_LL_VSI (B)));
 839    end vec_and;
 840 
 841    function vec_and
 842      (A : vector_bool_short;
 843       B : vector_signed_short) return vector_signed_short
 844    is
 845    begin
 846       return To_LL_VSS (vand (To_LL_VSI (A), To_LL_VSI (B)));
 847    end vec_and;
 848 
 849    function vec_and
 850      (A : vector_signed_short;
 851       B : vector_bool_short) return vector_signed_short
 852    is
 853    begin
 854       return To_LL_VSS (vand (To_LL_VSI (A), To_LL_VSI (B)));
 855    end vec_and;
 856 
 857    function vec_and
 858      (A : vector_signed_short;
 859       B : vector_signed_short) return vector_signed_short
 860    is
 861    begin
 862       return To_LL_VSS (vand (To_LL_VSI (A), To_LL_VSI (B)));
 863    end vec_and;
 864 
 865    function vec_and
 866      (A : vector_bool_short;
 867       B : vector_unsigned_short) return vector_unsigned_short
 868    is
 869    begin
 870       return To_LL_VUS (vand (To_LL_VSI (A), To_LL_VSI (B)));
 871    end vec_and;
 872 
 873    function vec_and
 874      (A : vector_unsigned_short;
 875       B : vector_bool_short) return vector_unsigned_short
 876    is
 877    begin
 878       return To_LL_VUS (vand (To_LL_VSI (A), To_LL_VSI (B)));
 879    end vec_and;
 880 
 881    function vec_and
 882      (A : vector_unsigned_short;
 883       B : vector_unsigned_short) return vector_unsigned_short
 884    is
 885    begin
 886       return To_LL_VUS (vand (To_LL_VSI (A), To_LL_VSI (B)));
 887    end vec_and;
 888 
 889    function vec_and
 890      (A : vector_bool_char;
 891       B : vector_signed_char) return vector_signed_char
 892    is
 893    begin
 894       return To_LL_VSC (vand (To_LL_VSI (A), To_LL_VSI (B)));
 895    end vec_and;
 896 
 897    function vec_and
 898      (A : vector_bool_char;
 899       B : vector_bool_char) return vector_bool_char
 900    is
 901    begin
 902       return To_LL_VBC (vand (To_LL_VSI (A), To_LL_VSI (B)));
 903    end vec_and;
 904 
 905    function vec_and
 906      (A : vector_signed_char;
 907       B : vector_bool_char) return vector_signed_char
 908    is
 909    begin
 910       return To_LL_VSC (vand (To_LL_VSI (A), To_LL_VSI (B)));
 911    end vec_and;
 912 
 913    function vec_and
 914      (A : vector_signed_char;
 915       B : vector_signed_char) return vector_signed_char
 916    is
 917    begin
 918       return To_LL_VSC (vand (To_LL_VSI (A), To_LL_VSI (B)));
 919    end vec_and;
 920 
 921    function vec_and
 922      (A : vector_bool_char;
 923       B : vector_unsigned_char) return vector_unsigned_char
 924    is
 925    begin
 926       return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B)));
 927    end vec_and;
 928 
 929    function vec_and
 930      (A : vector_unsigned_char;
 931       B : vector_bool_char) return vector_unsigned_char
 932    is
 933    begin
 934       return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B)));
 935    end vec_and;
 936 
 937    function vec_and
 938      (A : vector_unsigned_char;
 939       B : vector_unsigned_char) return vector_unsigned_char
 940    is
 941    begin
 942       return To_LL_VUC (vand (To_LL_VSI (A), To_LL_VSI (B)));
 943    end vec_and;
 944 
 945    --------------
 946    -- vec_andc --
 947    --------------
 948 
 949    function vec_andc
 950      (A : vector_float;
 951       B : vector_float) return vector_float
 952    is
 953    begin
 954       return To_LL_VF  (vandc (To_LL_VSI (A), To_LL_VSI (B)));
 955    end vec_andc;
 956 
 957    function vec_andc
 958      (A : vector_float;
 959       B : vector_bool_int) return vector_float
 960    is
 961    begin
 962       return To_LL_VF  (vandc (To_LL_VSI (A), To_LL_VSI (B)));
 963    end vec_andc;
 964 
 965    function vec_andc
 966      (A : vector_bool_int;
 967       B : vector_float) return vector_float
 968    is
 969    begin
 970       return To_LL_VF  (vandc (To_LL_VSI (A), To_LL_VSI (B)));
 971    end vec_andc;
 972 
 973    function vec_andc
 974      (A : vector_bool_int;
 975       B : vector_bool_int) return vector_bool_int
 976    is
 977    begin
 978       return To_LL_VBI (vandc (To_LL_VSI (A), To_LL_VSI (B)));
 979    end vec_andc;
 980 
 981    function vec_andc
 982      (A : vector_bool_int;
 983       B : vector_signed_int) return vector_signed_int
 984    is
 985    begin
 986       return To_LL_VSI (vandc (To_LL_VSI (A), To_LL_VSI (B)));
 987    end vec_andc;
 988 
 989    function vec_andc
 990      (A : vector_signed_int;
 991       B : vector_bool_int) return vector_signed_int
 992    is
 993    begin
 994       return To_LL_VSI (vandc (To_LL_VSI (A), To_LL_VSI (B)));
 995    end vec_andc;
 996 
 997    function vec_andc
 998      (A : vector_signed_int;
 999       B : vector_signed_int) return vector_signed_int
1000    is
1001    begin
1002       return To_LL_VSI (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1003    end vec_andc;
1004 
1005    function vec_andc
1006      (A : vector_bool_int;
1007       B : vector_unsigned_int) return vector_unsigned_int
1008    is
1009    begin
1010       return To_LL_VUI (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1011    end vec_andc;
1012 
1013    function vec_andc
1014      (A : vector_unsigned_int;
1015       B : vector_bool_int) return vector_unsigned_int
1016    is
1017    begin
1018       return To_LL_VUI (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1019    end vec_andc;
1020 
1021    function vec_andc
1022      (A : vector_unsigned_int;
1023       B : vector_unsigned_int) return vector_unsigned_int
1024    is
1025    begin
1026       return To_LL_VUI (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1027    end vec_andc;
1028 
1029    function vec_andc
1030      (A : vector_bool_short;
1031       B : vector_bool_short) return vector_bool_short
1032    is
1033    begin
1034       return To_LL_VBS (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1035    end vec_andc;
1036 
1037    function vec_andc
1038      (A : vector_bool_short;
1039       B : vector_signed_short) return vector_signed_short
1040    is
1041    begin
1042       return To_LL_VSS (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1043    end vec_andc;
1044 
1045    function vec_andc
1046      (A : vector_signed_short;
1047       B : vector_bool_short) return vector_signed_short
1048    is
1049    begin
1050       return To_LL_VSS (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1051    end vec_andc;
1052 
1053    function vec_andc
1054      (A : vector_signed_short;
1055       B : vector_signed_short) return vector_signed_short
1056    is
1057    begin
1058       return To_LL_VSS (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1059    end vec_andc;
1060 
1061    function vec_andc
1062      (A : vector_bool_short;
1063       B : vector_unsigned_short) return vector_unsigned_short
1064    is
1065    begin
1066       return To_LL_VUS (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1067    end vec_andc;
1068 
1069    function vec_andc
1070      (A : vector_unsigned_short;
1071       B : vector_bool_short) return vector_unsigned_short
1072    is
1073    begin
1074       return To_LL_VUS (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1075    end vec_andc;
1076 
1077    function vec_andc
1078      (A : vector_unsigned_short;
1079       B : vector_unsigned_short) return vector_unsigned_short
1080    is
1081    begin
1082       return To_LL_VUS (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1083    end vec_andc;
1084 
1085    function vec_andc
1086      (A : vector_bool_char;
1087       B : vector_signed_char) return vector_signed_char
1088    is
1089    begin
1090       return To_LL_VSC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1091    end vec_andc;
1092 
1093    function vec_andc
1094      (A : vector_bool_char;
1095       B : vector_bool_char) return vector_bool_char
1096    is
1097    begin
1098       return To_LL_VBC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1099    end vec_andc;
1100 
1101    function vec_andc
1102      (A : vector_signed_char;
1103       B : vector_bool_char) return vector_signed_char
1104    is
1105    begin
1106       return To_LL_VSC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1107    end vec_andc;
1108 
1109    function vec_andc
1110      (A : vector_signed_char;
1111       B : vector_signed_char) return vector_signed_char
1112    is
1113    begin
1114       return To_LL_VSC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1115    end vec_andc;
1116 
1117    function vec_andc
1118      (A : vector_bool_char;
1119       B : vector_unsigned_char) return vector_unsigned_char
1120    is
1121    begin
1122       return To_LL_VUC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1123    end vec_andc;
1124 
1125    function vec_andc
1126      (A : vector_unsigned_char;
1127       B : vector_bool_char) return vector_unsigned_char
1128    is
1129    begin
1130       return To_LL_VUC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1131    end vec_andc;
1132 
1133    function vec_andc
1134      (A : vector_unsigned_char;
1135       B : vector_unsigned_char) return vector_unsigned_char
1136    is
1137    begin
1138       return To_LL_VUC (vandc (To_LL_VSI (A), To_LL_VSI (B)));
1139    end vec_andc;
1140 
1141    -------------
1142    -- vec_avg --
1143    -------------
1144 
1145    function vec_avg
1146      (A : vector_unsigned_char;
1147       B : vector_unsigned_char) return vector_unsigned_char
1148    is
1149    begin
1150       return To_LL_VUC (vavgub (To_LL_VSC (A), To_LL_VSC (B)));
1151    end vec_avg;
1152 
1153    function vec_avg
1154      (A : vector_signed_char;
1155       B : vector_signed_char) return vector_signed_char
1156    is
1157    begin
1158       return To_LL_VSC (vavgsb (To_LL_VSC (A), To_LL_VSC (B)));
1159    end vec_avg;
1160 
1161    function vec_avg
1162      (A : vector_unsigned_short;
1163       B : vector_unsigned_short) return vector_unsigned_short
1164    is
1165    begin
1166       return To_LL_VUS (vavguh (To_LL_VSS (A), To_LL_VSS (B)));
1167    end vec_avg;
1168 
1169    function vec_avg
1170      (A : vector_signed_short;
1171       B : vector_signed_short) return vector_signed_short
1172    is
1173    begin
1174       return To_LL_VSS (vavgsh (To_LL_VSS (A), To_LL_VSS (B)));
1175    end vec_avg;
1176 
1177    function vec_avg
1178      (A : vector_unsigned_int;
1179       B : vector_unsigned_int) return vector_unsigned_int
1180    is
1181    begin
1182       return To_LL_VUI (vavguw (To_LL_VSI (A), To_LL_VSI (B)));
1183    end vec_avg;
1184 
1185    function vec_avg
1186      (A : vector_signed_int;
1187       B : vector_signed_int) return vector_signed_int
1188    is
1189    begin
1190       return To_LL_VSI (vavgsw (To_LL_VSI (A), To_LL_VSI (B)));
1191    end vec_avg;
1192 
1193    ----------------
1194    -- vec_vavgsw --
1195    ----------------
1196 
1197    function vec_vavgsw
1198      (A : vector_signed_int;
1199       B : vector_signed_int) return vector_signed_int
1200    is
1201    begin
1202       return To_LL_VSI (vavgsw (To_LL_VSI (A), To_LL_VSI (B)));
1203    end vec_vavgsw;
1204 
1205    ----------------
1206    -- vec_vavguw --
1207    ----------------
1208 
1209    function vec_vavguw
1210      (A : vector_unsigned_int;
1211       B : vector_unsigned_int) return vector_unsigned_int
1212    is
1213    begin
1214       return To_LL_VUI (vavguw (To_LL_VSI (A), To_LL_VSI (B)));
1215    end vec_vavguw;
1216 
1217    ----------------
1218    -- vec_vavgsh --
1219    ----------------
1220 
1221    function vec_vavgsh
1222      (A : vector_signed_short;
1223       B : vector_signed_short) return vector_signed_short
1224    is
1225    begin
1226       return To_LL_VSS (vavgsh (To_LL_VSS (A), To_LL_VSS (B)));
1227    end vec_vavgsh;
1228 
1229    ----------------
1230    -- vec_vavguh --
1231    ----------------
1232 
1233    function vec_vavguh
1234      (A : vector_unsigned_short;
1235       B : vector_unsigned_short) return vector_unsigned_short
1236    is
1237    begin
1238       return To_LL_VUS (vavguh (To_LL_VSS (A), To_LL_VSS (B)));
1239    end vec_vavguh;
1240 
1241    ----------------
1242    -- vec_vavgsb --
1243    ----------------
1244 
1245    function vec_vavgsb
1246      (A : vector_signed_char;
1247       B : vector_signed_char) return vector_signed_char
1248    is
1249    begin
1250       return To_LL_VSC (vavgsb (To_LL_VSC (A), To_LL_VSC (B)));
1251    end vec_vavgsb;
1252 
1253    ----------------
1254    -- vec_vavgub --
1255    ----------------
1256 
1257    function vec_vavgub
1258      (A : vector_unsigned_char;
1259       B : vector_unsigned_char) return vector_unsigned_char
1260    is
1261    begin
1262       return To_LL_VUC (vavgub (To_LL_VSC (A), To_LL_VSC (B)));
1263    end vec_vavgub;
1264 
1265    --------------
1266    -- vec_ceil --
1267    --------------
1268 
1269    function vec_ceil
1270      (A : vector_float) return vector_float
1271    is
1272    begin
1273       return To_LL_VF  (vrfip (To_LL_VF  (A)));
1274    end vec_ceil;
1275 
1276    --------------
1277    -- vec_cmpb --
1278    --------------
1279 
1280    function vec_cmpb
1281      (A : vector_float;
1282       B : vector_float) return vector_signed_int
1283    is
1284    begin
1285       return To_LL_VSI (vcmpbfp (To_LL_VF  (A), To_LL_VF  (B)));
1286    end vec_cmpb;
1287 
1288    ---------------
1289    -- vec_cmpeq --
1290    ---------------
1291 
1292    function vec_cmpeq
1293      (A : vector_signed_char;
1294       B : vector_signed_char) return vector_bool_char
1295    is
1296    begin
1297       return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B)));
1298    end vec_cmpeq;
1299 
1300    function vec_cmpeq
1301      (A : vector_unsigned_char;
1302       B : vector_unsigned_char) return vector_bool_char
1303    is
1304    begin
1305       return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B)));
1306    end vec_cmpeq;
1307 
1308    function vec_cmpeq
1309      (A : vector_signed_short;
1310       B : vector_signed_short) return vector_bool_short
1311    is
1312    begin
1313       return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B)));
1314    end vec_cmpeq;
1315 
1316    function vec_cmpeq
1317      (A : vector_unsigned_short;
1318       B : vector_unsigned_short) return vector_bool_short
1319    is
1320    begin
1321       return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B)));
1322    end vec_cmpeq;
1323 
1324    function vec_cmpeq
1325      (A : vector_signed_int;
1326       B : vector_signed_int) return vector_bool_int
1327    is
1328    begin
1329       return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B)));
1330    end vec_cmpeq;
1331 
1332    function vec_cmpeq
1333      (A : vector_unsigned_int;
1334       B : vector_unsigned_int) return vector_bool_int
1335    is
1336    begin
1337       return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B)));
1338    end vec_cmpeq;
1339 
1340    function vec_cmpeq
1341      (A : vector_float;
1342       B : vector_float) return vector_bool_int
1343    is
1344    begin
1345       return To_LL_VBI (vcmpeqfp (To_LL_VF  (A), To_LL_VF  (B)));
1346    end vec_cmpeq;
1347 
1348    ------------------
1349    -- vec_vcmpeqfp --
1350    ------------------
1351 
1352    function vec_vcmpeqfp
1353      (A : vector_float;
1354       B : vector_float) return vector_bool_int
1355    is
1356    begin
1357       return To_LL_VBI (vcmpeqfp (To_LL_VF  (A), To_LL_VF  (B)));
1358    end vec_vcmpeqfp;
1359 
1360    ------------------
1361    -- vec_vcmpequw --
1362    ------------------
1363 
1364    function vec_vcmpequw
1365      (A : vector_signed_int;
1366       B : vector_signed_int) return vector_bool_int
1367    is
1368    begin
1369       return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B)));
1370    end vec_vcmpequw;
1371 
1372    function vec_vcmpequw
1373      (A : vector_unsigned_int;
1374       B : vector_unsigned_int) return vector_bool_int
1375    is
1376    begin
1377       return To_LL_VBI (vcmpequw (To_LL_VSI (A), To_LL_VSI (B)));
1378    end vec_vcmpequw;
1379 
1380    ------------------
1381    -- vec_vcmpequh --
1382    ------------------
1383 
1384    function vec_vcmpequh
1385      (A : vector_signed_short;
1386       B : vector_signed_short) return vector_bool_short
1387    is
1388    begin
1389       return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B)));
1390    end vec_vcmpequh;
1391 
1392    function vec_vcmpequh
1393      (A : vector_unsigned_short;
1394       B : vector_unsigned_short) return vector_bool_short
1395    is
1396    begin
1397       return To_LL_VBS (vcmpequh (To_LL_VSS (A), To_LL_VSS (B)));
1398    end vec_vcmpequh;
1399 
1400    ------------------
1401    -- vec_vcmpequb --
1402    ------------------
1403 
1404    function vec_vcmpequb
1405      (A : vector_signed_char;
1406       B : vector_signed_char) return vector_bool_char
1407    is
1408    begin
1409       return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B)));
1410    end vec_vcmpequb;
1411 
1412    function vec_vcmpequb
1413      (A : vector_unsigned_char;
1414       B : vector_unsigned_char) return vector_bool_char
1415    is
1416    begin
1417       return To_LL_VBC (vcmpequb (To_LL_VSC (A), To_LL_VSC (B)));
1418    end vec_vcmpequb;
1419 
1420    ---------------
1421    -- vec_cmpge --
1422    ---------------
1423 
1424    function vec_cmpge
1425      (A : vector_float;
1426       B : vector_float) return vector_bool_int
1427    is
1428    begin
1429       return To_LL_VBI (vcmpgefp (To_LL_VF  (A), To_LL_VF  (B)));
1430    end vec_cmpge;
1431 
1432    ---------------
1433    -- vec_cmpgt --
1434    ---------------
1435 
1436    function vec_cmpgt
1437      (A : vector_unsigned_char;
1438       B : vector_unsigned_char) return vector_bool_char
1439    is
1440    begin
1441       return To_LL_VBC (vcmpgtub (To_LL_VSC (A), To_LL_VSC (B)));
1442    end vec_cmpgt;
1443 
1444    function vec_cmpgt
1445      (A : vector_signed_char;
1446       B : vector_signed_char) return vector_bool_char
1447    is
1448    begin
1449       return To_LL_VBC (vcmpgtsb (To_LL_VSC (A), To_LL_VSC (B)));
1450    end vec_cmpgt;
1451 
1452    function vec_cmpgt
1453      (A : vector_unsigned_short;
1454       B : vector_unsigned_short) return vector_bool_short
1455    is
1456    begin
1457       return To_LL_VBS (vcmpgtuh (To_LL_VSS (A), To_LL_VSS (B)));
1458    end vec_cmpgt;
1459 
1460    function vec_cmpgt
1461      (A : vector_signed_short;
1462       B : vector_signed_short) return vector_bool_short
1463    is
1464    begin
1465       return To_LL_VBS (vcmpgtsh (To_LL_VSS (A), To_LL_VSS (B)));
1466    end vec_cmpgt;
1467 
1468    function vec_cmpgt
1469      (A : vector_unsigned_int;
1470       B : vector_unsigned_int) return vector_bool_int
1471    is
1472    begin
1473       return To_LL_VBI (vcmpgtuw (To_LL_VSI (A), To_LL_VSI (B)));
1474    end vec_cmpgt;
1475 
1476    function vec_cmpgt
1477      (A : vector_signed_int;
1478       B : vector_signed_int) return vector_bool_int
1479    is
1480    begin
1481       return To_LL_VBI (vcmpgtsw (To_LL_VSI (A), To_LL_VSI (B)));
1482    end vec_cmpgt;
1483 
1484    function vec_cmpgt
1485      (A : vector_float;
1486       B : vector_float) return vector_bool_int
1487    is
1488    begin
1489       return To_LL_VBI (vcmpgtfp (To_LL_VF  (A), To_LL_VF  (B)));
1490    end vec_cmpgt;
1491 
1492    ------------------
1493    -- vec_vcmpgtfp --
1494    ------------------
1495 
1496    function vec_vcmpgtfp
1497      (A : vector_float;
1498       B : vector_float) return vector_bool_int
1499    is
1500    begin
1501       return To_LL_VBI (vcmpgtfp (To_LL_VF  (A), To_LL_VF  (B)));
1502    end vec_vcmpgtfp;
1503 
1504    ------------------
1505    -- vec_vcmpgtsw --
1506    ------------------
1507 
1508    function vec_vcmpgtsw
1509      (A : vector_signed_int;
1510       B : vector_signed_int) return vector_bool_int
1511    is
1512    begin
1513       return To_LL_VBI (vcmpgtsw (To_LL_VSI (A), To_LL_VSI (B)));
1514    end vec_vcmpgtsw;
1515 
1516    ------------------
1517    -- vec_vcmpgtuw --
1518    ------------------
1519 
1520    function vec_vcmpgtuw
1521      (A : vector_unsigned_int;
1522       B : vector_unsigned_int) return vector_bool_int
1523    is
1524    begin
1525       return To_LL_VBI (vcmpgtuw (To_LL_VSI (A), To_LL_VSI (B)));
1526    end vec_vcmpgtuw;
1527 
1528    ------------------
1529    -- vec_vcmpgtsh --
1530    ------------------
1531 
1532    function vec_vcmpgtsh
1533      (A : vector_signed_short;
1534       B : vector_signed_short) return vector_bool_short
1535    is
1536    begin
1537       return To_LL_VBS (vcmpgtsh (To_LL_VSS (A), To_LL_VSS (B)));
1538    end vec_vcmpgtsh;
1539 
1540    ------------------
1541    -- vec_vcmpgtuh --
1542    ------------------
1543 
1544    function vec_vcmpgtuh
1545      (A : vector_unsigned_short;
1546       B : vector_unsigned_short) return vector_bool_short
1547    is
1548    begin
1549       return To_LL_VBS (vcmpgtuh (To_LL_VSS (A), To_LL_VSS (B)));
1550    end vec_vcmpgtuh;
1551 
1552    ------------------
1553    -- vec_vcmpgtsb --
1554    ------------------
1555 
1556    function vec_vcmpgtsb
1557      (A : vector_signed_char;
1558       B : vector_signed_char) return vector_bool_char
1559    is
1560    begin
1561       return To_LL_VBC (vcmpgtsb (To_LL_VSC (A), To_LL_VSC (B)));
1562    end vec_vcmpgtsb;
1563 
1564    ------------------
1565    -- vec_vcmpgtub --
1566    ------------------
1567 
1568    function vec_vcmpgtub
1569      (A : vector_unsigned_char;
1570       B : vector_unsigned_char) return vector_bool_char
1571    is
1572    begin
1573       return To_LL_VBC (vcmpgtub (To_LL_VSC (A), To_LL_VSC (B)));
1574    end vec_vcmpgtub;
1575 
1576    ---------------
1577    -- vec_cmple --
1578    ---------------
1579 
1580    function vec_cmple
1581      (A : vector_float;
1582       B : vector_float) return vector_bool_int
1583    is
1584    begin
1585       return To_LL_VBI (vcmpgefp (To_LL_VF  (B), To_LL_VF  (A)));
1586    end vec_cmple;
1587 
1588    ---------------
1589    -- vec_cmplt --
1590    ---------------
1591 
1592    function vec_cmplt
1593      (A : vector_unsigned_char;
1594       B : vector_unsigned_char) return vector_bool_char
1595    is
1596    begin
1597       return To_LL_VBC (vcmpgtub (To_LL_VSC (B), To_LL_VSC (A)));
1598    end vec_cmplt;
1599 
1600    function vec_cmplt
1601      (A : vector_signed_char;
1602       B : vector_signed_char) return vector_bool_char
1603    is
1604    begin
1605       return To_LL_VBC (vcmpgtsb (To_LL_VSC (B), To_LL_VSC (A)));
1606    end vec_cmplt;
1607 
1608    function vec_cmplt
1609      (A : vector_unsigned_short;
1610       B : vector_unsigned_short) return vector_bool_short
1611    is
1612    begin
1613       return To_LL_VBS (vcmpgtuh (To_LL_VSS (B), To_LL_VSS (A)));
1614    end vec_cmplt;
1615 
1616    function vec_cmplt
1617      (A : vector_signed_short;
1618       B : vector_signed_short) return vector_bool_short
1619    is
1620    begin
1621       return To_LL_VBS (vcmpgtsh (To_LL_VSS (B), To_LL_VSS (A)));
1622    end vec_cmplt;
1623 
1624    function vec_cmplt
1625      (A : vector_unsigned_int;
1626       B : vector_unsigned_int) return vector_bool_int
1627    is
1628    begin
1629       return To_LL_VBI (vcmpgtuw (To_LL_VSI (B), To_LL_VSI (A)));
1630    end vec_cmplt;
1631 
1632    function vec_cmplt
1633      (A : vector_signed_int;
1634       B : vector_signed_int) return vector_bool_int
1635    is
1636    begin
1637       return To_LL_VBI (vcmpgtsw (To_LL_VSI (B), To_LL_VSI (A)));
1638    end vec_cmplt;
1639 
1640    function vec_cmplt
1641      (A : vector_float;
1642       B : vector_float) return vector_bool_int
1643    is
1644    begin
1645       return To_LL_VBI (vcmpgtfp (To_LL_VF  (B), To_LL_VF  (A)));
1646    end vec_cmplt;
1647 
1648    ---------------
1649    -- vec_expte --
1650    ---------------
1651 
1652    function vec_expte
1653      (A : vector_float) return vector_float
1654    is
1655    begin
1656       return To_LL_VF (vexptefp (To_LL_VF (A)));
1657    end vec_expte;
1658 
1659    ---------------
1660    -- vec_floor --
1661    ---------------
1662 
1663    function vec_floor
1664      (A : vector_float) return vector_float
1665    is
1666    begin
1667       return To_LL_VF (vrfim (To_LL_VF (A)));
1668    end vec_floor;
1669 
1670    ------------
1671    -- vec_ld --
1672    ------------
1673 
1674    function vec_ld
1675      (A : c_long;
1676       B : const_vector_float_ptr) return vector_float
1677    is
1678    begin
1679       return To_LL_VF (lvx (A, To_PTR (B)));
1680    end vec_ld;
1681 
1682    function vec_ld
1683      (A : c_long;
1684       B : const_float_ptr) return vector_float
1685    is
1686    begin
1687       return To_LL_VF (lvx (A, To_PTR (B)));
1688    end vec_ld;
1689 
1690    function vec_ld
1691      (A : c_long;
1692       B : const_vector_bool_int_ptr) return vector_bool_int
1693    is
1694    begin
1695       return To_LL_VBI (lvx (A, To_PTR (B)));
1696    end vec_ld;
1697 
1698    function vec_ld
1699      (A : c_long;
1700       B : const_vector_signed_int_ptr) return vector_signed_int
1701    is
1702    begin
1703       return To_LL_VSI (lvx (A, To_PTR (B)));
1704    end vec_ld;
1705 
1706    function vec_ld
1707      (A : c_long;
1708       B : const_int_ptr) return vector_signed_int
1709    is
1710    begin
1711       return To_LL_VSI (lvx (A, To_PTR (B)));
1712    end vec_ld;
1713 
1714    function vec_ld
1715      (A : c_long;
1716       B : const_long_ptr) return vector_signed_int
1717    is
1718    begin
1719       return To_LL_VSI (lvx (A, To_PTR (B)));
1720    end vec_ld;
1721 
1722    function vec_ld
1723      (A : c_long;
1724       B : const_vector_unsigned_int_ptr) return vector_unsigned_int
1725    is
1726    begin
1727       return To_LL_VUI (lvx (A, To_PTR (B)));
1728    end vec_ld;
1729 
1730    function vec_ld
1731      (A : c_long;
1732       B : const_unsigned_int_ptr) return vector_unsigned_int
1733    is
1734    begin
1735       return To_LL_VUI (lvx (A, To_PTR (B)));
1736    end vec_ld;
1737 
1738    function vec_ld
1739      (A : c_long;
1740       B : const_unsigned_long_ptr) return vector_unsigned_int
1741    is
1742    begin
1743       return To_LL_VUI (lvx (A, To_PTR (B)));
1744    end vec_ld;
1745 
1746    function vec_ld
1747      (A : c_long;
1748       B : const_vector_bool_short_ptr) return vector_bool_short
1749    is
1750    begin
1751       return To_LL_VBS (lvx (A, To_PTR (B)));
1752    end vec_ld;
1753 
1754    function vec_ld
1755      (A : c_long;
1756       B : const_vector_pixel_ptr) return vector_pixel
1757    is
1758    begin
1759       return To_LL_VP (lvx (A, To_PTR (B)));
1760    end vec_ld;
1761 
1762    function vec_ld
1763      (A : c_long;
1764       B : const_vector_signed_short_ptr) return vector_signed_short
1765    is
1766    begin
1767       return To_LL_VSS (lvx (A, To_PTR (B)));
1768    end vec_ld;
1769 
1770    function vec_ld
1771      (A : c_long;
1772       B : const_short_ptr) return vector_signed_short
1773    is
1774    begin
1775       return To_LL_VSS (lvx (A, To_PTR (B)));
1776    end vec_ld;
1777 
1778    function vec_ld
1779      (A : c_long;
1780       B : const_vector_unsigned_short_ptr) return vector_unsigned_short
1781    is
1782    begin
1783       return To_LL_VUS (lvx (A, To_PTR (B)));
1784    end vec_ld;
1785 
1786    function vec_ld
1787      (A : c_long;
1788       B : const_unsigned_short_ptr) return vector_unsigned_short
1789    is
1790    begin
1791       return To_LL_VUS (lvx (A, To_PTR (B)));
1792    end vec_ld;
1793 
1794    function vec_ld
1795      (A : c_long;
1796       B : const_vector_bool_char_ptr) return vector_bool_char
1797    is
1798    begin
1799       return To_LL_VBC (lvx (A, To_PTR (B)));
1800    end vec_ld;
1801 
1802    function vec_ld
1803      (A : c_long;
1804       B : const_vector_signed_char_ptr) return vector_signed_char
1805    is
1806    begin
1807       return To_LL_VSC (lvx (A, To_PTR (B)));
1808    end vec_ld;
1809 
1810    function vec_ld
1811      (A : c_long;
1812       B : const_signed_char_ptr) return vector_signed_char
1813    is
1814    begin
1815       return To_LL_VSC (lvx (A, To_PTR (B)));
1816    end vec_ld;
1817 
1818    function vec_ld
1819      (A : c_long;
1820       B : const_vector_unsigned_char_ptr) return vector_unsigned_char
1821    is
1822    begin
1823       return To_LL_VUC (lvx (A, To_PTR (B)));
1824    end vec_ld;
1825 
1826    function vec_ld
1827      (A : c_long;
1828       B : const_unsigned_char_ptr) return vector_unsigned_char
1829    is
1830    begin
1831       return To_LL_VUC (lvx (A, To_PTR (B)));
1832    end vec_ld;
1833 
1834    -------------
1835    -- vec_lde --
1836    -------------
1837 
1838    function vec_lde
1839      (A : c_long;
1840       B : const_signed_char_ptr) return vector_signed_char
1841    is
1842    begin
1843       return To_LL_VSC (lvebx (A, To_PTR (B)));
1844    end vec_lde;
1845 
1846    function vec_lde
1847      (A : c_long;
1848       B : const_unsigned_char_ptr) return vector_unsigned_char
1849    is
1850    begin
1851       return To_LL_VUC (lvebx (A, To_PTR (B)));
1852    end vec_lde;
1853 
1854    function vec_lde
1855      (A : c_long;
1856       B : const_short_ptr) return vector_signed_short
1857    is
1858    begin
1859       return To_LL_VSS (lvehx (A, To_PTR (B)));
1860    end vec_lde;
1861 
1862    function vec_lde
1863      (A : c_long;
1864       B : const_unsigned_short_ptr) return vector_unsigned_short
1865    is
1866    begin
1867       return To_LL_VUS (lvehx (A, To_PTR (B)));
1868    end vec_lde;
1869 
1870    function vec_lde
1871      (A : c_long;
1872       B : const_float_ptr) return vector_float
1873    is
1874    begin
1875       return To_LL_VF (lvewx (A, To_PTR (B)));
1876    end vec_lde;
1877 
1878    function vec_lde
1879      (A : c_long;
1880       B : const_int_ptr) return vector_signed_int
1881    is
1882    begin
1883       return To_LL_VSI (lvewx (A, To_PTR (B)));
1884    end vec_lde;
1885 
1886    function vec_lde
1887      (A : c_long;
1888       B : const_unsigned_int_ptr) return vector_unsigned_int
1889    is
1890    begin
1891       return To_LL_VUI (lvewx (A, To_PTR (B)));
1892    end vec_lde;
1893 
1894    function vec_lde
1895      (A : c_long;
1896       B : const_long_ptr) return vector_signed_int
1897    is
1898    begin
1899       return To_LL_VSI (lvewx (A, To_PTR (B)));
1900    end vec_lde;
1901 
1902    function vec_lde
1903      (A : c_long;
1904       B : const_unsigned_long_ptr) return vector_unsigned_int
1905    is
1906    begin
1907       return To_LL_VUI (lvewx (A, To_PTR (B)));
1908    end vec_lde;
1909 
1910    ---------------
1911    -- vec_lvewx --
1912    ---------------
1913 
1914    function vec_lvewx
1915      (A : c_long;
1916       B : float_ptr) return vector_float
1917    is
1918    begin
1919       return To_LL_VF (lvewx (A, To_PTR (B)));
1920    end vec_lvewx;
1921 
1922    function vec_lvewx
1923      (A : c_long;
1924       B : int_ptr) return vector_signed_int
1925    is
1926    begin
1927       return To_LL_VSI (lvewx (A, To_PTR (B)));
1928    end vec_lvewx;
1929 
1930    function vec_lvewx
1931      (A : c_long;
1932       B : unsigned_int_ptr) return vector_unsigned_int
1933    is
1934    begin
1935       return To_LL_VUI (lvewx (A, To_PTR (B)));
1936    end vec_lvewx;
1937 
1938    function vec_lvewx
1939      (A : c_long;
1940       B : long_ptr) return vector_signed_int
1941    is
1942    begin
1943       return To_LL_VSI (lvewx (A, To_PTR (B)));
1944    end vec_lvewx;
1945 
1946    function vec_lvewx
1947      (A : c_long;
1948       B : unsigned_long_ptr) return vector_unsigned_int
1949    is
1950    begin
1951       return To_LL_VUI (lvewx (A, To_PTR (B)));
1952    end vec_lvewx;
1953 
1954    ---------------
1955    -- vec_lvehx --
1956    ---------------
1957 
1958    function vec_lvehx
1959      (A : c_long;
1960       B : short_ptr) return vector_signed_short
1961    is
1962    begin
1963       return To_LL_VSS (lvehx (A, To_PTR (B)));
1964    end vec_lvehx;
1965 
1966    function vec_lvehx
1967      (A : c_long;
1968       B : unsigned_short_ptr) return vector_unsigned_short
1969    is
1970    begin
1971       return To_LL_VUS (lvehx (A, To_PTR (B)));
1972    end vec_lvehx;
1973 
1974    ---------------
1975    -- vec_lvebx --
1976    ---------------
1977 
1978    function vec_lvebx
1979      (A : c_long;
1980       B : signed_char_ptr) return vector_signed_char
1981    is
1982    begin
1983       return To_LL_VSC (lvebx (A, To_PTR (B)));
1984    end vec_lvebx;
1985 
1986    function vec_lvebx
1987      (A : c_long;
1988       B : unsigned_char_ptr) return vector_unsigned_char
1989    is
1990    begin
1991       return To_LL_VUC (lvebx (A, To_PTR (B)));
1992    end vec_lvebx;
1993 
1994    -------------
1995    -- vec_ldl --
1996    -------------
1997 
1998    function vec_ldl
1999      (A : c_long;
2000       B : const_vector_float_ptr) return vector_float
2001    is
2002    begin
2003       return To_LL_VF (lvxl (A, To_PTR (B)));
2004    end vec_ldl;
2005 
2006    function vec_ldl
2007      (A : c_long;
2008       B : const_float_ptr) return vector_float
2009    is
2010    begin
2011       return To_LL_VF (lvxl (A, To_PTR (B)));
2012    end vec_ldl;
2013 
2014    function vec_ldl
2015      (A : c_long;
2016       B : const_vector_bool_int_ptr) return vector_bool_int
2017    is
2018    begin
2019       return To_LL_VBI (lvxl (A, To_PTR (B)));
2020    end vec_ldl;
2021 
2022    function vec_ldl
2023      (A : c_long;
2024       B : const_vector_signed_int_ptr) return vector_signed_int
2025    is
2026    begin
2027       return To_LL_VSI (lvxl (A, To_PTR (B)));
2028    end vec_ldl;
2029 
2030    function vec_ldl
2031      (A : c_long;
2032       B : const_int_ptr) return vector_signed_int
2033    is
2034    begin
2035       return To_LL_VSI (lvxl (A, To_PTR (B)));
2036    end vec_ldl;
2037 
2038    function vec_ldl
2039      (A : c_long;
2040       B : const_long_ptr) return vector_signed_int
2041    is
2042    begin
2043       return To_LL_VSI (lvxl (A, To_PTR (B)));
2044    end vec_ldl;
2045 
2046    function vec_ldl
2047      (A : c_long;
2048       B : const_vector_unsigned_int_ptr) return vector_unsigned_int
2049    is
2050    begin
2051       return To_LL_VUI (lvxl (A, To_PTR (B)));
2052    end vec_ldl;
2053 
2054    function vec_ldl
2055      (A : c_long;
2056       B : const_unsigned_int_ptr) return vector_unsigned_int
2057    is
2058    begin
2059       return To_LL_VUI (lvxl (A, To_PTR (B)));
2060    end vec_ldl;
2061 
2062    function vec_ldl
2063      (A : c_long;
2064       B : const_unsigned_long_ptr) return vector_unsigned_int
2065    is
2066    begin
2067       return To_LL_VUI (lvxl (A, To_PTR (B)));
2068    end vec_ldl;
2069 
2070    function vec_ldl
2071      (A : c_long;
2072       B : const_vector_bool_short_ptr) return vector_bool_short
2073    is
2074    begin
2075       return To_LL_VBS (lvxl (A, To_PTR (B)));
2076    end vec_ldl;
2077 
2078    function vec_ldl
2079      (A : c_long;
2080       B : const_vector_pixel_ptr) return vector_pixel
2081    is
2082    begin
2083       return To_LL_VP (lvxl (A, To_PTR (B)));
2084    end vec_ldl;
2085 
2086    function vec_ldl
2087      (A : c_long;
2088       B : const_vector_signed_short_ptr) return vector_signed_short
2089    is
2090    begin
2091       return To_LL_VSS (lvxl (A, To_PTR (B)));
2092    end vec_ldl;
2093 
2094    function vec_ldl
2095      (A : c_long;
2096       B : const_short_ptr) return vector_signed_short
2097    is
2098    begin
2099       return To_LL_VSS (lvxl (A, To_PTR (B)));
2100    end vec_ldl;
2101 
2102    function vec_ldl
2103      (A : c_long;
2104       B : const_vector_unsigned_short_ptr) return vector_unsigned_short
2105    is
2106    begin
2107       return To_LL_VUS (lvxl (A, To_PTR (B)));
2108    end vec_ldl;
2109 
2110    function vec_ldl
2111      (A : c_long;
2112       B : const_unsigned_short_ptr) return vector_unsigned_short
2113    is
2114    begin
2115       return To_LL_VUS (lvxl (A, To_PTR (B)));
2116    end vec_ldl;
2117 
2118    function vec_ldl
2119      (A : c_long;
2120       B : const_vector_bool_char_ptr) return vector_bool_char
2121    is
2122    begin
2123       return To_LL_VBC (lvxl (A, To_PTR (B)));
2124    end vec_ldl;
2125 
2126    function vec_ldl
2127      (A : c_long;
2128       B : const_vector_signed_char_ptr) return vector_signed_char
2129    is
2130    begin
2131       return To_LL_VSC (lvxl (A, To_PTR (B)));
2132    end vec_ldl;
2133 
2134    function vec_ldl
2135      (A : c_long;
2136       B : const_signed_char_ptr) return vector_signed_char
2137    is
2138    begin
2139       return To_LL_VSC (lvxl (A, To_PTR (B)));
2140    end vec_ldl;
2141 
2142    function vec_ldl
2143      (A : c_long;
2144       B : const_vector_unsigned_char_ptr) return vector_unsigned_char
2145    is
2146    begin
2147       return To_LL_VUC (lvxl (A, To_PTR (B)));
2148    end vec_ldl;
2149 
2150    function vec_ldl
2151      (A : c_long;
2152       B : const_unsigned_char_ptr) return vector_unsigned_char
2153    is
2154    begin
2155       return To_LL_VUC (lvxl (A, To_PTR (B)));
2156    end vec_ldl;
2157 
2158    --------------
2159    -- vec_loge --
2160    --------------
2161 
2162    function vec_loge
2163      (A : vector_float) return vector_float
2164    is
2165    begin
2166       return To_LL_VF (vlogefp (To_LL_VF (A)));
2167    end vec_loge;
2168 
2169    --------------
2170    -- vec_lvsl --
2171    --------------
2172 
2173    function vec_lvsl
2174      (A : c_long;
2175       B : constv_unsigned_char_ptr) return vector_unsigned_char
2176    is
2177    begin
2178       return To_LL_VUC (lvsl (A, To_PTR (B)));
2179    end vec_lvsl;
2180 
2181    function vec_lvsl
2182      (A : c_long;
2183       B : constv_signed_char_ptr) return vector_unsigned_char
2184    is
2185    begin
2186       return To_LL_VUC (lvsl (A, To_PTR (B)));
2187    end vec_lvsl;
2188 
2189    function vec_lvsl
2190      (A : c_long;
2191       B : constv_unsigned_short_ptr) return vector_unsigned_char
2192    is
2193    begin
2194       return To_LL_VUC (lvsl (A, To_PTR (B)));
2195    end vec_lvsl;
2196 
2197    function vec_lvsl
2198      (A : c_long;
2199       B : constv_short_ptr) return vector_unsigned_char
2200    is
2201    begin
2202       return To_LL_VUC (lvsl (A, To_PTR (B)));
2203    end vec_lvsl;
2204 
2205    function vec_lvsl
2206      (A : c_long;
2207       B : constv_unsigned_int_ptr) return vector_unsigned_char
2208    is
2209    begin
2210       return To_LL_VUC (lvsl (A, To_PTR (B)));
2211    end vec_lvsl;
2212 
2213    function vec_lvsl
2214      (A : c_long;
2215       B : constv_int_ptr) return vector_unsigned_char
2216    is
2217    begin
2218       return To_LL_VUC (lvsl (A, To_PTR (B)));
2219    end vec_lvsl;
2220 
2221    function vec_lvsl
2222      (A : c_long;
2223       B : constv_unsigned_long_ptr) return vector_unsigned_char
2224    is
2225    begin
2226       return To_LL_VUC (lvsl (A, To_PTR (B)));
2227    end vec_lvsl;
2228 
2229    function vec_lvsl
2230      (A : c_long;
2231       B : constv_long_ptr) return vector_unsigned_char
2232    is
2233    begin
2234       return To_LL_VUC (lvsl (A, To_PTR (B)));
2235    end vec_lvsl;
2236 
2237    function vec_lvsl
2238      (A : c_long;
2239       B : constv_float_ptr) return vector_unsigned_char
2240    is
2241    begin
2242       return To_LL_VUC (lvsl (A, To_PTR (B)));
2243    end vec_lvsl;
2244 
2245    --------------
2246    -- vec_lvsr --
2247    --------------
2248 
2249    function vec_lvsr
2250      (A : c_long;
2251       B : constv_unsigned_char_ptr) return vector_unsigned_char
2252    is
2253    begin
2254       return To_LL_VUC (lvsr (A, To_PTR (B)));
2255    end vec_lvsr;
2256 
2257    function vec_lvsr
2258      (A : c_long;
2259       B : constv_signed_char_ptr) return vector_unsigned_char
2260    is
2261    begin
2262       return To_LL_VUC (lvsr (A, To_PTR (B)));
2263    end vec_lvsr;
2264 
2265    function vec_lvsr
2266      (A : c_long;
2267       B : constv_unsigned_short_ptr) return vector_unsigned_char
2268    is
2269    begin
2270       return To_LL_VUC (lvsr (A, To_PTR (B)));
2271    end vec_lvsr;
2272 
2273    function vec_lvsr
2274      (A : c_long;
2275       B : constv_short_ptr) return vector_unsigned_char
2276    is
2277    begin
2278       return To_LL_VUC (lvsr (A, To_PTR (B)));
2279    end vec_lvsr;
2280 
2281    function vec_lvsr
2282      (A : c_long;
2283       B : constv_unsigned_int_ptr) return vector_unsigned_char
2284    is
2285    begin
2286       return To_LL_VUC (lvsr (A, To_PTR (B)));
2287    end vec_lvsr;
2288 
2289    function vec_lvsr
2290      (A : c_long;
2291       B : constv_int_ptr) return vector_unsigned_char
2292    is
2293    begin
2294       return To_LL_VUC (lvsr (A, To_PTR (B)));
2295    end vec_lvsr;
2296 
2297    function vec_lvsr
2298      (A : c_long;
2299       B : constv_unsigned_long_ptr) return vector_unsigned_char
2300    is
2301    begin
2302       return To_LL_VUC (lvsr (A, To_PTR (B)));
2303    end vec_lvsr;
2304 
2305    function vec_lvsr
2306      (A : c_long;
2307       B : constv_long_ptr) return vector_unsigned_char
2308    is
2309    begin
2310       return To_LL_VUC (lvsr (A, To_PTR (B)));
2311    end vec_lvsr;
2312 
2313    function vec_lvsr
2314      (A : c_long;
2315       B : constv_float_ptr) return vector_unsigned_char
2316    is
2317    begin
2318       return To_LL_VUC (lvsr (A, To_PTR (B)));
2319    end vec_lvsr;
2320 
2321    --------------
2322    -- vec_madd --
2323    --------------
2324 
2325    function vec_madd
2326      (A : vector_float;
2327       B : vector_float;
2328       C : vector_float) return vector_float
2329    is
2330    begin
2331       return vmaddfp (A, B, C);
2332    end vec_madd;
2333 
2334    ---------------
2335    -- vec_madds --
2336    ---------------
2337 
2338    function vec_madds
2339      (A : vector_signed_short;
2340       B : vector_signed_short;
2341       C : vector_signed_short) return vector_signed_short
2342    is
2343    begin
2344       return vmhaddshs (A, B, C);
2345    end vec_madds;
2346 
2347    -------------
2348    -- vec_max --
2349    -------------
2350 
2351    function vec_max
2352      (A : vector_bool_char;
2353       B : vector_unsigned_char) return vector_unsigned_char
2354    is
2355    begin
2356       return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B)));
2357    end vec_max;
2358 
2359    function vec_max
2360      (A : vector_unsigned_char;
2361       B : vector_bool_char) return vector_unsigned_char
2362    is
2363    begin
2364       return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B)));
2365    end vec_max;
2366 
2367    function vec_max
2368      (A : vector_unsigned_char;
2369       B : vector_unsigned_char) return vector_unsigned_char
2370    is
2371    begin
2372       return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B)));
2373    end vec_max;
2374 
2375    function vec_max
2376      (A : vector_bool_char;
2377       B : vector_signed_char) return vector_signed_char
2378    is
2379    begin
2380       return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B)));
2381    end vec_max;
2382 
2383    function vec_max
2384      (A : vector_signed_char;
2385       B : vector_bool_char) return vector_signed_char
2386    is
2387    begin
2388       return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B)));
2389    end vec_max;
2390 
2391    function vec_max
2392      (A : vector_signed_char;
2393       B : vector_signed_char) return vector_signed_char
2394    is
2395    begin
2396       return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B)));
2397    end vec_max;
2398 
2399    function vec_max
2400      (A : vector_bool_short;
2401       B : vector_unsigned_short) return vector_unsigned_short
2402    is
2403    begin
2404       return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B)));
2405    end vec_max;
2406 
2407    function vec_max
2408      (A : vector_unsigned_short;
2409       B : vector_bool_short) return vector_unsigned_short
2410    is
2411    begin
2412       return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B)));
2413    end vec_max;
2414 
2415    function vec_max
2416      (A : vector_unsigned_short;
2417       B : vector_unsigned_short) return vector_unsigned_short
2418    is
2419    begin
2420       return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B)));
2421    end vec_max;
2422 
2423    function vec_max
2424      (A : vector_bool_short;
2425       B : vector_signed_short) return vector_signed_short
2426    is
2427    begin
2428       return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B)));
2429    end vec_max;
2430 
2431    function vec_max
2432      (A : vector_signed_short;
2433       B : vector_bool_short) return vector_signed_short
2434    is
2435    begin
2436       return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B)));
2437    end vec_max;
2438 
2439    function vec_max
2440      (A : vector_signed_short;
2441       B : vector_signed_short) return vector_signed_short
2442    is
2443    begin
2444       return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B)));
2445    end vec_max;
2446 
2447    function vec_max
2448      (A : vector_bool_int;
2449       B : vector_unsigned_int) return vector_unsigned_int
2450    is
2451    begin
2452       return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B)));
2453    end vec_max;
2454 
2455    function vec_max
2456      (A : vector_unsigned_int;
2457       B : vector_bool_int) return vector_unsigned_int
2458    is
2459    begin
2460       return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B)));
2461    end vec_max;
2462 
2463    function vec_max
2464      (A : vector_unsigned_int;
2465       B : vector_unsigned_int) return vector_unsigned_int
2466    is
2467    begin
2468       return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B)));
2469    end vec_max;
2470 
2471    function vec_max
2472      (A : vector_bool_int;
2473       B : vector_signed_int) return vector_signed_int
2474    is
2475    begin
2476       return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B)));
2477    end vec_max;
2478 
2479    function vec_max
2480      (A : vector_signed_int;
2481       B : vector_bool_int) return vector_signed_int
2482    is
2483    begin
2484       return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B)));
2485    end vec_max;
2486 
2487    function vec_max
2488      (A : vector_signed_int;
2489       B : vector_signed_int) return vector_signed_int
2490    is
2491    begin
2492       return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B)));
2493    end vec_max;
2494 
2495    function vec_max
2496      (A : vector_float;
2497       B : vector_float) return vector_float
2498    is
2499    begin
2500       return To_LL_VF (vmaxfp (To_LL_VF (A), To_LL_VF (B)));
2501    end vec_max;
2502 
2503    ----------------
2504    -- vec_vmaxfp --
2505    ----------------
2506 
2507    function vec_vmaxfp
2508      (A : vector_float;
2509       B : vector_float) return vector_float
2510    is
2511    begin
2512       return To_LL_VF (vmaxfp (To_LL_VF (A), To_LL_VF (B)));
2513    end vec_vmaxfp;
2514 
2515    ----------------
2516    -- vec_vmaxsw --
2517    ----------------
2518 
2519    function vec_vmaxsw
2520      (A : vector_bool_int;
2521       B : vector_signed_int) return vector_signed_int
2522    is
2523    begin
2524       return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B)));
2525    end vec_vmaxsw;
2526 
2527    function vec_vmaxsw
2528      (A : vector_signed_int;
2529       B : vector_bool_int) return vector_signed_int
2530    is
2531    begin
2532       return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B)));
2533    end vec_vmaxsw;
2534 
2535    function vec_vmaxsw
2536      (A : vector_signed_int;
2537       B : vector_signed_int) return vector_signed_int
2538    is
2539    begin
2540       return To_LL_VSI (vmaxsw (To_LL_VSI (A), To_LL_VSI (B)));
2541    end vec_vmaxsw;
2542 
2543    ----------------
2544    -- vec_vmaxuw --
2545    ----------------
2546 
2547    function vec_vmaxuw
2548      (A : vector_bool_int;
2549       B : vector_unsigned_int) return vector_unsigned_int
2550    is
2551    begin
2552       return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B)));
2553    end vec_vmaxuw;
2554 
2555    function vec_vmaxuw
2556      (A : vector_unsigned_int;
2557       B : vector_bool_int) return vector_unsigned_int
2558    is
2559    begin
2560       return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B)));
2561    end vec_vmaxuw;
2562 
2563    function vec_vmaxuw
2564      (A : vector_unsigned_int;
2565       B : vector_unsigned_int) return vector_unsigned_int
2566    is
2567    begin
2568       return To_LL_VUI (vmaxuw (To_LL_VSI (A), To_LL_VSI (B)));
2569    end vec_vmaxuw;
2570 
2571    ----------------
2572    -- vec_vmaxsh --
2573    ----------------
2574 
2575    function vec_vmaxsh
2576      (A : vector_bool_short;
2577       B : vector_signed_short) return vector_signed_short
2578    is
2579    begin
2580       return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B)));
2581    end vec_vmaxsh;
2582 
2583    function vec_vmaxsh
2584      (A : vector_signed_short;
2585       B : vector_bool_short) return vector_signed_short
2586    is
2587    begin
2588       return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B)));
2589    end vec_vmaxsh;
2590 
2591    function vec_vmaxsh
2592      (A : vector_signed_short;
2593       B : vector_signed_short) return vector_signed_short
2594    is
2595    begin
2596       return To_LL_VSS (vmaxsh (To_LL_VSS (A), To_LL_VSS (B)));
2597    end vec_vmaxsh;
2598 
2599    ----------------
2600    -- vec_vmaxuh --
2601    ----------------
2602 
2603    function vec_vmaxuh
2604      (A : vector_bool_short;
2605       B : vector_unsigned_short) return vector_unsigned_short
2606    is
2607    begin
2608       return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B)));
2609    end vec_vmaxuh;
2610 
2611    function vec_vmaxuh
2612      (A : vector_unsigned_short;
2613       B : vector_bool_short) return vector_unsigned_short
2614    is
2615    begin
2616       return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B)));
2617    end vec_vmaxuh;
2618 
2619    function vec_vmaxuh
2620      (A : vector_unsigned_short;
2621       B : vector_unsigned_short) return vector_unsigned_short
2622    is
2623    begin
2624       return To_LL_VUS (vmaxuh (To_LL_VSS (A), To_LL_VSS (B)));
2625    end vec_vmaxuh;
2626 
2627    ----------------
2628    -- vec_vmaxsb --
2629    ----------------
2630 
2631    function vec_vmaxsb
2632      (A : vector_bool_char;
2633       B : vector_signed_char) return vector_signed_char
2634    is
2635    begin
2636       return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B)));
2637    end vec_vmaxsb;
2638 
2639    function vec_vmaxsb
2640      (A : vector_signed_char;
2641       B : vector_bool_char) return vector_signed_char
2642    is
2643    begin
2644       return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B)));
2645    end vec_vmaxsb;
2646 
2647    function vec_vmaxsb
2648      (A : vector_signed_char;
2649       B : vector_signed_char) return vector_signed_char
2650    is
2651    begin
2652       return To_LL_VSC (vmaxsb (To_LL_VSC (A), To_LL_VSC (B)));
2653    end vec_vmaxsb;
2654 
2655    ----------------
2656    -- vec_vmaxub --
2657    ----------------
2658 
2659    function vec_vmaxub
2660      (A : vector_bool_char;
2661       B : vector_unsigned_char) return vector_unsigned_char
2662    is
2663    begin
2664       return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B)));
2665    end vec_vmaxub;
2666 
2667    function vec_vmaxub
2668      (A : vector_unsigned_char;
2669       B : vector_bool_char) return vector_unsigned_char
2670    is
2671    begin
2672       return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B)));
2673    end vec_vmaxub;
2674 
2675    function vec_vmaxub
2676      (A : vector_unsigned_char;
2677       B : vector_unsigned_char) return vector_unsigned_char
2678    is
2679    begin
2680       return To_LL_VUC (vmaxub (To_LL_VSC (A), To_LL_VSC (B)));
2681    end vec_vmaxub;
2682 
2683    ----------------
2684    -- vec_mergeh --
2685    ----------------
2686 
2687    function vec_mergeh
2688      (A : vector_bool_char;
2689       B : vector_bool_char) return vector_bool_char
2690    is
2691    begin
2692       return To_LL_VBC (vmrghb (To_LL_VSC (A), To_LL_VSC (B)));
2693    end vec_mergeh;
2694 
2695    function vec_mergeh
2696      (A : vector_signed_char;
2697       B : vector_signed_char) return vector_signed_char
2698    is
2699    begin
2700       return To_LL_VSC (vmrghb (To_LL_VSC (A), To_LL_VSC (B)));
2701    end vec_mergeh;
2702 
2703    function vec_mergeh
2704      (A : vector_unsigned_char;
2705       B : vector_unsigned_char) return vector_unsigned_char
2706    is
2707    begin
2708       return To_LL_VUC (vmrghb (To_LL_VSC (A), To_LL_VSC (B)));
2709    end vec_mergeh;
2710 
2711    function vec_mergeh
2712      (A : vector_bool_short;
2713       B : vector_bool_short) return vector_bool_short
2714    is
2715    begin
2716       return To_LL_VBS (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2717    end vec_mergeh;
2718 
2719    function vec_mergeh
2720      (A : vector_pixel;
2721       B : vector_pixel) return vector_pixel
2722    is
2723    begin
2724       return To_LL_VP (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2725    end vec_mergeh;
2726 
2727    function vec_mergeh
2728      (A : vector_signed_short;
2729       B : vector_signed_short) return vector_signed_short
2730    is
2731    begin
2732       return To_LL_VSS (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2733    end vec_mergeh;
2734 
2735    function vec_mergeh
2736      (A : vector_unsigned_short;
2737       B : vector_unsigned_short) return vector_unsigned_short
2738    is
2739    begin
2740       return To_LL_VUS (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2741    end vec_mergeh;
2742 
2743    function vec_mergeh
2744      (A : vector_float;
2745       B : vector_float) return vector_float
2746    is
2747    begin
2748       return To_LL_VF (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2749    end vec_mergeh;
2750 
2751    function vec_mergeh
2752      (A : vector_bool_int;
2753       B : vector_bool_int) return vector_bool_int
2754    is
2755    begin
2756       return To_LL_VBI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2757    end vec_mergeh;
2758 
2759    function vec_mergeh
2760      (A : vector_signed_int;
2761       B : vector_signed_int) return vector_signed_int
2762    is
2763    begin
2764       return To_LL_VSI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2765    end vec_mergeh;
2766 
2767    function vec_mergeh
2768      (A : vector_unsigned_int;
2769       B : vector_unsigned_int) return vector_unsigned_int
2770    is
2771    begin
2772       return To_LL_VUI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2773    end vec_mergeh;
2774 
2775    ----------------
2776    -- vec_vmrghw --
2777    ----------------
2778 
2779    function vec_vmrghw
2780      (A : vector_float;
2781       B : vector_float) return vector_float
2782    is
2783    begin
2784       return To_LL_VF (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2785    end vec_vmrghw;
2786 
2787    function vec_vmrghw
2788      (A : vector_bool_int;
2789       B : vector_bool_int) return vector_bool_int
2790    is
2791    begin
2792       return To_LL_VBI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2793    end vec_vmrghw;
2794 
2795    function vec_vmrghw
2796      (A : vector_signed_int;
2797       B : vector_signed_int) return vector_signed_int
2798    is
2799    begin
2800       return To_LL_VSI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2801    end vec_vmrghw;
2802 
2803    function vec_vmrghw
2804      (A : vector_unsigned_int;
2805       B : vector_unsigned_int) return vector_unsigned_int
2806    is
2807    begin
2808       return To_LL_VUI (vmrghw (To_LL_VSI (A), To_LL_VSI (B)));
2809    end vec_vmrghw;
2810 
2811    ----------------
2812    -- vec_vmrghh --
2813    ----------------
2814 
2815    function vec_vmrghh
2816      (A : vector_bool_short;
2817       B : vector_bool_short) return vector_bool_short
2818    is
2819    begin
2820       return To_LL_VBS (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2821    end vec_vmrghh;
2822 
2823    function vec_vmrghh
2824      (A : vector_signed_short;
2825       B : vector_signed_short) return vector_signed_short
2826    is
2827    begin
2828       return To_LL_VSS (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2829    end vec_vmrghh;
2830 
2831    function vec_vmrghh
2832      (A : vector_unsigned_short;
2833       B : vector_unsigned_short) return vector_unsigned_short
2834    is
2835    begin
2836       return To_LL_VUS (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2837    end vec_vmrghh;
2838 
2839    function vec_vmrghh
2840      (A : vector_pixel;
2841       B : vector_pixel) return vector_pixel
2842    is
2843    begin
2844       return To_LL_VP (vmrghh (To_LL_VSS (A), To_LL_VSS (B)));
2845    end vec_vmrghh;
2846 
2847    ----------------
2848    -- vec_vmrghb --
2849    ----------------
2850 
2851    function vec_vmrghb
2852      (A : vector_bool_char;
2853       B : vector_bool_char) return vector_bool_char
2854    is
2855    begin
2856       return To_LL_VBC (vmrghb (To_LL_VSC (A), To_LL_VSC (B)));
2857    end vec_vmrghb;
2858 
2859    function vec_vmrghb
2860      (A : vector_signed_char;
2861       B : vector_signed_char) return vector_signed_char
2862    is
2863    begin
2864       return To_LL_VSC (vmrghb (To_LL_VSC (A), To_LL_VSC (B)));
2865    end vec_vmrghb;
2866 
2867    function vec_vmrghb
2868      (A : vector_unsigned_char;
2869       B : vector_unsigned_char) return vector_unsigned_char
2870    is
2871    begin
2872       return To_LL_VUC (vmrghb (To_LL_VSC (A), To_LL_VSC (B)));
2873    end vec_vmrghb;
2874 
2875    ----------------
2876    -- vec_mergel --
2877    ----------------
2878 
2879    function vec_mergel
2880      (A : vector_bool_char;
2881       B : vector_bool_char) return vector_bool_char
2882    is
2883    begin
2884       return To_LL_VBC (vmrglb (To_LL_VSC (A), To_LL_VSC (B)));
2885    end vec_mergel;
2886 
2887    function vec_mergel
2888      (A : vector_signed_char;
2889       B : vector_signed_char) return vector_signed_char
2890    is
2891    begin
2892       return To_LL_VSC (vmrglb (To_LL_VSC (A), To_LL_VSC (B)));
2893    end vec_mergel;
2894 
2895    function vec_mergel
2896      (A : vector_unsigned_char;
2897       B : vector_unsigned_char) return vector_unsigned_char
2898    is
2899    begin
2900       return To_LL_VUC (vmrglb (To_LL_VSC (A), To_LL_VSC (B)));
2901    end vec_mergel;
2902 
2903    function vec_mergel
2904      (A : vector_bool_short;
2905       B : vector_bool_short) return vector_bool_short
2906    is
2907    begin
2908       return To_LL_VBS (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
2909    end vec_mergel;
2910 
2911    function vec_mergel
2912      (A : vector_pixel;
2913       B : vector_pixel) return vector_pixel
2914    is
2915    begin
2916       return To_LL_VP (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
2917    end vec_mergel;
2918 
2919    function vec_mergel
2920      (A : vector_signed_short;
2921       B : vector_signed_short) return vector_signed_short
2922    is
2923    begin
2924       return To_LL_VSS (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
2925    end vec_mergel;
2926 
2927    function vec_mergel
2928      (A : vector_unsigned_short;
2929       B : vector_unsigned_short) return vector_unsigned_short
2930    is
2931    begin
2932       return To_LL_VUS (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
2933    end vec_mergel;
2934 
2935    function vec_mergel
2936      (A : vector_float;
2937       B : vector_float) return vector_float
2938    is
2939    begin
2940       return To_LL_VF (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
2941    end vec_mergel;
2942 
2943    function vec_mergel
2944      (A : vector_bool_int;
2945       B : vector_bool_int) return vector_bool_int
2946    is
2947    begin
2948       return To_LL_VBI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
2949    end vec_mergel;
2950 
2951    function vec_mergel
2952      (A : vector_signed_int;
2953       B : vector_signed_int) return vector_signed_int
2954    is
2955    begin
2956       return To_LL_VSI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
2957    end vec_mergel;
2958 
2959    function vec_mergel
2960      (A : vector_unsigned_int;
2961       B : vector_unsigned_int) return vector_unsigned_int
2962    is
2963    begin
2964       return To_LL_VUI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
2965    end vec_mergel;
2966 
2967    ----------------
2968    -- vec_vmrglw --
2969    ----------------
2970 
2971    function vec_vmrglw
2972      (A : vector_float;
2973       B : vector_float) return vector_float
2974    is
2975    begin
2976       return To_LL_VF (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
2977    end vec_vmrglw;
2978 
2979    function vec_vmrglw
2980      (A : vector_signed_int;
2981       B : vector_signed_int) return vector_signed_int
2982    is
2983    begin
2984       return To_LL_VSI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
2985    end vec_vmrglw;
2986 
2987    function vec_vmrglw
2988      (A : vector_unsigned_int;
2989       B : vector_unsigned_int) return vector_unsigned_int
2990    is
2991    begin
2992       return To_LL_VUI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
2993    end vec_vmrglw;
2994 
2995    function vec_vmrglw
2996      (A : vector_bool_int;
2997       B : vector_bool_int) return vector_bool_int
2998    is
2999    begin
3000       return To_LL_VBI (vmrglw (To_LL_VSI (A), To_LL_VSI (B)));
3001    end vec_vmrglw;
3002 
3003    ----------------
3004    -- vec_vmrglh --
3005    ----------------
3006 
3007    function vec_vmrglh
3008      (A : vector_bool_short;
3009       B : vector_bool_short) return vector_bool_short
3010    is
3011    begin
3012       return To_LL_VBS (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
3013    end vec_vmrglh;
3014 
3015    function vec_vmrglh
3016      (A : vector_signed_short;
3017       B : vector_signed_short) return vector_signed_short
3018    is
3019    begin
3020       return To_LL_VSS (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
3021    end vec_vmrglh;
3022 
3023    function vec_vmrglh
3024      (A : vector_unsigned_short;
3025       B : vector_unsigned_short) return vector_unsigned_short
3026    is
3027    begin
3028       return To_LL_VUS (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
3029    end vec_vmrglh;
3030 
3031    function vec_vmrglh
3032      (A : vector_pixel;
3033       B : vector_pixel) return vector_pixel
3034    is
3035    begin
3036       return To_LL_VP (vmrglh (To_LL_VSS (A), To_LL_VSS (B)));
3037    end vec_vmrglh;
3038 
3039    ----------------
3040    -- vec_vmrglb --
3041    ----------------
3042 
3043    function vec_vmrglb
3044      (A : vector_bool_char;
3045       B : vector_bool_char) return vector_bool_char
3046    is
3047    begin
3048       return To_LL_VBC (vmrglb (To_LL_VSC (A), To_LL_VSC (B)));
3049    end vec_vmrglb;
3050 
3051    function vec_vmrglb
3052      (A : vector_signed_char;
3053       B : vector_signed_char) return vector_signed_char
3054    is
3055    begin
3056       return To_LL_VSC (vmrglb (To_LL_VSC (A), To_LL_VSC (B)));
3057    end vec_vmrglb;
3058 
3059    function vec_vmrglb
3060      (A : vector_unsigned_char;
3061       B : vector_unsigned_char) return vector_unsigned_char
3062    is
3063    begin
3064       return To_LL_VUC (vmrglb (To_LL_VSC (A), To_LL_VSC (B)));
3065    end vec_vmrglb;
3066 
3067    ----------------
3068    -- vec_mfvscr --
3069    ----------------
3070 
3071    function vec_mfvscr return vector_unsigned_short
3072    is
3073    begin
3074       return To_LL_VUS (mfvscr);
3075    end vec_mfvscr;
3076 
3077    -------------
3078    -- vec_min --
3079    -------------
3080 
3081    function vec_min
3082      (A : vector_bool_char;
3083       B : vector_unsigned_char) return vector_unsigned_char
3084    is
3085    begin
3086       return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B)));
3087    end vec_min;
3088 
3089    function vec_min
3090      (A : vector_unsigned_char;
3091       B : vector_bool_char) return vector_unsigned_char
3092    is
3093    begin
3094       return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B)));
3095    end vec_min;
3096 
3097    function vec_min
3098      (A : vector_unsigned_char;
3099       B : vector_unsigned_char) return vector_unsigned_char
3100    is
3101    begin
3102       return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B)));
3103    end vec_min;
3104 
3105    function vec_min
3106      (A : vector_bool_char;
3107       B : vector_signed_char) return vector_signed_char
3108    is
3109    begin
3110       return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
3111    end vec_min;
3112 
3113    function vec_min
3114      (A : vector_signed_char;
3115       B : vector_bool_char) return vector_signed_char
3116    is
3117    begin
3118       return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
3119    end vec_min;
3120 
3121    function vec_min
3122      (A : vector_signed_char;
3123       B : vector_signed_char) return vector_signed_char
3124    is
3125    begin
3126       return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
3127    end vec_min;
3128 
3129    function vec_min
3130      (A : vector_bool_short;
3131       B : vector_unsigned_short) return vector_unsigned_short
3132    is
3133    begin
3134       return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
3135    end vec_min;
3136 
3137    function vec_min
3138      (A : vector_unsigned_short;
3139       B : vector_bool_short) return vector_unsigned_short
3140    is
3141    begin
3142       return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
3143    end vec_min;
3144 
3145    function vec_min
3146      (A : vector_unsigned_short;
3147       B : vector_unsigned_short) return vector_unsigned_short
3148    is
3149    begin
3150       return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
3151    end vec_min;
3152 
3153    function vec_min
3154      (A : vector_bool_short;
3155       B : vector_signed_short) return vector_signed_short
3156    is
3157    begin
3158       return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
3159    end vec_min;
3160 
3161    function vec_min
3162      (A : vector_signed_short;
3163       B : vector_bool_short) return vector_signed_short
3164    is
3165    begin
3166       return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
3167    end vec_min;
3168 
3169    function vec_min
3170      (A : vector_signed_short;
3171       B : vector_signed_short) return vector_signed_short
3172    is
3173    begin
3174       return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
3175    end vec_min;
3176 
3177    function vec_min
3178      (A : vector_bool_int;
3179       B : vector_unsigned_int) return vector_unsigned_int
3180    is
3181    begin
3182       return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
3183    end vec_min;
3184 
3185    function vec_min
3186      (A : vector_unsigned_int;
3187       B : vector_bool_int) return vector_unsigned_int
3188    is
3189    begin
3190       return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
3191    end vec_min;
3192 
3193    function vec_min
3194      (A : vector_unsigned_int;
3195       B : vector_unsigned_int) return vector_unsigned_int
3196    is
3197    begin
3198       return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
3199    end vec_min;
3200 
3201    function vec_min
3202      (A : vector_bool_int;
3203       B : vector_signed_int) return vector_signed_int
3204    is
3205    begin
3206       return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
3207    end vec_min;
3208 
3209    function vec_min
3210      (A : vector_signed_int;
3211       B : vector_bool_int) return vector_signed_int
3212    is
3213    begin
3214       return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
3215    end vec_min;
3216 
3217    function vec_min
3218      (A : vector_signed_int;
3219       B : vector_signed_int) return vector_signed_int
3220    is
3221    begin
3222       return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
3223    end vec_min;
3224 
3225    function vec_min
3226      (A : vector_float;
3227       B : vector_float) return vector_float
3228    is
3229    begin
3230       return To_LL_VF (vminfp (To_LL_VF (A), To_LL_VF (B)));
3231    end vec_min;
3232 
3233    -- vec_vminfp --
3234 
3235    function vec_vminfp
3236      (A : vector_float;
3237       B : vector_float) return vector_float
3238    is
3239    begin
3240       return To_LL_VF (vminfp (To_LL_VF (A), To_LL_VF (B)));
3241    end vec_vminfp;
3242 
3243    -- vec_vminsw --
3244 
3245    function vec_vminsw
3246      (A : vector_bool_int;
3247       B : vector_signed_int) return vector_signed_int
3248    is
3249    begin
3250       return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
3251    end vec_vminsw;
3252 
3253    function vec_vminsw
3254      (A : vector_signed_int;
3255       B : vector_bool_int) return vector_signed_int
3256    is
3257    begin
3258       return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
3259    end vec_vminsw;
3260 
3261    function vec_vminsw
3262      (A : vector_signed_int;
3263       B : vector_signed_int) return vector_signed_int
3264    is
3265    begin
3266       return To_LL_VSI (vminsw (To_LL_VSI (A), To_LL_VSI (B)));
3267    end vec_vminsw;
3268 
3269    -- vec_vminuw --
3270 
3271    function vec_vminuw
3272      (A : vector_bool_int;
3273       B : vector_unsigned_int) return vector_unsigned_int
3274    is
3275    begin
3276       return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
3277    end vec_vminuw;
3278 
3279    function vec_vminuw
3280      (A : vector_unsigned_int;
3281       B : vector_bool_int) return vector_unsigned_int
3282    is
3283    begin
3284       return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
3285    end vec_vminuw;
3286 
3287    function vec_vminuw
3288      (A : vector_unsigned_int;
3289       B : vector_unsigned_int) return vector_unsigned_int
3290    is
3291    begin
3292       return To_LL_VUI (vminuw (To_LL_VSI (A), To_LL_VSI (B)));
3293    end vec_vminuw;
3294 
3295    -- vec_vminsh --
3296 
3297    function vec_vminsh
3298      (A : vector_bool_short;
3299       B : vector_signed_short) return vector_signed_short
3300    is
3301    begin
3302       return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
3303    end vec_vminsh;
3304 
3305    function vec_vminsh
3306      (A : vector_signed_short;
3307       B : vector_bool_short) return vector_signed_short
3308    is
3309    begin
3310       return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
3311    end vec_vminsh;
3312 
3313    function vec_vminsh
3314      (A : vector_signed_short;
3315       B : vector_signed_short) return vector_signed_short
3316    is
3317    begin
3318       return To_LL_VSS (vminsh (To_LL_VSS (A), To_LL_VSS (B)));
3319    end vec_vminsh;
3320 
3321    ----------------
3322    -- vec_vminuh --
3323    ----------------
3324 
3325    function vec_vminuh
3326      (A : vector_bool_short;
3327       B : vector_unsigned_short) return vector_unsigned_short
3328    is
3329    begin
3330       return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
3331    end vec_vminuh;
3332 
3333    function vec_vminuh
3334      (A : vector_unsigned_short;
3335       B : vector_bool_short) return vector_unsigned_short
3336    is
3337    begin
3338       return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
3339    end vec_vminuh;
3340 
3341    function vec_vminuh
3342      (A : vector_unsigned_short;
3343       B : vector_unsigned_short) return vector_unsigned_short
3344    is
3345    begin
3346       return To_LL_VUS (vminuh (To_LL_VSS (A), To_LL_VSS (B)));
3347    end vec_vminuh;
3348 
3349    ----------------
3350    -- vec_vminsb --
3351    ----------------
3352 
3353    function vec_vminsb
3354      (A : vector_bool_char;
3355       B : vector_signed_char) return vector_signed_char
3356    is
3357    begin
3358       return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
3359    end vec_vminsb;
3360 
3361    function vec_vminsb
3362      (A : vector_signed_char;
3363       B : vector_bool_char) return vector_signed_char
3364    is
3365    begin
3366       return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
3367    end vec_vminsb;
3368 
3369    function vec_vminsb
3370      (A : vector_signed_char;
3371       B : vector_signed_char) return vector_signed_char
3372    is
3373    begin
3374       return To_LL_VSC (vminsb (To_LL_VSC (A), To_LL_VSC (B)));
3375    end vec_vminsb;
3376 
3377    ----------------
3378    -- vec_vminub --
3379    ----------------
3380 
3381    function vec_vminub
3382      (A : vector_bool_char;
3383       B : vector_unsigned_char) return vector_unsigned_char
3384    is
3385    begin
3386       return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B)));
3387    end vec_vminub;
3388 
3389    function vec_vminub
3390      (A : vector_unsigned_char;
3391       B : vector_bool_char) return vector_unsigned_char
3392    is
3393    begin
3394       return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B)));
3395    end vec_vminub;
3396 
3397    function vec_vminub
3398      (A : vector_unsigned_char;
3399       B : vector_unsigned_char) return vector_unsigned_char
3400    is
3401    begin
3402       return To_LL_VUC (vminub (To_LL_VSC (A), To_LL_VSC (B)));
3403    end vec_vminub;
3404 
3405    ---------------
3406    -- vec_mladd --
3407    ---------------
3408 
3409    function vec_mladd
3410      (A : vector_signed_short;
3411       B : vector_signed_short;
3412       C : vector_signed_short) return vector_signed_short
3413    is
3414    begin
3415       return vmladduhm (A, B, C);
3416    end vec_mladd;
3417 
3418    function vec_mladd
3419      (A : vector_signed_short;
3420       B : vector_unsigned_short;
3421       C : vector_unsigned_short) return vector_signed_short
3422    is
3423    begin
3424       return vmladduhm (A, To_LL_VSS (B), To_LL_VSS (C));
3425    end vec_mladd;
3426 
3427    function vec_mladd
3428      (A : vector_unsigned_short;
3429       B : vector_signed_short;
3430       C : vector_signed_short) return vector_signed_short
3431    is
3432    begin
3433       return vmladduhm (To_LL_VSS (A), B, C);
3434    end vec_mladd;
3435 
3436    function vec_mladd
3437      (A : vector_unsigned_short;
3438       B : vector_unsigned_short;
3439       C : vector_unsigned_short) return vector_unsigned_short
3440    is
3441    begin
3442       return
3443         To_LL_VUS (vmladduhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSS (C)));
3444    end vec_mladd;
3445 
3446    ----------------
3447    -- vec_mradds --
3448    ----------------
3449 
3450    function vec_mradds
3451      (A : vector_signed_short;
3452       B : vector_signed_short;
3453       C : vector_signed_short) return vector_signed_short
3454    is
3455    begin
3456       return vmhraddshs (A, B, C);
3457    end vec_mradds;
3458 
3459    --------------
3460    -- vec_msum --
3461    --------------
3462 
3463    function vec_msum
3464      (A : vector_unsigned_char;
3465       B : vector_unsigned_char;
3466       C : vector_unsigned_int) return vector_unsigned_int
3467    is
3468    begin
3469       return
3470         To_LL_VUI (vmsumubm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
3471    end vec_msum;
3472 
3473    function vec_msum
3474      (A : vector_signed_char;
3475       B : vector_unsigned_char;
3476       C : vector_signed_int) return vector_signed_int
3477    is
3478    begin
3479       return
3480         To_LL_VSI (vmsummbm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
3481    end vec_msum;
3482 
3483    function vec_msum
3484      (A : vector_unsigned_short;
3485       B : vector_unsigned_short;
3486       C : vector_unsigned_int) return vector_unsigned_int
3487    is
3488    begin
3489       return
3490         To_LL_VUI (vmsumuhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3491    end vec_msum;
3492 
3493    function vec_msum
3494      (A : vector_signed_short;
3495       B : vector_signed_short;
3496       C : vector_signed_int) return vector_signed_int
3497    is
3498    begin
3499       return
3500         To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3501    end vec_msum;
3502 
3503    ------------------
3504    -- vec_vmsumshm --
3505    ------------------
3506 
3507    function vec_vmsumshm
3508      (A : vector_signed_short;
3509       B : vector_signed_short;
3510       C : vector_signed_int) return vector_signed_int
3511    is
3512    begin
3513       return
3514         To_LL_VSI (vmsumshm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3515    end vec_vmsumshm;
3516 
3517    ------------------
3518    -- vec_vmsumuhm --
3519    ------------------
3520 
3521    function vec_vmsumuhm
3522      (A : vector_unsigned_short;
3523       B : vector_unsigned_short;
3524       C : vector_unsigned_int) return vector_unsigned_int
3525    is
3526    begin
3527       return
3528         To_LL_VUI (vmsumuhm (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3529    end vec_vmsumuhm;
3530 
3531    ------------------
3532    -- vec_vmsummbm --
3533    ------------------
3534 
3535    function vec_vmsummbm
3536      (A : vector_signed_char;
3537       B : vector_unsigned_char;
3538       C : vector_signed_int) return vector_signed_int
3539    is
3540    begin
3541       return
3542         To_LL_VSI (vmsummbm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
3543    end vec_vmsummbm;
3544 
3545    ------------------
3546    -- vec_vmsumubm --
3547    ------------------
3548 
3549    function vec_vmsumubm
3550      (A : vector_unsigned_char;
3551       B : vector_unsigned_char;
3552       C : vector_unsigned_int) return vector_unsigned_int
3553    is
3554    begin
3555       return
3556         To_LL_VUI (vmsumubm (To_LL_VSC (A), To_LL_VSC (B), To_LL_VSI (C)));
3557    end vec_vmsumubm;
3558 
3559    ---------------
3560    -- vec_msums --
3561    ---------------
3562 
3563    function vec_msums
3564      (A : vector_unsigned_short;
3565       B : vector_unsigned_short;
3566       C : vector_unsigned_int) return vector_unsigned_int
3567    is
3568    begin
3569       return
3570         To_LL_VUI (vmsumuhs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3571    end vec_msums;
3572 
3573    function vec_msums
3574      (A : vector_signed_short;
3575       B : vector_signed_short;
3576       C : vector_signed_int) return vector_signed_int
3577    is
3578    begin
3579       return
3580         To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3581    end vec_msums;
3582 
3583    ------------------
3584    -- vec_vmsumshs --
3585    ------------------
3586 
3587    function vec_vmsumshs
3588      (A : vector_signed_short;
3589       B : vector_signed_short;
3590       C : vector_signed_int) return vector_signed_int
3591    is
3592    begin
3593       return
3594         To_LL_VSI (vmsumshs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3595    end vec_vmsumshs;
3596 
3597    ------------------
3598    -- vec_vmsumuhs --
3599    ------------------
3600 
3601    function vec_vmsumuhs
3602      (A : vector_unsigned_short;
3603       B : vector_unsigned_short;
3604       C : vector_unsigned_int) return vector_unsigned_int
3605    is
3606    begin
3607       return
3608         To_LL_VUI (vmsumuhs (To_LL_VSS (A), To_LL_VSS (B), To_LL_VSI (C)));
3609    end vec_vmsumuhs;
3610 
3611    ----------------
3612    -- vec_mtvscr --
3613    ----------------
3614 
3615    procedure vec_mtvscr
3616      (A : vector_signed_int)
3617    is
3618    begin
3619       mtvscr (To_LL_VSI (A));
3620    end vec_mtvscr;
3621 
3622    procedure vec_mtvscr
3623      (A : vector_unsigned_int)
3624    is
3625    begin
3626       mtvscr (To_LL_VSI (A));
3627    end vec_mtvscr;
3628 
3629    procedure vec_mtvscr
3630      (A : vector_bool_int)
3631    is
3632    begin
3633       mtvscr (To_LL_VSI (A));
3634    end vec_mtvscr;
3635 
3636    procedure vec_mtvscr
3637      (A : vector_signed_short)
3638    is
3639    begin
3640       mtvscr (To_LL_VSI (A));
3641    end vec_mtvscr;
3642 
3643    procedure vec_mtvscr
3644      (A : vector_unsigned_short)
3645    is
3646    begin
3647       mtvscr (To_LL_VSI (A));
3648    end vec_mtvscr;
3649 
3650    procedure vec_mtvscr
3651      (A : vector_bool_short)
3652    is
3653    begin
3654       mtvscr (To_LL_VSI (A));
3655    end vec_mtvscr;
3656 
3657    procedure vec_mtvscr
3658      (A : vector_pixel)
3659    is
3660    begin
3661       mtvscr (To_LL_VSI (A));
3662    end vec_mtvscr;
3663 
3664    procedure vec_mtvscr
3665      (A : vector_signed_char)
3666    is
3667    begin
3668       mtvscr (To_LL_VSI (A));
3669    end vec_mtvscr;
3670 
3671    procedure vec_mtvscr
3672      (A : vector_unsigned_char)
3673    is
3674    begin
3675       mtvscr (To_LL_VSI (A));
3676    end vec_mtvscr;
3677 
3678    procedure vec_mtvscr
3679      (A : vector_bool_char)
3680    is
3681    begin
3682       mtvscr (To_LL_VSI (A));
3683    end vec_mtvscr;
3684 
3685    --------------
3686    -- vec_mule --
3687    --------------
3688 
3689    function vec_mule
3690      (A : vector_unsigned_char;
3691       B : vector_unsigned_char) return vector_unsigned_short
3692    is
3693    begin
3694       return To_LL_VUS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
3695    end vec_mule;
3696 
3697    function vec_mule
3698      (A : vector_signed_char;
3699       B : vector_signed_char) return vector_signed_short
3700    is
3701    begin
3702       return To_LL_VSS (vmulesb (To_LL_VSC (A), To_LL_VSC (B)));
3703    end vec_mule;
3704 
3705    function vec_mule
3706      (A : vector_unsigned_short;
3707       B : vector_unsigned_short) return vector_unsigned_int
3708    is
3709    begin
3710       return To_LL_VUI (vmuleuh (To_LL_VSS (A), To_LL_VSS (B)));
3711    end vec_mule;
3712 
3713    function vec_mule
3714      (A : vector_signed_short;
3715       B : vector_signed_short) return vector_signed_int
3716    is
3717    begin
3718       return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B)));
3719    end vec_mule;
3720 
3721    -----------------
3722    -- vec_vmulesh --
3723    -----------------
3724 
3725    function vec_vmulesh
3726      (A : vector_signed_short;
3727       B : vector_signed_short) return vector_signed_int
3728    is
3729    begin
3730       return To_LL_VSI (vmulesh (To_LL_VSS (A), To_LL_VSS (B)));
3731    end vec_vmulesh;
3732 
3733    -----------------
3734    -- vec_vmuleuh --
3735    -----------------
3736 
3737    function vec_vmuleuh
3738      (A : vector_unsigned_short;
3739       B : vector_unsigned_short) return vector_unsigned_int
3740    is
3741    begin
3742       return To_LL_VUI (vmuleuh (To_LL_VSS (A), To_LL_VSS (B)));
3743    end vec_vmuleuh;
3744 
3745    -----------------
3746    -- vec_vmulesb --
3747    -----------------
3748 
3749    function vec_vmulesb
3750      (A : vector_signed_char;
3751       B : vector_signed_char) return vector_signed_short
3752    is
3753    begin
3754       return To_LL_VSS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
3755    end vec_vmulesb;
3756 
3757    -----------------
3758    -- vec_vmuleub --
3759    -----------------
3760 
3761    function vec_vmuleub
3762      (A : vector_unsigned_char;
3763       B : vector_unsigned_char) return vector_unsigned_short
3764    is
3765    begin
3766       return To_LL_VUS (vmuleub (To_LL_VSC (A), To_LL_VSC (B)));
3767    end vec_vmuleub;
3768 
3769    --------------
3770    -- vec_mulo --
3771    --------------
3772 
3773    function vec_mulo
3774      (A : vector_unsigned_char;
3775       B : vector_unsigned_char) return vector_unsigned_short
3776    is
3777    begin
3778       return To_LL_VUS (vmuloub (To_LL_VSC (A), To_LL_VSC (B)));
3779    end vec_mulo;
3780 
3781    function vec_mulo
3782      (A : vector_signed_char;
3783       B : vector_signed_char) return vector_signed_short
3784    is
3785    begin
3786       return To_LL_VSS (vmulosb (To_LL_VSC (A), To_LL_VSC (B)));
3787    end vec_mulo;
3788 
3789    function vec_mulo
3790      (A : vector_unsigned_short;
3791       B : vector_unsigned_short) return vector_unsigned_int
3792    is
3793    begin
3794       return To_LL_VUI (vmulouh (To_LL_VSS (A), To_LL_VSS (B)));
3795    end vec_mulo;
3796 
3797    function vec_mulo
3798      (A : vector_signed_short;
3799       B : vector_signed_short) return vector_signed_int
3800    is
3801    begin
3802       return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B)));
3803    end vec_mulo;
3804 
3805    -----------------
3806    -- vec_vmulosh --
3807    -----------------
3808 
3809    function vec_vmulosh
3810      (A : vector_signed_short;
3811       B : vector_signed_short) return vector_signed_int
3812    is
3813    begin
3814       return To_LL_VSI (vmulosh (To_LL_VSS (A), To_LL_VSS (B)));
3815    end vec_vmulosh;
3816 
3817    -----------------
3818    -- vec_vmulouh --
3819    -----------------
3820 
3821    function vec_vmulouh
3822      (A : vector_unsigned_short;
3823       B : vector_unsigned_short) return vector_unsigned_int
3824    is
3825    begin
3826       return To_LL_VUI (vmulouh (To_LL_VSS (A), To_LL_VSS (B)));
3827    end vec_vmulouh;
3828 
3829    -----------------
3830    -- vec_vmulosb --
3831    -----------------
3832 
3833    function vec_vmulosb
3834      (A : vector_signed_char;
3835       B : vector_signed_char) return vector_signed_short
3836    is
3837    begin
3838       return To_LL_VSS (vmulosb (To_LL_VSC (A), To_LL_VSC (B)));
3839    end vec_vmulosb;
3840 
3841    -----------------
3842    -- vec_vmuloub --
3843    -----------------
3844 
3845    function vec_vmuloub
3846      (A : vector_unsigned_char;
3847       B : vector_unsigned_char) return vector_unsigned_short
3848    is
3849    begin
3850       return To_LL_VUS (vmuloub (To_LL_VSC (A), To_LL_VSC (B)));
3851    end vec_vmuloub;
3852 
3853    ---------------
3854    -- vec_nmsub --
3855    ---------------
3856 
3857    function vec_nmsub
3858      (A : vector_float;
3859       B : vector_float;
3860       C : vector_float) return vector_float
3861    is
3862    begin
3863       return To_LL_VF (vnmsubfp (To_LL_VF (A), To_LL_VF (B), To_LL_VF (C)));
3864    end vec_nmsub;
3865 
3866    -------------
3867    -- vec_nor --
3868    -------------
3869 
3870    function vec_nor
3871      (A : vector_float;
3872       B : vector_float) return vector_float
3873    is
3874    begin
3875       return To_LL_VF (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3876    end vec_nor;
3877 
3878    function vec_nor
3879      (A : vector_signed_int;
3880       B : vector_signed_int) return vector_signed_int
3881    is
3882    begin
3883       return To_LL_VSI (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3884    end vec_nor;
3885 
3886    function vec_nor
3887      (A : vector_unsigned_int;
3888       B : vector_unsigned_int) return vector_unsigned_int
3889    is
3890    begin
3891       return To_LL_VUI (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3892    end vec_nor;
3893 
3894    function vec_nor
3895      (A : vector_bool_int;
3896       B : vector_bool_int) return vector_bool_int
3897    is
3898    begin
3899       return To_LL_VBI (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3900    end vec_nor;
3901 
3902    function vec_nor
3903      (A : vector_signed_short;
3904       B : vector_signed_short) return vector_signed_short
3905    is
3906    begin
3907       return To_LL_VSS (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3908    end vec_nor;
3909 
3910    function vec_nor
3911      (A : vector_unsigned_short;
3912       B : vector_unsigned_short) return vector_unsigned_short
3913    is
3914    begin
3915       return To_LL_VUS (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3916    end vec_nor;
3917 
3918    function vec_nor
3919      (A : vector_bool_short;
3920       B : vector_bool_short) return vector_bool_short
3921    is
3922    begin
3923       return To_LL_VBS (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3924    end vec_nor;
3925 
3926    function vec_nor
3927      (A : vector_signed_char;
3928       B : vector_signed_char) return vector_signed_char
3929    is
3930    begin
3931       return To_LL_VSC (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3932    end vec_nor;
3933 
3934    function vec_nor
3935      (A : vector_unsigned_char;
3936       B : vector_unsigned_char) return vector_unsigned_char
3937    is
3938    begin
3939       return To_LL_VUC (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3940    end vec_nor;
3941 
3942    function vec_nor
3943      (A : vector_bool_char;
3944       B : vector_bool_char) return vector_bool_char
3945    is
3946    begin
3947       return To_LL_VBC (vnor (To_LL_VSI (A), To_LL_VSI (B)));
3948    end vec_nor;
3949 
3950    ------------
3951    -- vec_or --
3952    ------------
3953 
3954    function vec_or
3955      (A : vector_float;
3956       B : vector_float) return vector_float
3957    is
3958    begin
3959       return To_LL_VF (vor (To_LL_VSI (A), To_LL_VSI (B)));
3960    end vec_or;
3961 
3962    function vec_or
3963      (A : vector_float;
3964       B : vector_bool_int) return vector_float
3965    is
3966    begin
3967       return To_LL_VF (vor (To_LL_VSI (A), To_LL_VSI (B)));
3968    end vec_or;
3969 
3970    function vec_or
3971      (A : vector_bool_int;
3972       B : vector_float) return vector_float
3973    is
3974    begin
3975       return To_LL_VF (vor (To_LL_VSI (A), To_LL_VSI (B)));
3976    end vec_or;
3977 
3978    function vec_or
3979      (A : vector_bool_int;
3980       B : vector_bool_int) return vector_bool_int
3981    is
3982    begin
3983       return To_LL_VBI (vor (To_LL_VSI (A), To_LL_VSI (B)));
3984    end vec_or;
3985 
3986    function vec_or
3987      (A : vector_bool_int;
3988       B : vector_signed_int) return vector_signed_int
3989    is
3990    begin
3991       return To_LL_VSI (vor (To_LL_VSI (A), To_LL_VSI (B)));
3992    end vec_or;
3993 
3994    function vec_or
3995      (A : vector_signed_int;
3996       B : vector_bool_int) return vector_signed_int
3997    is
3998    begin
3999       return To_LL_VSI (vor (To_LL_VSI (A), To_LL_VSI (B)));
4000    end vec_or;
4001 
4002    function vec_or
4003      (A : vector_signed_int;
4004       B : vector_signed_int) return vector_signed_int
4005    is
4006    begin
4007       return To_LL_VSI (vor (To_LL_VSI (A), To_LL_VSI (B)));
4008    end vec_or;
4009 
4010    function vec_or
4011      (A : vector_bool_int;
4012       B : vector_unsigned_int) return vector_unsigned_int
4013    is
4014    begin
4015       return To_LL_VUI (vor (To_LL_VSI (A), To_LL_VSI (B)));
4016    end vec_or;
4017 
4018    function vec_or
4019      (A : vector_unsigned_int;
4020       B : vector_bool_int) return vector_unsigned_int
4021    is
4022    begin
4023       return To_LL_VUI (vor (To_LL_VSI (A), To_LL_VSI (B)));
4024    end vec_or;
4025 
4026    function vec_or
4027      (A : vector_unsigned_int;
4028       B : vector_unsigned_int) return vector_unsigned_int
4029    is
4030    begin
4031       return To_LL_VUI (vor (To_LL_VSI (A), To_LL_VSI (B)));
4032    end vec_or;
4033 
4034    function vec_or
4035      (A : vector_bool_short;
4036       B : vector_bool_short) return vector_bool_short
4037    is
4038    begin
4039       return To_LL_VBS (vor (To_LL_VSI (A), To_LL_VSI (B)));
4040    end vec_or;
4041 
4042    function vec_or
4043      (A : vector_bool_short;
4044       B : vector_signed_short) return vector_signed_short
4045    is
4046    begin
4047       return To_LL_VSS (vor (To_LL_VSI (A), To_LL_VSI (B)));
4048    end vec_or;
4049 
4050    function vec_or
4051      (A : vector_signed_short;
4052       B : vector_bool_short) return vector_signed_short
4053    is
4054    begin
4055       return To_LL_VSS (vor (To_LL_VSI (A), To_LL_VSI (B)));
4056    end vec_or;
4057 
4058    function vec_or
4059      (A : vector_signed_short;
4060       B : vector_signed_short) return vector_signed_short
4061    is
4062    begin
4063       return To_LL_VSS (vor (To_LL_VSI (A), To_LL_VSI (B)));
4064    end vec_or;
4065 
4066    function vec_or
4067      (A : vector_bool_short;
4068       B : vector_unsigned_short) return vector_unsigned_short
4069    is
4070    begin
4071       return To_LL_VUS (vor (To_LL_VSI (A), To_LL_VSI (B)));
4072    end vec_or;
4073 
4074    function vec_or
4075      (A : vector_unsigned_short;
4076       B : vector_bool_short) return vector_unsigned_short
4077    is
4078    begin
4079       return To_LL_VUS (vor (To_LL_VSI (A), To_LL_VSI (B)));
4080    end vec_or;
4081 
4082    function vec_or
4083      (A : vector_unsigned_short;
4084       B : vector_unsigned_short) return vector_unsigned_short
4085    is
4086    begin
4087       return To_LL_VUS (vor (To_LL_VSI (A), To_LL_VSI (B)));
4088    end vec_or;
4089 
4090    function vec_or
4091      (A : vector_bool_char;
4092       B : vector_signed_char) return vector_signed_char
4093    is
4094    begin
4095       return To_LL_VSC (vor (To_LL_VSI (A), To_LL_VSI (B)));
4096    end vec_or;
4097 
4098    function vec_or
4099      (A : vector_bool_char;
4100       B : vector_bool_char) return vector_bool_char
4101    is
4102    begin
4103       return To_LL_VBC (vor (To_LL_VSI (A), To_LL_VSI (B)));
4104    end vec_or;
4105 
4106    function vec_or
4107      (A : vector_signed_char;
4108       B : vector_bool_char) return vector_signed_char
4109    is
4110    begin
4111       return To_LL_VSC (vor (To_LL_VSI (A), To_LL_VSI (B)));
4112    end vec_or;
4113 
4114    function vec_or
4115      (A : vector_signed_char;
4116       B : vector_signed_char) return vector_signed_char
4117    is
4118    begin
4119       return To_LL_VSC (vor (To_LL_VSI (A), To_LL_VSI (B)));
4120    end vec_or;
4121 
4122    function vec_or
4123      (A : vector_bool_char;
4124       B : vector_unsigned_char) return vector_unsigned_char
4125    is
4126    begin
4127       return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B)));
4128    end vec_or;
4129 
4130    function vec_or
4131      (A : vector_unsigned_char;
4132       B : vector_bool_char) return vector_unsigned_char
4133    is
4134    begin
4135       return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B)));
4136    end vec_or;
4137 
4138    function vec_or
4139      (A : vector_unsigned_char;
4140       B : vector_unsigned_char) return vector_unsigned_char
4141    is
4142    begin
4143       return To_LL_VUC (vor (To_LL_VSI (A), To_LL_VSI (B)));
4144    end vec_or;
4145 
4146    --------------
4147    -- vec_pack --
4148    --------------
4149 
4150    function vec_pack
4151      (A : vector_signed_short;
4152       B : vector_signed_short) return vector_signed_char
4153    is
4154    begin
4155       return To_LL_VSC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
4156    end vec_pack;
4157 
4158    function vec_pack
4159      (A : vector_unsigned_short;
4160       B : vector_unsigned_short) return vector_unsigned_char
4161    is
4162    begin
4163       return To_LL_VUC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
4164    end vec_pack;
4165 
4166    function vec_pack
4167      (A : vector_bool_short;
4168       B : vector_bool_short) return vector_bool_char
4169    is
4170    begin
4171       return To_LL_VBC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
4172    end vec_pack;
4173 
4174    function vec_pack
4175      (A : vector_signed_int;
4176       B : vector_signed_int) return vector_signed_short
4177    is
4178    begin
4179       return To_LL_VSS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
4180    end vec_pack;
4181 
4182    function vec_pack
4183      (A : vector_unsigned_int;
4184       B : vector_unsigned_int) return vector_unsigned_short
4185    is
4186    begin
4187       return To_LL_VUS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
4188    end vec_pack;
4189 
4190    function vec_pack
4191      (A : vector_bool_int;
4192       B : vector_bool_int) return vector_bool_short
4193    is
4194    begin
4195       return To_LL_VBS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
4196    end vec_pack;
4197 
4198    -----------------
4199    -- vec_vpkuwum --
4200    -----------------
4201 
4202    function vec_vpkuwum
4203      (A : vector_bool_int;
4204       B : vector_bool_int) return vector_bool_short
4205    is
4206    begin
4207       return To_LL_VBS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
4208    end vec_vpkuwum;
4209 
4210    function vec_vpkuwum
4211      (A : vector_signed_int;
4212       B : vector_signed_int) return vector_signed_short
4213    is
4214    begin
4215       return To_LL_VSS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
4216    end vec_vpkuwum;
4217 
4218    function vec_vpkuwum
4219      (A : vector_unsigned_int;
4220       B : vector_unsigned_int) return vector_unsigned_short
4221    is
4222    begin
4223       return To_LL_VUS (vpkuwum (To_LL_VSI (A), To_LL_VSI (B)));
4224    end vec_vpkuwum;
4225 
4226    -----------------
4227    -- vec_vpkuhum --
4228    -----------------
4229 
4230    function vec_vpkuhum
4231      (A : vector_bool_short;
4232       B : vector_bool_short) return vector_bool_char
4233    is
4234    begin
4235       return To_LL_VBC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
4236    end vec_vpkuhum;
4237 
4238    function vec_vpkuhum
4239      (A : vector_signed_short;
4240       B : vector_signed_short) return vector_signed_char
4241    is
4242    begin
4243       return To_LL_VSC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
4244    end vec_vpkuhum;
4245 
4246    function vec_vpkuhum
4247      (A : vector_unsigned_short;
4248       B : vector_unsigned_short) return vector_unsigned_char
4249    is
4250    begin
4251       return To_LL_VUC (vpkuhum (To_LL_VSS (A), To_LL_VSS (B)));
4252    end vec_vpkuhum;
4253 
4254    ----------------
4255    -- vec_packpx --
4256    ----------------
4257 
4258    function vec_packpx
4259      (A : vector_unsigned_int;
4260       B : vector_unsigned_int) return vector_pixel
4261    is
4262    begin
4263       return To_LL_VP (vpkpx (To_LL_VSI (A), To_LL_VSI (B)));
4264    end vec_packpx;
4265 
4266    ---------------
4267    -- vec_packs --
4268    ---------------
4269 
4270    function vec_packs
4271      (A : vector_unsigned_short;
4272       B : vector_unsigned_short) return vector_unsigned_char
4273    is
4274    begin
4275       return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B)));
4276    end vec_packs;
4277 
4278    function vec_packs
4279      (A : vector_signed_short;
4280       B : vector_signed_short) return vector_signed_char
4281    is
4282    begin
4283       return To_LL_VSC (vpkshss (To_LL_VSS (A), To_LL_VSS (B)));
4284    end vec_packs;
4285 
4286    function vec_packs
4287      (A : vector_unsigned_int;
4288       B : vector_unsigned_int) return vector_unsigned_short
4289    is
4290    begin
4291       return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B)));
4292    end vec_packs;
4293 
4294    function vec_packs
4295      (A : vector_signed_int;
4296       B : vector_signed_int) return vector_signed_short
4297    is
4298    begin
4299       return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B)));
4300    end vec_packs;
4301 
4302    -----------------
4303    -- vec_vpkswss --
4304    -----------------
4305 
4306    function vec_vpkswss
4307      (A : vector_signed_int;
4308       B : vector_signed_int) return vector_signed_short
4309    is
4310    begin
4311       return To_LL_VSS (vpkswss (To_LL_VSI (A), To_LL_VSI (B)));
4312    end vec_vpkswss;
4313 
4314    -----------------
4315    -- vec_vpkuwus --
4316    -----------------
4317 
4318    function vec_vpkuwus
4319      (A : vector_unsigned_int;
4320       B : vector_unsigned_int) return vector_unsigned_short
4321    is
4322    begin
4323       return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B)));
4324    end vec_vpkuwus;
4325 
4326    -----------------
4327    -- vec_vpkshss --
4328    -----------------
4329 
4330    function vec_vpkshss
4331      (A : vector_signed_short;
4332       B : vector_signed_short) return vector_signed_char
4333    is
4334    begin
4335       return To_LL_VSC (vpkshss (To_LL_VSS (A), To_LL_VSS (B)));
4336    end vec_vpkshss;
4337 
4338    -----------------
4339    -- vec_vpkuhus --
4340    -----------------
4341 
4342    function vec_vpkuhus
4343      (A : vector_unsigned_short;
4344       B : vector_unsigned_short) return vector_unsigned_char
4345    is
4346    begin
4347       return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B)));
4348    end vec_vpkuhus;
4349 
4350    ----------------
4351    -- vec_packsu --
4352    ----------------
4353 
4354    function vec_packsu
4355      (A : vector_unsigned_short;
4356       B : vector_unsigned_short) return vector_unsigned_char
4357    is
4358    begin
4359       return To_LL_VUC (vpkuhus (To_LL_VSS (A), To_LL_VSS (B)));
4360    end vec_packsu;
4361 
4362    function vec_packsu
4363      (A : vector_signed_short;
4364       B : vector_signed_short) return vector_unsigned_char
4365    is
4366    begin
4367       return To_LL_VUC (vpkshus (To_LL_VSS (A), To_LL_VSS (B)));
4368    end vec_packsu;
4369 
4370    function vec_packsu
4371      (A : vector_unsigned_int;
4372       B : vector_unsigned_int) return vector_unsigned_short
4373    is
4374    begin
4375       return To_LL_VUS (vpkuwus (To_LL_VSI (A), To_LL_VSI (B)));
4376    end vec_packsu;
4377 
4378    function vec_packsu
4379      (A : vector_signed_int;
4380       B : vector_signed_int) return vector_unsigned_short
4381    is
4382    begin
4383       return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B)));
4384    end vec_packsu;
4385 
4386    -----------------
4387    -- vec_vpkswus --
4388    -----------------
4389 
4390    function vec_vpkswus
4391      (A : vector_signed_int;
4392       B : vector_signed_int) return vector_unsigned_short
4393    is
4394    begin
4395       return To_LL_VUS (vpkswus (To_LL_VSI (A), To_LL_VSI (B)));
4396    end vec_vpkswus;
4397 
4398    -----------------
4399    -- vec_vpkshus --
4400    -----------------
4401 
4402    function vec_vpkshus
4403      (A : vector_signed_short;
4404       B : vector_signed_short) return vector_unsigned_char
4405    is
4406    begin
4407       return To_LL_VUC (vpkshus (To_LL_VSS (A), To_LL_VSS (B)));
4408    end vec_vpkshus;
4409 
4410    --------------
4411    -- vec_perm --
4412    --------------
4413 
4414    function vec_perm
4415      (A : vector_float;
4416       B : vector_float;
4417       C : vector_unsigned_char) return vector_float
4418    is
4419    begin
4420       return
4421         To_LL_VF (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4422    end vec_perm;
4423 
4424    function vec_perm
4425      (A : vector_signed_int;
4426       B : vector_signed_int;
4427       C : vector_unsigned_char) return vector_signed_int
4428    is
4429    begin
4430       return
4431         To_LL_VSI (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4432    end vec_perm;
4433 
4434    function vec_perm
4435      (A : vector_unsigned_int;
4436       B : vector_unsigned_int;
4437       C : vector_unsigned_char) return vector_unsigned_int
4438    is
4439    begin
4440       return
4441         To_LL_VUI (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4442    end vec_perm;
4443 
4444    function vec_perm
4445      (A : vector_bool_int;
4446       B : vector_bool_int;
4447       C : vector_unsigned_char) return vector_bool_int
4448    is
4449    begin
4450       return
4451         To_LL_VBI (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4452    end vec_perm;
4453 
4454    function vec_perm
4455      (A : vector_signed_short;
4456       B : vector_signed_short;
4457       C : vector_unsigned_char) return vector_signed_short
4458    is
4459    begin
4460       return
4461         To_LL_VSS (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4462    end vec_perm;
4463 
4464    function vec_perm
4465      (A : vector_unsigned_short;
4466       B : vector_unsigned_short;
4467       C : vector_unsigned_char) return vector_unsigned_short
4468    is
4469    begin
4470       return
4471         To_LL_VUS (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4472    end vec_perm;
4473 
4474    function vec_perm
4475      (A : vector_bool_short;
4476       B : vector_bool_short;
4477       C : vector_unsigned_char) return vector_bool_short
4478    is
4479    begin
4480       return
4481         To_LL_VBS (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4482    end vec_perm;
4483 
4484    function vec_perm
4485      (A : vector_pixel;
4486       B : vector_pixel;
4487       C : vector_unsigned_char) return vector_pixel
4488    is
4489    begin
4490       return To_LL_VP
4491         (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4492    end vec_perm;
4493 
4494    function vec_perm
4495      (A : vector_signed_char;
4496       B : vector_signed_char;
4497       C : vector_unsigned_char) return vector_signed_char
4498    is
4499    begin
4500       return To_LL_VSC
4501         (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4502    end vec_perm;
4503 
4504    function vec_perm
4505      (A : vector_unsigned_char;
4506       B : vector_unsigned_char;
4507       C : vector_unsigned_char) return vector_unsigned_char
4508    is
4509    begin
4510       return
4511         To_LL_VUC (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4512    end vec_perm;
4513 
4514    function vec_perm
4515      (A : vector_bool_char;
4516       B : vector_bool_char;
4517       C : vector_unsigned_char) return vector_bool_char
4518    is
4519    begin
4520       return
4521         To_LL_VBC (vperm_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSC (C)));
4522    end vec_perm;
4523 
4524    ------------
4525    -- vec_re --
4526    ------------
4527 
4528    function vec_re
4529      (A : vector_float) return vector_float
4530    is
4531    begin
4532       return To_LL_VF (vrefp (To_LL_VF (A)));
4533    end vec_re;
4534 
4535    ------------
4536    -- vec_rl --
4537    ------------
4538 
4539    function vec_rl
4540      (A : vector_signed_char;
4541       B : vector_unsigned_char) return vector_signed_char
4542    is
4543    begin
4544       return To_LL_VSC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
4545    end vec_rl;
4546 
4547    function vec_rl
4548      (A : vector_unsigned_char;
4549       B : vector_unsigned_char) return vector_unsigned_char
4550    is
4551    begin
4552       return To_LL_VUC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
4553    end vec_rl;
4554 
4555    function vec_rl
4556      (A : vector_signed_short;
4557       B : vector_unsigned_short) return vector_signed_short
4558    is
4559    begin
4560       return To_LL_VSS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
4561    end vec_rl;
4562 
4563    function vec_rl
4564      (A : vector_unsigned_short;
4565       B : vector_unsigned_short) return vector_unsigned_short
4566    is
4567    begin
4568       return To_LL_VUS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
4569    end vec_rl;
4570 
4571    function vec_rl
4572      (A : vector_signed_int;
4573       B : vector_unsigned_int) return vector_signed_int
4574    is
4575    begin
4576       return To_LL_VSI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
4577    end vec_rl;
4578 
4579    function vec_rl
4580      (A : vector_unsigned_int;
4581       B : vector_unsigned_int) return vector_unsigned_int
4582    is
4583    begin
4584       return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
4585    end vec_rl;
4586 
4587    --------------
4588    -- vec_vrlw --
4589    --------------
4590 
4591    function vec_vrlw
4592      (A : vector_signed_int;
4593       B : vector_unsigned_int) return vector_signed_int
4594    is
4595    begin
4596       return To_LL_VSI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
4597    end vec_vrlw;
4598 
4599    function vec_vrlw
4600      (A : vector_unsigned_int;
4601       B : vector_unsigned_int) return vector_unsigned_int
4602    is
4603    begin
4604       return To_LL_VUI (vrlw (To_LL_VSI (A), To_LL_VSI (B)));
4605    end vec_vrlw;
4606 
4607    --------------
4608    -- vec_vrlh --
4609    --------------
4610 
4611    function vec_vrlh
4612      (A : vector_signed_short;
4613       B : vector_unsigned_short) return vector_signed_short
4614    is
4615    begin
4616       return To_LL_VSS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
4617    end vec_vrlh;
4618 
4619    function vec_vrlh
4620      (A : vector_unsigned_short;
4621       B : vector_unsigned_short) return vector_unsigned_short
4622    is
4623    begin
4624       return To_LL_VUS (vrlh (To_LL_VSS (A), To_LL_VSS (B)));
4625    end vec_vrlh;
4626 
4627    --------------
4628    -- vec_vrlb --
4629    --------------
4630 
4631    function vec_vrlb
4632      (A : vector_signed_char;
4633       B : vector_unsigned_char) return vector_signed_char
4634    is
4635    begin
4636       return To_LL_VSC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
4637    end vec_vrlb;
4638 
4639    function vec_vrlb
4640      (A : vector_unsigned_char;
4641       B : vector_unsigned_char) return vector_unsigned_char
4642    is
4643    begin
4644       return To_LL_VUC (vrlb (To_LL_VSC (A), To_LL_VSC (B)));
4645    end vec_vrlb;
4646 
4647    ---------------
4648    -- vec_round --
4649    ---------------
4650 
4651    function vec_round
4652      (A : vector_float) return vector_float
4653    is
4654    begin
4655       return To_LL_VF (vrfin (To_LL_VF (A)));
4656    end vec_round;
4657 
4658    ----------------
4659    -- vec_rsqrte --
4660    ----------------
4661 
4662    function vec_rsqrte
4663      (A : vector_float) return vector_float
4664    is
4665    begin
4666       return To_LL_VF (vrsqrtefp (To_LL_VF (A)));
4667    end vec_rsqrte;
4668 
4669    -------------
4670    -- vec_sel --
4671    -------------
4672 
4673    function vec_sel
4674      (A : vector_float;
4675       B : vector_float;
4676       C : vector_bool_int) return vector_float
4677    is
4678    begin
4679       return To_LL_VF (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4680    end vec_sel;
4681 
4682    function vec_sel
4683      (A : vector_float;
4684       B : vector_float;
4685       C : vector_unsigned_int) return vector_float
4686    is
4687    begin
4688       return To_LL_VF (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4689    end vec_sel;
4690 
4691    function vec_sel
4692      (A : vector_signed_int;
4693       B : vector_signed_int;
4694       C : vector_bool_int) return vector_signed_int
4695    is
4696    begin
4697       return
4698         To_LL_VSI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4699    end vec_sel;
4700 
4701    function vec_sel
4702      (A : vector_signed_int;
4703       B : vector_signed_int;
4704       C : vector_unsigned_int) return vector_signed_int
4705    is
4706    begin
4707       return
4708         To_LL_VSI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4709    end vec_sel;
4710 
4711    function vec_sel
4712      (A : vector_unsigned_int;
4713       B : vector_unsigned_int;
4714       C : vector_bool_int) return vector_unsigned_int
4715    is
4716    begin
4717       return
4718         To_LL_VUI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4719    end vec_sel;
4720 
4721    function vec_sel
4722      (A : vector_unsigned_int;
4723       B : vector_unsigned_int;
4724       C : vector_unsigned_int) return vector_unsigned_int
4725    is
4726    begin
4727       return
4728         To_LL_VUI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4729    end vec_sel;
4730 
4731    function vec_sel
4732      (A : vector_bool_int;
4733       B : vector_bool_int;
4734       C : vector_bool_int) return vector_bool_int
4735    is
4736    begin
4737       return
4738         To_LL_VBI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4739    end vec_sel;
4740 
4741    function vec_sel
4742      (A : vector_bool_int;
4743       B : vector_bool_int;
4744       C : vector_unsigned_int) return vector_bool_int
4745    is
4746    begin
4747       return
4748         To_LL_VBI (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4749    end vec_sel;
4750 
4751    function vec_sel
4752      (A : vector_signed_short;
4753       B : vector_signed_short;
4754       C : vector_bool_short) return vector_signed_short
4755    is
4756    begin
4757       return
4758         To_LL_VSS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4759    end vec_sel;
4760 
4761    function vec_sel
4762      (A : vector_signed_short;
4763       B : vector_signed_short;
4764       C : vector_unsigned_short) return vector_signed_short
4765    is
4766    begin
4767       return
4768         To_LL_VSS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4769    end vec_sel;
4770 
4771    function vec_sel
4772      (A : vector_unsigned_short;
4773       B : vector_unsigned_short;
4774       C : vector_bool_short) return vector_unsigned_short
4775    is
4776    begin
4777       return
4778         To_LL_VUS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4779    end vec_sel;
4780 
4781    function vec_sel
4782      (A : vector_unsigned_short;
4783       B : vector_unsigned_short;
4784       C : vector_unsigned_short) return vector_unsigned_short
4785    is
4786    begin
4787       return
4788         To_LL_VUS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4789    end vec_sel;
4790 
4791    function vec_sel
4792      (A : vector_bool_short;
4793       B : vector_bool_short;
4794       C : vector_bool_short) return vector_bool_short
4795    is
4796    begin
4797       return
4798         To_LL_VBS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4799    end vec_sel;
4800 
4801    function vec_sel
4802      (A : vector_bool_short;
4803       B : vector_bool_short;
4804       C : vector_unsigned_short) return vector_bool_short
4805    is
4806    begin
4807       return
4808         To_LL_VBS (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4809    end vec_sel;
4810 
4811    function vec_sel
4812      (A : vector_signed_char;
4813       B : vector_signed_char;
4814       C : vector_bool_char) return vector_signed_char
4815    is
4816    begin
4817       return
4818         To_LL_VSC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4819    end vec_sel;
4820 
4821    function vec_sel
4822      (A : vector_signed_char;
4823       B : vector_signed_char;
4824       C : vector_unsigned_char) return vector_signed_char
4825    is
4826    begin
4827       return
4828         To_LL_VSC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4829    end vec_sel;
4830 
4831    function vec_sel
4832      (A : vector_unsigned_char;
4833       B : vector_unsigned_char;
4834       C : vector_bool_char) return vector_unsigned_char
4835    is
4836    begin
4837       return
4838         To_LL_VUC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4839    end vec_sel;
4840 
4841    function vec_sel
4842      (A : vector_unsigned_char;
4843       B : vector_unsigned_char;
4844       C : vector_unsigned_char) return vector_unsigned_char
4845    is
4846    begin
4847       return
4848         To_LL_VUC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4849    end vec_sel;
4850 
4851    function vec_sel
4852      (A : vector_bool_char;
4853       B : vector_bool_char;
4854       C : vector_bool_char) return vector_bool_char
4855    is
4856    begin
4857       return
4858         To_LL_VBC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4859    end vec_sel;
4860 
4861    function vec_sel
4862      (A : vector_bool_char;
4863       B : vector_bool_char;
4864       C : vector_unsigned_char) return vector_bool_char
4865    is
4866    begin
4867       return
4868         To_LL_VBC (vsel_4si (To_LL_VSI (A), To_LL_VSI (B), To_LL_VSI (C)));
4869    end vec_sel;
4870 
4871    ------------
4872    -- vec_sl --
4873    ------------
4874 
4875    function vec_sl
4876      (A : vector_signed_char;
4877       B : vector_unsigned_char) return vector_signed_char
4878    is
4879    begin
4880       return To_LL_VSC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
4881    end vec_sl;
4882 
4883    function vec_sl
4884      (A : vector_unsigned_char;
4885       B : vector_unsigned_char) return vector_unsigned_char
4886    is
4887    begin
4888       return To_LL_VUC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
4889    end vec_sl;
4890 
4891    function vec_sl
4892      (A : vector_signed_short;
4893       B : vector_unsigned_short) return vector_signed_short
4894    is
4895    begin
4896       return To_LL_VSS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
4897    end vec_sl;
4898 
4899    function vec_sl
4900      (A : vector_unsigned_short;
4901       B : vector_unsigned_short) return vector_unsigned_short
4902    is
4903    begin
4904       return To_LL_VUS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
4905    end vec_sl;
4906 
4907    function vec_sl
4908      (A : vector_signed_int;
4909       B : vector_unsigned_int) return vector_signed_int
4910    is
4911    begin
4912       return To_LL_VSI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
4913    end vec_sl;
4914 
4915    function vec_sl
4916      (A : vector_unsigned_int;
4917       B : vector_unsigned_int) return vector_unsigned_int
4918    is
4919    begin
4920       return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
4921    end vec_sl;
4922 
4923    --------------
4924    -- vec_vslw --
4925    --------------
4926 
4927    function vec_vslw
4928      (A : vector_signed_int;
4929       B : vector_unsigned_int) return vector_signed_int
4930    is
4931    begin
4932       return To_LL_VSI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
4933    end vec_vslw;
4934 
4935    function vec_vslw
4936      (A : vector_unsigned_int;
4937       B : vector_unsigned_int) return vector_unsigned_int
4938    is
4939    begin
4940       return To_LL_VUI (vslw (To_LL_VSI (A), To_LL_VSI (B)));
4941    end vec_vslw;
4942 
4943    --------------
4944    -- vec_vslh --
4945    --------------
4946 
4947    function vec_vslh
4948      (A : vector_signed_short;
4949       B : vector_unsigned_short) return vector_signed_short
4950    is
4951    begin
4952       return To_LL_VSS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
4953    end vec_vslh;
4954 
4955    function vec_vslh
4956      (A : vector_unsigned_short;
4957       B : vector_unsigned_short) return vector_unsigned_short
4958    is
4959    begin
4960       return To_LL_VUS (vslh (To_LL_VSS (A), To_LL_VSS (B)));
4961    end vec_vslh;
4962 
4963    --------------
4964    -- vec_vslb --
4965    --------------
4966 
4967    function vec_vslb
4968      (A : vector_signed_char;
4969       B : vector_unsigned_char) return vector_signed_char
4970    is
4971    begin
4972       return To_LL_VSC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
4973    end vec_vslb;
4974 
4975    function vec_vslb
4976      (A : vector_unsigned_char;
4977       B : vector_unsigned_char) return vector_unsigned_char
4978    is
4979    begin
4980       return To_LL_VUC (vslb (To_LL_VSC (A), To_LL_VSC (B)));
4981    end vec_vslb;
4982 
4983    -------------
4984    -- vec_sll --
4985    -------------
4986 
4987    function vec_sll
4988      (A : vector_signed_int;
4989       B : vector_unsigned_int) return vector_signed_int
4990    is
4991    begin
4992       return To_LL_VSI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
4993    end vec_sll;
4994 
4995    function vec_sll
4996      (A : vector_signed_int;
4997       B : vector_unsigned_short) return vector_signed_int
4998    is
4999    begin
5000       return To_LL_VSI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5001    end vec_sll;
5002 
5003    function vec_sll
5004      (A : vector_signed_int;
5005       B : vector_unsigned_char) return vector_signed_int
5006    is
5007    begin
5008       return To_LL_VSI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5009    end vec_sll;
5010 
5011    function vec_sll
5012      (A : vector_unsigned_int;
5013       B : vector_unsigned_int) return vector_unsigned_int
5014    is
5015    begin
5016       return To_LL_VUI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5017    end vec_sll;
5018 
5019    function vec_sll
5020      (A : vector_unsigned_int;
5021       B : vector_unsigned_short) return vector_unsigned_int
5022    is
5023    begin
5024       return To_LL_VUI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5025    end vec_sll;
5026 
5027    function vec_sll
5028      (A : vector_unsigned_int;
5029       B : vector_unsigned_char) return vector_unsigned_int
5030    is
5031    begin
5032       return To_LL_VUI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5033    end vec_sll;
5034 
5035    function vec_sll
5036      (A : vector_bool_int;
5037       B : vector_unsigned_int) return vector_bool_int
5038    is
5039    begin
5040       return To_LL_VBI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5041    end vec_sll;
5042 
5043    function vec_sll
5044      (A : vector_bool_int;
5045       B : vector_unsigned_short) return vector_bool_int
5046    is
5047    begin
5048       return To_LL_VBI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5049    end vec_sll;
5050 
5051    function vec_sll
5052      (A : vector_bool_int;
5053       B : vector_unsigned_char) return vector_bool_int
5054    is
5055    begin
5056       return To_LL_VBI (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5057    end vec_sll;
5058 
5059    function vec_sll
5060      (A : vector_signed_short;
5061       B : vector_unsigned_int) return vector_signed_short
5062    is
5063    begin
5064       return To_LL_VSS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5065    end vec_sll;
5066 
5067    function vec_sll
5068      (A : vector_signed_short;
5069       B : vector_unsigned_short) return vector_signed_short
5070    is
5071    begin
5072       return To_LL_VSS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5073    end vec_sll;
5074 
5075    function vec_sll
5076      (A : vector_signed_short;
5077       B : vector_unsigned_char) return vector_signed_short
5078    is
5079    begin
5080       return To_LL_VSS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5081    end vec_sll;
5082 
5083    function vec_sll
5084      (A : vector_unsigned_short;
5085       B : vector_unsigned_int) return vector_unsigned_short
5086    is
5087    begin
5088       return To_LL_VUS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5089    end vec_sll;
5090 
5091    function vec_sll
5092      (A : vector_unsigned_short;
5093       B : vector_unsigned_short) return vector_unsigned_short
5094    is
5095    begin
5096       return To_LL_VUS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5097    end vec_sll;
5098 
5099    function vec_sll
5100      (A : vector_unsigned_short;
5101       B : vector_unsigned_char) return vector_unsigned_short
5102    is
5103    begin
5104       return To_LL_VUS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5105    end vec_sll;
5106 
5107    function vec_sll
5108      (A : vector_bool_short;
5109       B : vector_unsigned_int) return vector_bool_short
5110    is
5111    begin
5112       return To_LL_VBS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5113    end vec_sll;
5114 
5115    function vec_sll
5116      (A : vector_bool_short;
5117       B : vector_unsigned_short) return vector_bool_short
5118    is
5119    begin
5120       return To_LL_VBS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5121    end vec_sll;
5122 
5123    function vec_sll
5124      (A : vector_bool_short;
5125       B : vector_unsigned_char) return vector_bool_short
5126    is
5127    begin
5128       return To_LL_VBS (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5129    end vec_sll;
5130 
5131    function vec_sll
5132      (A : vector_pixel;
5133       B : vector_unsigned_int) return vector_pixel
5134    is
5135    begin
5136       return To_LL_VP (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5137    end vec_sll;
5138 
5139    function vec_sll
5140      (A : vector_pixel;
5141       B : vector_unsigned_short) return vector_pixel
5142    is
5143    begin
5144       return To_LL_VP (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5145    end vec_sll;
5146 
5147    function vec_sll
5148      (A : vector_pixel;
5149       B : vector_unsigned_char) return vector_pixel
5150    is
5151    begin
5152       return To_LL_VP (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5153    end vec_sll;
5154 
5155    function vec_sll
5156      (A : vector_signed_char;
5157       B : vector_unsigned_int) return vector_signed_char
5158    is
5159    begin
5160       return To_LL_VSC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5161    end vec_sll;
5162 
5163    function vec_sll
5164      (A : vector_signed_char;
5165       B : vector_unsigned_short) return vector_signed_char
5166    is
5167    begin
5168       return To_LL_VSC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5169    end vec_sll;
5170 
5171    function vec_sll
5172      (A : vector_signed_char;
5173       B : vector_unsigned_char) return vector_signed_char
5174    is
5175    begin
5176       return To_LL_VSC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5177    end vec_sll;
5178 
5179    function vec_sll
5180      (A : vector_unsigned_char;
5181       B : vector_unsigned_int) return vector_unsigned_char
5182    is
5183    begin
5184       return To_LL_VUC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5185    end vec_sll;
5186 
5187    function vec_sll
5188      (A : vector_unsigned_char;
5189       B : vector_unsigned_short) return vector_unsigned_char
5190    is
5191    begin
5192       return To_LL_VUC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5193    end vec_sll;
5194 
5195    function vec_sll
5196      (A : vector_unsigned_char;
5197       B : vector_unsigned_char) return vector_unsigned_char
5198    is
5199    begin
5200       return To_LL_VUC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5201    end vec_sll;
5202 
5203    function vec_sll
5204      (A : vector_bool_char;
5205       B : vector_unsigned_int) return vector_bool_char
5206    is
5207    begin
5208       return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5209    end vec_sll;
5210 
5211    function vec_sll
5212      (A : vector_bool_char;
5213       B : vector_unsigned_short) return vector_bool_char
5214    is
5215    begin
5216       return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5217    end vec_sll;
5218 
5219    function vec_sll
5220      (A : vector_bool_char;
5221       B : vector_unsigned_char) return vector_bool_char
5222    is
5223    begin
5224       return To_LL_VBC (vsl (To_LL_VSI (A), To_LL_VSI (B)));
5225    end vec_sll;
5226 
5227    -------------
5228    -- vec_slo --
5229    -------------
5230 
5231    function vec_slo
5232      (A : vector_float;
5233       B : vector_signed_char) return vector_float
5234    is
5235    begin
5236       return To_LL_VF (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5237    end vec_slo;
5238 
5239    function vec_slo
5240      (A : vector_float;
5241       B : vector_unsigned_char) return vector_float
5242    is
5243    begin
5244       return To_LL_VF (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5245    end vec_slo;
5246 
5247    function vec_slo
5248      (A : vector_signed_int;
5249       B : vector_signed_char) return vector_signed_int
5250    is
5251    begin
5252       return To_LL_VSI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5253    end vec_slo;
5254 
5255    function vec_slo
5256      (A : vector_signed_int;
5257       B : vector_unsigned_char) return vector_signed_int
5258    is
5259    begin
5260       return To_LL_VSI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5261    end vec_slo;
5262 
5263    function vec_slo
5264      (A : vector_unsigned_int;
5265       B : vector_signed_char) return vector_unsigned_int
5266    is
5267    begin
5268       return To_LL_VUI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5269    end vec_slo;
5270 
5271    function vec_slo
5272      (A : vector_unsigned_int;
5273       B : vector_unsigned_char) return vector_unsigned_int
5274    is
5275    begin
5276       return To_LL_VUI (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5277    end vec_slo;
5278 
5279    function vec_slo
5280      (A : vector_signed_short;
5281       B : vector_signed_char) return vector_signed_short
5282    is
5283    begin
5284       return To_LL_VSS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5285    end vec_slo;
5286 
5287    function vec_slo
5288      (A : vector_signed_short;
5289       B : vector_unsigned_char) return vector_signed_short
5290    is
5291    begin
5292       return To_LL_VSS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5293    end vec_slo;
5294 
5295    function vec_slo
5296      (A : vector_unsigned_short;
5297       B : vector_signed_char) return vector_unsigned_short
5298    is
5299    begin
5300       return To_LL_VUS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5301    end vec_slo;
5302 
5303    function vec_slo
5304      (A : vector_unsigned_short;
5305       B : vector_unsigned_char) return vector_unsigned_short
5306    is
5307    begin
5308       return To_LL_VUS (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5309    end vec_slo;
5310 
5311    function vec_slo
5312      (A : vector_pixel;
5313       B : vector_signed_char) return vector_pixel
5314    is
5315    begin
5316       return To_LL_VP (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5317    end vec_slo;
5318 
5319    function vec_slo
5320      (A : vector_pixel;
5321       B : vector_unsigned_char) return vector_pixel
5322    is
5323    begin
5324       return To_LL_VP (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5325    end vec_slo;
5326 
5327    function vec_slo
5328      (A : vector_signed_char;
5329       B : vector_signed_char) return vector_signed_char
5330    is
5331    begin
5332       return To_LL_VSC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5333    end vec_slo;
5334 
5335    function vec_slo
5336      (A : vector_signed_char;
5337       B : vector_unsigned_char) return vector_signed_char
5338    is
5339    begin
5340       return To_LL_VSC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5341    end vec_slo;
5342 
5343    function vec_slo
5344      (A : vector_unsigned_char;
5345       B : vector_signed_char) return vector_unsigned_char
5346    is
5347    begin
5348       return To_LL_VUC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5349    end vec_slo;
5350 
5351    function vec_slo
5352      (A : vector_unsigned_char;
5353       B : vector_unsigned_char) return vector_unsigned_char
5354    is
5355    begin
5356       return To_LL_VUC (vslo (To_LL_VSI (A), To_LL_VSI (B)));
5357    end vec_slo;
5358 
5359    ------------
5360    -- vec_sr --
5361    ------------
5362 
5363    function vec_sr
5364      (A : vector_signed_char;
5365       B : vector_unsigned_char) return vector_signed_char
5366    is
5367    begin
5368       return To_LL_VSC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
5369    end vec_sr;
5370 
5371    function vec_sr
5372      (A : vector_unsigned_char;
5373       B : vector_unsigned_char) return vector_unsigned_char
5374    is
5375    begin
5376       return To_LL_VUC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
5377    end vec_sr;
5378 
5379    function vec_sr
5380      (A : vector_signed_short;
5381       B : vector_unsigned_short) return vector_signed_short
5382    is
5383    begin
5384       return To_LL_VSS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
5385    end vec_sr;
5386 
5387    function vec_sr
5388      (A : vector_unsigned_short;
5389       B : vector_unsigned_short) return vector_unsigned_short
5390    is
5391    begin
5392       return To_LL_VUS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
5393    end vec_sr;
5394 
5395    function vec_sr
5396      (A : vector_signed_int;
5397       B : vector_unsigned_int) return vector_signed_int
5398    is
5399    begin
5400       return To_LL_VSI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
5401    end vec_sr;
5402 
5403    function vec_sr
5404      (A : vector_unsigned_int;
5405       B : vector_unsigned_int) return vector_unsigned_int
5406    is
5407    begin
5408       return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
5409    end vec_sr;
5410 
5411    --------------
5412    -- vec_vsrw --
5413    --------------
5414 
5415    function vec_vsrw
5416      (A : vector_signed_int;
5417       B : vector_unsigned_int) return vector_signed_int
5418    is
5419    begin
5420       return To_LL_VSI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
5421    end vec_vsrw;
5422 
5423    function vec_vsrw
5424      (A : vector_unsigned_int;
5425       B : vector_unsigned_int) return vector_unsigned_int
5426    is
5427    begin
5428       return To_LL_VUI (vsrw (To_LL_VSI (A), To_LL_VSI (B)));
5429    end vec_vsrw;
5430 
5431    --------------
5432    -- vec_vsrh --
5433    --------------
5434 
5435    function vec_vsrh
5436      (A : vector_signed_short;
5437       B : vector_unsigned_short) return vector_signed_short
5438    is
5439    begin
5440       return To_LL_VSS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
5441    end vec_vsrh;
5442 
5443    function vec_vsrh
5444      (A : vector_unsigned_short;
5445       B : vector_unsigned_short) return vector_unsigned_short
5446    is
5447    begin
5448       return To_LL_VUS (vsrh (To_LL_VSS (A), To_LL_VSS (B)));
5449    end vec_vsrh;
5450 
5451    --------------
5452    -- vec_vsrb --
5453    --------------
5454 
5455    function vec_vsrb
5456      (A : vector_signed_char;
5457       B : vector_unsigned_char) return vector_signed_char
5458    is
5459    begin
5460       return To_LL_VSC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
5461    end vec_vsrb;
5462 
5463    function vec_vsrb
5464      (A : vector_unsigned_char;
5465       B : vector_unsigned_char) return vector_unsigned_char
5466    is
5467    begin
5468       return To_LL_VUC (vsrb (To_LL_VSC (A), To_LL_VSC (B)));
5469    end vec_vsrb;
5470 
5471    -------------
5472    -- vec_sra --
5473    -------------
5474 
5475    function vec_sra
5476      (A : vector_signed_char;
5477       B : vector_unsigned_char) return vector_signed_char
5478    is
5479    begin
5480       return To_LL_VSC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
5481    end vec_sra;
5482 
5483    function vec_sra
5484      (A : vector_unsigned_char;
5485       B : vector_unsigned_char) return vector_unsigned_char
5486    is
5487    begin
5488       return To_LL_VUC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
5489    end vec_sra;
5490 
5491    function vec_sra
5492      (A : vector_signed_short;
5493       B : vector_unsigned_short) return vector_signed_short
5494    is
5495    begin
5496       return To_LL_VSS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
5497    end vec_sra;
5498 
5499    function vec_sra
5500      (A : vector_unsigned_short;
5501       B : vector_unsigned_short) return vector_unsigned_short
5502    is
5503    begin
5504       return To_LL_VUS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
5505    end vec_sra;
5506 
5507    function vec_sra
5508      (A : vector_signed_int;
5509       B : vector_unsigned_int) return vector_signed_int
5510    is
5511    begin
5512       return To_LL_VSI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
5513    end vec_sra;
5514 
5515    function vec_sra
5516      (A : vector_unsigned_int;
5517       B : vector_unsigned_int) return vector_unsigned_int
5518    is
5519    begin
5520       return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
5521    end vec_sra;
5522 
5523    ---------------
5524    -- vec_vsraw --
5525    ---------------
5526 
5527    function vec_vsraw
5528      (A : vector_signed_int;
5529       B : vector_unsigned_int) return vector_signed_int
5530    is
5531    begin
5532       return To_LL_VSI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
5533    end vec_vsraw;
5534 
5535    function vec_vsraw
5536      (A : vector_unsigned_int;
5537       B : vector_unsigned_int) return vector_unsigned_int
5538    is
5539    begin
5540       return To_LL_VUI (vsraw (To_LL_VSI (A), To_LL_VSI (B)));
5541    end vec_vsraw;
5542 
5543    ---------------
5544    -- vec_vsrah --
5545    ---------------
5546 
5547    function vec_vsrah
5548      (A : vector_signed_short;
5549       B : vector_unsigned_short) return vector_signed_short
5550    is
5551    begin
5552       return To_LL_VSS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
5553    end vec_vsrah;
5554 
5555    function vec_vsrah
5556      (A : vector_unsigned_short;
5557       B : vector_unsigned_short) return vector_unsigned_short
5558    is
5559    begin
5560       return To_LL_VUS (vsrah (To_LL_VSS (A), To_LL_VSS (B)));
5561    end vec_vsrah;
5562 
5563    ---------------
5564    -- vec_vsrab --
5565    ---------------
5566 
5567    function vec_vsrab
5568      (A : vector_signed_char;
5569       B : vector_unsigned_char) return vector_signed_char
5570    is
5571    begin
5572       return To_LL_VSC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
5573    end vec_vsrab;
5574 
5575    function vec_vsrab
5576      (A : vector_unsigned_char;
5577       B : vector_unsigned_char) return vector_unsigned_char
5578    is
5579    begin
5580       return To_LL_VUC (vsrab (To_LL_VSC (A), To_LL_VSC (B)));
5581    end vec_vsrab;
5582 
5583    -------------
5584    -- vec_srl --
5585    -------------
5586 
5587    function vec_srl
5588      (A : vector_signed_int;
5589       B : vector_unsigned_int) return vector_signed_int
5590    is
5591    begin
5592       return To_LL_VSI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5593    end vec_srl;
5594 
5595    function vec_srl
5596      (A : vector_signed_int;
5597       B : vector_unsigned_short) return vector_signed_int
5598    is
5599    begin
5600       return To_LL_VSI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5601    end vec_srl;
5602 
5603    function vec_srl
5604      (A : vector_signed_int;
5605       B : vector_unsigned_char) return vector_signed_int
5606    is
5607    begin
5608       return To_LL_VSI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5609    end vec_srl;
5610 
5611    function vec_srl
5612      (A : vector_unsigned_int;
5613       B : vector_unsigned_int) return vector_unsigned_int
5614    is
5615    begin
5616       return To_LL_VUI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5617    end vec_srl;
5618 
5619    function vec_srl
5620      (A : vector_unsigned_int;
5621       B : vector_unsigned_short) return vector_unsigned_int
5622    is
5623    begin
5624       return To_LL_VUI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5625    end vec_srl;
5626 
5627    function vec_srl
5628      (A : vector_unsigned_int;
5629       B : vector_unsigned_char) return vector_unsigned_int
5630    is
5631    begin
5632       return To_LL_VUI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5633    end vec_srl;
5634 
5635    function vec_srl
5636      (A : vector_bool_int;
5637       B : vector_unsigned_int) return vector_bool_int
5638    is
5639    begin
5640       return To_LL_VBI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5641    end vec_srl;
5642 
5643    function vec_srl
5644      (A : vector_bool_int;
5645       B : vector_unsigned_short) return vector_bool_int
5646    is
5647    begin
5648       return To_LL_VBI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5649    end vec_srl;
5650 
5651    function vec_srl
5652      (A : vector_bool_int;
5653       B : vector_unsigned_char) return vector_bool_int
5654    is
5655    begin
5656       return To_LL_VBI (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5657    end vec_srl;
5658 
5659    function vec_srl
5660      (A : vector_signed_short;
5661       B : vector_unsigned_int) return vector_signed_short
5662    is
5663    begin
5664       return To_LL_VSS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5665    end vec_srl;
5666 
5667    function vec_srl
5668      (A : vector_signed_short;
5669       B : vector_unsigned_short) return vector_signed_short
5670    is
5671    begin
5672       return To_LL_VSS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5673    end vec_srl;
5674 
5675    function vec_srl
5676      (A : vector_signed_short;
5677       B : vector_unsigned_char) return vector_signed_short
5678    is
5679    begin
5680       return To_LL_VSS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5681    end vec_srl;
5682 
5683    function vec_srl
5684      (A : vector_unsigned_short;
5685       B : vector_unsigned_int) return vector_unsigned_short
5686    is
5687    begin
5688       return To_LL_VUS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5689    end vec_srl;
5690 
5691    function vec_srl
5692      (A : vector_unsigned_short;
5693       B : vector_unsigned_short) return vector_unsigned_short
5694    is
5695    begin
5696       return To_LL_VUS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5697    end vec_srl;
5698 
5699    function vec_srl
5700      (A : vector_unsigned_short;
5701       B : vector_unsigned_char) return vector_unsigned_short
5702    is
5703    begin
5704       return To_LL_VUS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5705    end vec_srl;
5706 
5707    function vec_srl
5708      (A : vector_bool_short;
5709       B : vector_unsigned_int) return vector_bool_short
5710    is
5711    begin
5712       return To_LL_VBS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5713    end vec_srl;
5714 
5715    function vec_srl
5716      (A : vector_bool_short;
5717       B : vector_unsigned_short) return vector_bool_short
5718    is
5719    begin
5720       return To_LL_VBS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5721    end vec_srl;
5722 
5723    function vec_srl
5724      (A : vector_bool_short;
5725       B : vector_unsigned_char) return vector_bool_short
5726    is
5727    begin
5728       return To_LL_VBS (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5729    end vec_srl;
5730 
5731    function vec_srl
5732      (A : vector_pixel;
5733       B : vector_unsigned_int) return vector_pixel
5734    is
5735    begin
5736       return To_LL_VP (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5737    end vec_srl;
5738 
5739    function vec_srl
5740      (A : vector_pixel;
5741       B : vector_unsigned_short) return vector_pixel
5742    is
5743    begin
5744       return To_LL_VP (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5745    end vec_srl;
5746 
5747    function vec_srl
5748      (A : vector_pixel;
5749       B : vector_unsigned_char) return vector_pixel
5750    is
5751    begin
5752       return To_LL_VP (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5753    end vec_srl;
5754 
5755    function vec_srl
5756      (A : vector_signed_char;
5757       B : vector_unsigned_int) return vector_signed_char
5758    is
5759    begin
5760       return To_LL_VSC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5761    end vec_srl;
5762 
5763    function vec_srl
5764      (A : vector_signed_char;
5765       B : vector_unsigned_short) return vector_signed_char
5766    is
5767    begin
5768       return To_LL_VSC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5769    end vec_srl;
5770 
5771    function vec_srl
5772      (A : vector_signed_char;
5773       B : vector_unsigned_char) return vector_signed_char
5774    is
5775    begin
5776       return To_LL_VSC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5777    end vec_srl;
5778 
5779    function vec_srl
5780      (A : vector_unsigned_char;
5781       B : vector_unsigned_int) return vector_unsigned_char
5782    is
5783    begin
5784       return To_LL_VUC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5785    end vec_srl;
5786 
5787    function vec_srl
5788      (A : vector_unsigned_char;
5789       B : vector_unsigned_short) return vector_unsigned_char
5790    is
5791    begin
5792       return To_LL_VUC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5793    end vec_srl;
5794 
5795    function vec_srl
5796      (A : vector_unsigned_char;
5797       B : vector_unsigned_char) return vector_unsigned_char
5798    is
5799    begin
5800       return To_LL_VUC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5801    end vec_srl;
5802 
5803    function vec_srl
5804      (A : vector_bool_char;
5805       B : vector_unsigned_int) return vector_bool_char
5806    is
5807    begin
5808       return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5809    end vec_srl;
5810 
5811    function vec_srl
5812      (A : vector_bool_char;
5813       B : vector_unsigned_short) return vector_bool_char
5814    is
5815    begin
5816       return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5817    end vec_srl;
5818 
5819    function vec_srl
5820      (A : vector_bool_char;
5821       B : vector_unsigned_char) return vector_bool_char
5822    is
5823    begin
5824       return To_LL_VBC (vsr (To_LL_VSI (A), To_LL_VSI (B)));
5825    end vec_srl;
5826 
5827    -------------
5828    -- vec_sro --
5829    -------------
5830 
5831    function vec_sro
5832      (A : vector_float;
5833       B : vector_signed_char) return vector_float
5834    is
5835    begin
5836       return To_LL_VF (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5837    end vec_sro;
5838 
5839    function vec_sro
5840      (A : vector_float;
5841       B : vector_unsigned_char) return vector_float
5842    is
5843    begin
5844       return To_LL_VF (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5845    end vec_sro;
5846 
5847    function vec_sro
5848      (A : vector_signed_int;
5849       B : vector_signed_char) return vector_signed_int
5850    is
5851    begin
5852       return To_LL_VSI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5853    end vec_sro;
5854 
5855    function vec_sro
5856      (A : vector_signed_int;
5857       B : vector_unsigned_char) return vector_signed_int
5858    is
5859    begin
5860       return To_LL_VSI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5861    end vec_sro;
5862 
5863    function vec_sro
5864      (A : vector_unsigned_int;
5865       B : vector_signed_char) return vector_unsigned_int
5866    is
5867    begin
5868       return To_LL_VUI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5869    end vec_sro;
5870 
5871    function vec_sro
5872      (A : vector_unsigned_int;
5873       B : vector_unsigned_char) return vector_unsigned_int
5874    is
5875    begin
5876       return To_LL_VUI (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5877    end vec_sro;
5878 
5879    function vec_sro
5880      (A : vector_signed_short;
5881       B : vector_signed_char) return vector_signed_short
5882    is
5883    begin
5884       return To_LL_VSS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5885    end vec_sro;
5886 
5887    function vec_sro
5888      (A : vector_signed_short;
5889       B : vector_unsigned_char) return vector_signed_short
5890    is
5891    begin
5892       return To_LL_VSS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5893    end vec_sro;
5894 
5895    function vec_sro
5896      (A : vector_unsigned_short;
5897       B : vector_signed_char) return vector_unsigned_short
5898    is
5899    begin
5900       return To_LL_VUS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5901    end vec_sro;
5902 
5903    function vec_sro
5904      (A : vector_unsigned_short;
5905       B : vector_unsigned_char) return vector_unsigned_short
5906    is
5907    begin
5908       return To_LL_VUS (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5909    end vec_sro;
5910 
5911    function vec_sro
5912      (A : vector_pixel;
5913       B : vector_signed_char) return vector_pixel
5914    is
5915    begin
5916       return To_LL_VP (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5917    end vec_sro;
5918 
5919    function vec_sro
5920      (A : vector_pixel;
5921       B : vector_unsigned_char) return vector_pixel
5922    is
5923    begin
5924       return To_LL_VP (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5925    end vec_sro;
5926 
5927    function vec_sro
5928      (A : vector_signed_char;
5929       B : vector_signed_char) return vector_signed_char
5930    is
5931    begin
5932       return To_LL_VSC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5933    end vec_sro;
5934 
5935    function vec_sro
5936      (A : vector_signed_char;
5937       B : vector_unsigned_char) return vector_signed_char
5938    is
5939    begin
5940       return To_LL_VSC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5941    end vec_sro;
5942 
5943    function vec_sro
5944      (A : vector_unsigned_char;
5945       B : vector_signed_char) return vector_unsigned_char
5946    is
5947    begin
5948       return To_LL_VUC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5949    end vec_sro;
5950 
5951    function vec_sro
5952      (A : vector_unsigned_char;
5953       B : vector_unsigned_char) return vector_unsigned_char
5954    is
5955    begin
5956       return To_LL_VUC (vsro (To_LL_VSI (A), To_LL_VSI (B)));
5957    end vec_sro;
5958 
5959    ------------
5960    -- vec_st --
5961    ------------
5962 
5963    procedure vec_st
5964      (A : vector_float;
5965       B : c_int;
5966       C : vector_float_ptr)
5967    is
5968    begin
5969       stvx (To_LL_VSI (A), B, To_PTR (C));
5970    end vec_st;
5971 
5972    procedure vec_st
5973      (A : vector_float;
5974       B : c_int;
5975       C : float_ptr)
5976    is
5977    begin
5978       stvx (To_LL_VSI (A), B, To_PTR (C));
5979    end vec_st;
5980 
5981    procedure vec_st
5982      (A : vector_signed_int;
5983       B : c_int;
5984       C : vector_signed_int_ptr)
5985    is
5986    begin
5987       stvx (To_LL_VSI (A), B, To_PTR (C));
5988    end vec_st;
5989 
5990    procedure vec_st
5991      (A : vector_signed_int;
5992       B : c_int;
5993       C : int_ptr)
5994    is
5995    begin
5996       stvx (To_LL_VSI (A), B, To_PTR (C));
5997    end vec_st;
5998 
5999    procedure vec_st
6000      (A : vector_unsigned_int;
6001       B : c_int;
6002       C : vector_unsigned_int_ptr)
6003    is
6004    begin
6005       stvx (To_LL_VSI (A), B, To_PTR (C));
6006    end vec_st;
6007 
6008    procedure vec_st
6009      (A : vector_unsigned_int;
6010       B : c_int;
6011       C : unsigned_int_ptr)
6012    is
6013    begin
6014       stvx (To_LL_VSI (A), B, To_PTR (C));
6015    end vec_st;
6016 
6017    procedure vec_st
6018      (A : vector_bool_int;
6019       B : c_int;
6020       C : vector_bool_int_ptr)
6021    is
6022    begin
6023       stvx (To_LL_VSI (A), B, To_PTR (C));
6024    end vec_st;
6025 
6026    procedure vec_st
6027      (A : vector_bool_int;
6028       B : c_int;
6029       C : unsigned_int_ptr)
6030    is
6031    begin
6032       stvx (To_LL_VSI (A), B, To_PTR (C));
6033    end vec_st;
6034 
6035    procedure vec_st
6036      (A : vector_bool_int;
6037       B : c_int;
6038       C : int_ptr)
6039    is
6040    begin
6041       stvx (To_LL_VSI (A), B, To_PTR (C));
6042    end vec_st;
6043 
6044    procedure vec_st
6045      (A : vector_signed_short;
6046       B : c_int;
6047       C : vector_signed_short_ptr)
6048    is
6049    begin
6050       stvx (To_LL_VSI (A), B, To_PTR (C));
6051    end vec_st;
6052 
6053    procedure vec_st
6054      (A : vector_signed_short;
6055       B : c_int;
6056       C : short_ptr)
6057    is
6058    begin
6059       stvx (To_LL_VSI (A), B, To_PTR (C));
6060    end vec_st;
6061 
6062    procedure vec_st
6063      (A : vector_unsigned_short;
6064       B : c_int;
6065       C : vector_unsigned_short_ptr)
6066    is
6067    begin
6068       stvx (To_LL_VSI (A), B, To_PTR (C));
6069    end vec_st;
6070 
6071    procedure vec_st
6072      (A : vector_unsigned_short;
6073       B : c_int;
6074       C : unsigned_short_ptr)
6075    is
6076    begin
6077       stvx (To_LL_VSI (A), B, To_PTR (C));
6078    end vec_st;
6079 
6080    procedure vec_st
6081      (A : vector_bool_short;
6082       B : c_int;
6083       C : vector_bool_short_ptr)
6084    is
6085    begin
6086       stvx (To_LL_VSI (A), B, To_PTR (C));
6087    end vec_st;
6088 
6089    procedure vec_st
6090      (A : vector_bool_short;
6091       B : c_int;
6092       C : unsigned_short_ptr)
6093    is
6094    begin
6095       stvx (To_LL_VSI (A), B, To_PTR (C));
6096    end vec_st;
6097 
6098    procedure vec_st
6099      (A : vector_pixel;
6100       B : c_int;
6101       C : vector_pixel_ptr)
6102    is
6103    begin
6104       stvx (To_LL_VSI (A), B, To_PTR (C));
6105    end vec_st;
6106 
6107    procedure vec_st
6108      (A : vector_pixel;
6109       B : c_int;
6110       C : unsigned_short_ptr)
6111    is
6112    begin
6113       stvx (To_LL_VSI (A), B, To_PTR (C));
6114    end vec_st;
6115 
6116    procedure vec_st
6117      (A : vector_pixel;
6118       B : c_int;
6119       C : short_ptr)
6120    is
6121    begin
6122       stvx (To_LL_VSI (A), B, To_PTR (C));
6123    end vec_st;
6124 
6125    procedure vec_st
6126      (A : vector_bool_short;
6127       B : c_int;
6128       C : short_ptr)
6129    is
6130    begin
6131       stvx (To_LL_VSI (A), B, To_PTR (C));
6132    end vec_st;
6133 
6134    procedure vec_st
6135      (A : vector_signed_char;
6136       B : c_int;
6137       C : vector_signed_char_ptr)
6138    is
6139    begin
6140       stvx (To_LL_VSI (A), B, To_PTR (C));
6141    end vec_st;
6142 
6143    procedure vec_st
6144      (A : vector_signed_char;
6145       B : c_int;
6146       C : signed_char_ptr)
6147    is
6148    begin
6149       stvx (To_LL_VSI (A), B, To_PTR (C));
6150    end vec_st;
6151 
6152    procedure vec_st
6153      (A : vector_unsigned_char;
6154       B : c_int;
6155       C : vector_unsigned_char_ptr)
6156    is
6157    begin
6158       stvx (To_LL_VSI (A), B, To_PTR (C));
6159    end vec_st;
6160 
6161    procedure vec_st
6162      (A : vector_unsigned_char;
6163       B : c_int;
6164       C : unsigned_char_ptr)
6165    is
6166    begin
6167       stvx (To_LL_VSI (A), B, To_PTR (C));
6168    end vec_st;
6169 
6170    procedure vec_st
6171      (A : vector_bool_char;
6172       B : c_int;
6173       C : vector_bool_char_ptr)
6174    is
6175    begin
6176       stvx (To_LL_VSI (A), B, To_PTR (C));
6177    end vec_st;
6178 
6179    procedure vec_st
6180      (A : vector_bool_char;
6181       B : c_int;
6182       C : unsigned_char_ptr)
6183    is
6184    begin
6185       stvx (To_LL_VSI (A), B, To_PTR (C));
6186    end vec_st;
6187 
6188    procedure vec_st
6189      (A : vector_bool_char;
6190       B : c_int;
6191       C : signed_char_ptr)
6192    is
6193    begin
6194       stvx (To_LL_VSI (A), B, To_PTR (C));
6195    end vec_st;
6196 
6197    -------------
6198    -- vec_ste --
6199    -------------
6200 
6201    procedure vec_ste
6202      (A : vector_signed_char;
6203       B : c_int;
6204       C : signed_char_ptr)
6205    is
6206    begin
6207       stvebx (To_LL_VSC (A), B, To_PTR (C));
6208    end vec_ste;
6209 
6210    procedure vec_ste
6211      (A : vector_unsigned_char;
6212       B : c_int;
6213       C : unsigned_char_ptr)
6214    is
6215    begin
6216       stvebx (To_LL_VSC (A), B, To_PTR (C));
6217    end vec_ste;
6218 
6219    procedure vec_ste
6220      (A : vector_bool_char;
6221       B : c_int;
6222       C : signed_char_ptr)
6223    is
6224    begin
6225       stvebx (To_LL_VSC (A), B, To_PTR (C));
6226    end vec_ste;
6227 
6228    procedure vec_ste
6229      (A : vector_bool_char;
6230       B : c_int;
6231       C : unsigned_char_ptr)
6232    is
6233    begin
6234       stvebx (To_LL_VSC (A), B, To_PTR (C));
6235    end vec_ste;
6236 
6237    procedure vec_ste
6238      (A : vector_signed_short;
6239       B : c_int;
6240       C : short_ptr)
6241    is
6242    begin
6243       stvehx (To_LL_VSS (A), B, To_PTR (C));
6244    end vec_ste;
6245 
6246    procedure vec_ste
6247      (A : vector_unsigned_short;
6248       B : c_int;
6249       C : unsigned_short_ptr)
6250    is
6251    begin
6252       stvehx (To_LL_VSS (A), B, To_PTR (C));
6253    end vec_ste;
6254 
6255    procedure vec_ste
6256      (A : vector_bool_short;
6257       B : c_int;
6258       C : short_ptr)
6259    is
6260    begin
6261       stvehx (To_LL_VSS (A), B, To_PTR (C));
6262    end vec_ste;
6263 
6264    procedure vec_ste
6265      (A : vector_bool_short;
6266       B : c_int;
6267       C : unsigned_short_ptr)
6268    is
6269    begin
6270       stvehx (To_LL_VSS (A), B, To_PTR (C));
6271    end vec_ste;
6272 
6273    procedure vec_ste
6274      (A : vector_pixel;
6275       B : c_int;
6276       C : short_ptr)
6277    is
6278    begin
6279       stvehx (To_LL_VSS (A), B, To_PTR (C));
6280    end vec_ste;
6281 
6282    procedure vec_ste
6283      (A : vector_pixel;
6284       B : c_int;
6285       C : unsigned_short_ptr)
6286    is
6287    begin
6288       stvehx (To_LL_VSS (A), B, To_PTR (C));
6289    end vec_ste;
6290 
6291    procedure vec_ste
6292      (A : vector_float;
6293       B : c_int;
6294       C : float_ptr)
6295    is
6296    begin
6297       stvewx (To_LL_VSI (A), B, To_PTR (C));
6298    end vec_ste;
6299 
6300    procedure vec_ste
6301      (A : vector_signed_int;
6302       B : c_int;
6303       C : int_ptr)
6304    is
6305    begin
6306       stvewx (To_LL_VSI (A), B, To_PTR (C));
6307    end vec_ste;
6308 
6309    procedure vec_ste
6310      (A : vector_unsigned_int;
6311       B : c_int;
6312       C : unsigned_int_ptr)
6313    is
6314    begin
6315       stvewx (To_LL_VSI (A), B, To_PTR (C));
6316    end vec_ste;
6317 
6318    procedure vec_ste
6319      (A : vector_bool_int;
6320       B : c_int;
6321       C : int_ptr)
6322    is
6323    begin
6324       stvewx (To_LL_VSI (A), B, To_PTR (C));
6325    end vec_ste;
6326 
6327    procedure vec_ste
6328      (A : vector_bool_int;
6329       B : c_int;
6330       C : unsigned_int_ptr)
6331    is
6332    begin
6333       stvewx (To_LL_VSI (A), B, To_PTR (C));
6334    end vec_ste;
6335 
6336    ----------------
6337    -- vec_stvewx --
6338    ----------------
6339 
6340    procedure vec_stvewx
6341      (A : vector_float;
6342       B : c_int;
6343       C : float_ptr)
6344    is
6345    begin
6346       stvewx (To_LL_VSI (A), B, To_PTR (C));
6347    end vec_stvewx;
6348 
6349    procedure vec_stvewx
6350      (A : vector_signed_int;
6351       B : c_int;
6352       C : int_ptr)
6353    is
6354    begin
6355       stvewx (To_LL_VSI (A), B, To_PTR (C));
6356    end vec_stvewx;
6357 
6358    procedure vec_stvewx
6359      (A : vector_unsigned_int;
6360       B : c_int;
6361       C : unsigned_int_ptr)
6362    is
6363    begin
6364       stvewx (To_LL_VSI (A), B, To_PTR (C));
6365    end vec_stvewx;
6366 
6367    procedure vec_stvewx
6368      (A : vector_bool_int;
6369       B : c_int;
6370       C : int_ptr)
6371    is
6372    begin
6373       stvewx (To_LL_VSI (A), B, To_PTR (C));
6374    end vec_stvewx;
6375 
6376    procedure vec_stvewx
6377      (A : vector_bool_int;
6378       B : c_int;
6379       C : unsigned_int_ptr)
6380    is
6381    begin
6382       stvewx (To_LL_VSI (A), B, To_PTR (C));
6383    end vec_stvewx;
6384 
6385    ----------------
6386    -- vec_stvehx --
6387    ----------------
6388 
6389    procedure vec_stvehx
6390      (A : vector_signed_short;
6391       B : c_int;
6392       C : short_ptr)
6393    is
6394    begin
6395       stvehx (To_LL_VSS (A), B, To_PTR (C));
6396    end vec_stvehx;
6397 
6398    procedure vec_stvehx
6399      (A : vector_unsigned_short;
6400       B : c_int;
6401       C : unsigned_short_ptr)
6402    is
6403    begin
6404       stvehx (To_LL_VSS (A), B, To_PTR (C));
6405    end vec_stvehx;
6406 
6407    procedure vec_stvehx
6408      (A : vector_bool_short;
6409       B : c_int;
6410       C : short_ptr)
6411    is
6412    begin
6413       stvehx (To_LL_VSS (A), B, To_PTR (C));
6414    end vec_stvehx;
6415 
6416    procedure vec_stvehx
6417      (A : vector_bool_short;
6418       B : c_int;
6419       C : unsigned_short_ptr)
6420    is
6421    begin
6422       stvehx (To_LL_VSS (A), B, To_PTR (C));
6423    end vec_stvehx;
6424 
6425    procedure vec_stvehx
6426      (A : vector_pixel;
6427       B : c_int;
6428       C : short_ptr)
6429    is
6430    begin
6431       stvehx (To_LL_VSS (A), B, To_PTR (C));
6432    end vec_stvehx;
6433 
6434    procedure vec_stvehx
6435      (A : vector_pixel;
6436       B : c_int;
6437       C : unsigned_short_ptr)
6438    is
6439    begin
6440       stvehx (To_LL_VSS (A), B, To_PTR (C));
6441    end vec_stvehx;
6442 
6443    ----------------
6444    -- vec_stvebx --
6445    ----------------
6446 
6447    procedure vec_stvebx
6448      (A : vector_signed_char;
6449       B : c_int;
6450       C : signed_char_ptr)
6451    is
6452    begin
6453       stvebx (To_LL_VSC (A), B, To_PTR (C));
6454    end vec_stvebx;
6455 
6456    procedure vec_stvebx
6457      (A : vector_unsigned_char;
6458       B : c_int;
6459       C : unsigned_char_ptr)
6460    is
6461    begin
6462       stvebx (To_LL_VSC (A), B, To_PTR (C));
6463    end vec_stvebx;
6464 
6465    procedure vec_stvebx
6466      (A : vector_bool_char;
6467       B : c_int;
6468       C : signed_char_ptr)
6469    is
6470    begin
6471       stvebx (To_LL_VSC (A), B, To_PTR (C));
6472    end vec_stvebx;
6473 
6474    procedure vec_stvebx
6475      (A : vector_bool_char;
6476       B : c_int;
6477       C : unsigned_char_ptr)
6478    is
6479    begin
6480       stvebx (To_LL_VSC (A), B, To_PTR (C));
6481    end vec_stvebx;
6482 
6483    -------------
6484    -- vec_stl --
6485    -------------
6486 
6487    procedure vec_stl
6488      (A : vector_float;
6489       B : c_int;
6490       C : vector_float_ptr)
6491    is
6492    begin
6493       stvxl (To_LL_VSI (A), B, To_PTR (C));
6494    end vec_stl;
6495 
6496    procedure vec_stl
6497      (A : vector_float;
6498       B : c_int;
6499       C : float_ptr)
6500    is
6501    begin
6502       stvxl (To_LL_VSI (A), B, To_PTR (C));
6503    end vec_stl;
6504 
6505    procedure vec_stl
6506      (A : vector_signed_int;
6507       B : c_int;
6508       C : vector_signed_int_ptr)
6509    is
6510    begin
6511       stvxl (To_LL_VSI (A), B, To_PTR (C));
6512    end vec_stl;
6513 
6514    procedure vec_stl
6515      (A : vector_signed_int;
6516       B : c_int;
6517       C : int_ptr)
6518    is
6519    begin
6520       stvxl (To_LL_VSI (A), B, To_PTR (C));
6521    end vec_stl;
6522 
6523    procedure vec_stl
6524      (A : vector_unsigned_int;
6525       B : c_int;
6526       C : vector_unsigned_int_ptr)
6527    is
6528    begin
6529       stvxl (To_LL_VSI (A), B, To_PTR (C));
6530    end vec_stl;
6531 
6532    procedure vec_stl
6533      (A : vector_unsigned_int;
6534       B : c_int;
6535       C : unsigned_int_ptr)
6536    is
6537    begin
6538       stvxl (To_LL_VSI (A), B, To_PTR (C));
6539    end vec_stl;
6540 
6541    procedure vec_stl
6542      (A : vector_bool_int;
6543       B : c_int;
6544       C : vector_bool_int_ptr)
6545    is
6546    begin
6547       stvxl (To_LL_VSI (A), B, To_PTR (C));
6548    end vec_stl;
6549 
6550    procedure vec_stl
6551      (A : vector_bool_int;
6552       B : c_int;
6553       C : unsigned_int_ptr)
6554    is
6555    begin
6556       stvxl (To_LL_VSI (A), B, To_PTR (C));
6557    end vec_stl;
6558 
6559    procedure vec_stl
6560      (A : vector_bool_int;
6561       B : c_int;
6562       C : int_ptr)
6563    is
6564    begin
6565       stvxl (To_LL_VSI (A), B, To_PTR (C));
6566    end vec_stl;
6567 
6568    procedure vec_stl
6569      (A : vector_signed_short;
6570       B : c_int;
6571       C : vector_signed_short_ptr)
6572    is
6573    begin
6574       stvxl (To_LL_VSI (A), B, To_PTR (C));
6575    end vec_stl;
6576 
6577    procedure vec_stl
6578      (A : vector_signed_short;
6579       B : c_int;
6580       C : short_ptr)
6581    is
6582    begin
6583       stvxl (To_LL_VSI (A), B, To_PTR (C));
6584    end vec_stl;
6585 
6586    procedure vec_stl
6587      (A : vector_unsigned_short;
6588       B : c_int;
6589       C : vector_unsigned_short_ptr)
6590    is
6591    begin
6592       stvxl (To_LL_VSI (A), B, To_PTR (C));
6593    end vec_stl;
6594 
6595    procedure vec_stl
6596      (A : vector_unsigned_short;
6597       B : c_int;
6598       C : unsigned_short_ptr)
6599    is
6600    begin
6601       stvxl (To_LL_VSI (A), B, To_PTR (C));
6602    end vec_stl;
6603 
6604    procedure vec_stl
6605      (A : vector_bool_short;
6606       B : c_int;
6607       C : vector_bool_short_ptr)
6608    is
6609    begin
6610       stvxl (To_LL_VSI (A), B, To_PTR (C));
6611    end vec_stl;
6612 
6613    procedure vec_stl
6614      (A : vector_bool_short;
6615       B : c_int;
6616       C : unsigned_short_ptr)
6617    is
6618    begin
6619       stvxl (To_LL_VSI (A), B, To_PTR (C));
6620    end vec_stl;
6621 
6622    procedure vec_stl
6623      (A : vector_bool_short;
6624       B : c_int;
6625       C : short_ptr)
6626    is
6627    begin
6628       stvxl (To_LL_VSI (A), B, To_PTR (C));
6629    end vec_stl;
6630 
6631    procedure vec_stl
6632      (A : vector_pixel;
6633       B : c_int;
6634       C : vector_pixel_ptr)
6635    is
6636    begin
6637       stvxl (To_LL_VSI (A), B, To_PTR (C));
6638    end vec_stl;
6639 
6640    procedure vec_stl
6641      (A : vector_pixel;
6642       B : c_int;
6643       C : unsigned_short_ptr)
6644    is
6645    begin
6646       stvxl (To_LL_VSI (A), B, To_PTR (C));
6647    end vec_stl;
6648 
6649    procedure vec_stl
6650      (A : vector_pixel;
6651       B : c_int;
6652       C : short_ptr)
6653    is
6654    begin
6655       stvxl (To_LL_VSI (A), B, To_PTR (C));
6656    end vec_stl;
6657 
6658    procedure vec_stl
6659      (A : vector_signed_char;
6660       B : c_int;
6661       C : vector_signed_char_ptr)
6662    is
6663    begin
6664       stvxl (To_LL_VSI (A), B, To_PTR (C));
6665    end vec_stl;
6666 
6667    procedure vec_stl
6668      (A : vector_signed_char;
6669       B : c_int;
6670       C : signed_char_ptr)
6671    is
6672    begin
6673       stvxl (To_LL_VSI (A), B, To_PTR (C));
6674    end vec_stl;
6675 
6676    procedure vec_stl
6677      (A : vector_unsigned_char;
6678       B : c_int;
6679       C : vector_unsigned_char_ptr)
6680    is
6681    begin
6682       stvxl (To_LL_VSI (A), B, To_PTR (C));
6683    end vec_stl;
6684 
6685    procedure vec_stl
6686      (A : vector_unsigned_char;
6687       B : c_int;
6688       C : unsigned_char_ptr)
6689    is
6690    begin
6691       stvxl (To_LL_VSI (A), B, To_PTR (C));
6692    end vec_stl;
6693 
6694    procedure vec_stl
6695      (A : vector_bool_char;
6696       B : c_int;
6697       C : vector_bool_char_ptr)
6698    is
6699    begin
6700       stvxl (To_LL_VSI (A), B, To_PTR (C));
6701    end vec_stl;
6702 
6703    procedure vec_stl
6704      (A : vector_bool_char;
6705       B : c_int;
6706       C : unsigned_char_ptr)
6707    is
6708    begin
6709       stvxl (To_LL_VSI (A), B, To_PTR (C));
6710    end vec_stl;
6711 
6712    procedure vec_stl
6713      (A : vector_bool_char;
6714       B : c_int;
6715       C : signed_char_ptr)
6716    is
6717    begin
6718       stvxl (To_LL_VSI (A), B, To_PTR (C));
6719    end vec_stl;
6720 
6721    -------------
6722    -- vec_sub --
6723    -------------
6724 
6725    function vec_sub
6726      (A : vector_bool_char;
6727       B : vector_signed_char) return vector_signed_char
6728    is
6729    begin
6730       return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
6731    end vec_sub;
6732 
6733    function vec_sub
6734      (A : vector_signed_char;
6735       B : vector_bool_char) return vector_signed_char
6736    is
6737    begin
6738       return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
6739    end vec_sub;
6740 
6741    function vec_sub
6742      (A : vector_signed_char;
6743       B : vector_signed_char) return vector_signed_char
6744    is
6745    begin
6746       return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
6747    end vec_sub;
6748 
6749    function vec_sub
6750      (A : vector_bool_char;
6751       B : vector_unsigned_char) return vector_unsigned_char
6752    is
6753    begin
6754       return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
6755    end vec_sub;
6756 
6757    function vec_sub
6758      (A : vector_unsigned_char;
6759       B : vector_bool_char) return vector_unsigned_char
6760    is
6761    begin
6762       return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
6763    end vec_sub;
6764 
6765    function vec_sub
6766      (A : vector_unsigned_char;
6767       B : vector_unsigned_char) return vector_unsigned_char
6768    is
6769    begin
6770       return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
6771    end vec_sub;
6772 
6773    function vec_sub
6774      (A : vector_bool_short;
6775       B : vector_signed_short) return vector_signed_short
6776    is
6777    begin
6778       return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6779    end vec_sub;
6780 
6781    function vec_sub
6782      (A : vector_signed_short;
6783       B : vector_bool_short) return vector_signed_short
6784    is
6785    begin
6786       return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6787    end vec_sub;
6788 
6789    function vec_sub
6790      (A : vector_signed_short;
6791       B : vector_signed_short) return vector_signed_short
6792    is
6793    begin
6794       return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6795    end vec_sub;
6796 
6797    function vec_sub
6798      (A : vector_bool_short;
6799       B : vector_unsigned_short) return vector_unsigned_short
6800    is
6801    begin
6802       return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6803    end vec_sub;
6804 
6805    function vec_sub
6806      (A : vector_unsigned_short;
6807       B : vector_bool_short) return vector_unsigned_short
6808    is
6809    begin
6810       return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6811    end vec_sub;
6812 
6813    function vec_sub
6814      (A : vector_unsigned_short;
6815       B : vector_unsigned_short) return vector_unsigned_short
6816    is
6817    begin
6818       return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6819    end vec_sub;
6820 
6821    function vec_sub
6822      (A : vector_bool_int;
6823       B : vector_signed_int) return vector_signed_int
6824    is
6825    begin
6826       return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6827    end vec_sub;
6828 
6829    function vec_sub
6830      (A : vector_signed_int;
6831       B : vector_bool_int) return vector_signed_int
6832    is
6833    begin
6834       return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6835    end vec_sub;
6836 
6837    function vec_sub
6838      (A : vector_signed_int;
6839       B : vector_signed_int) return vector_signed_int
6840    is
6841    begin
6842       return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6843    end vec_sub;
6844 
6845    function vec_sub
6846      (A : vector_bool_int;
6847       B : vector_unsigned_int) return vector_unsigned_int
6848    is
6849    begin
6850       return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6851    end vec_sub;
6852 
6853    function vec_sub
6854      (A : vector_unsigned_int;
6855       B : vector_bool_int) return vector_unsigned_int
6856    is
6857    begin
6858       return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6859    end vec_sub;
6860 
6861    function vec_sub
6862      (A : vector_unsigned_int;
6863       B : vector_unsigned_int) return vector_unsigned_int
6864    is
6865    begin
6866       return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6867    end vec_sub;
6868 
6869    function vec_sub
6870      (A : vector_float;
6871       B : vector_float) return vector_float
6872    is
6873    begin
6874       return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B)));
6875    end vec_sub;
6876 
6877    ----------------
6878    -- vec_vsubfp --
6879    ----------------
6880 
6881    function vec_vsubfp
6882      (A : vector_float;
6883       B : vector_float) return vector_float
6884    is
6885    begin
6886       return To_LL_VF (vsubfp (To_LL_VF (A), To_LL_VF (B)));
6887    end vec_vsubfp;
6888 
6889    -----------------
6890    -- vec_vsubuwm --
6891    -----------------
6892 
6893    function vec_vsubuwm
6894      (A : vector_bool_int;
6895       B : vector_signed_int) return vector_signed_int
6896    is
6897    begin
6898       return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6899    end vec_vsubuwm;
6900 
6901    function vec_vsubuwm
6902      (A : vector_signed_int;
6903       B : vector_bool_int) return vector_signed_int
6904    is
6905    begin
6906       return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6907    end vec_vsubuwm;
6908 
6909    function vec_vsubuwm
6910      (A : vector_signed_int;
6911       B : vector_signed_int) return vector_signed_int
6912    is
6913    begin
6914       return To_LL_VSI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6915    end vec_vsubuwm;
6916 
6917    function vec_vsubuwm
6918      (A : vector_bool_int;
6919       B : vector_unsigned_int) return vector_unsigned_int
6920    is
6921    begin
6922       return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6923    end vec_vsubuwm;
6924 
6925    function vec_vsubuwm
6926      (A : vector_unsigned_int;
6927       B : vector_bool_int) return vector_unsigned_int
6928    is
6929    begin
6930       return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6931    end vec_vsubuwm;
6932 
6933    function vec_vsubuwm
6934      (A : vector_unsigned_int;
6935       B : vector_unsigned_int) return vector_unsigned_int
6936    is
6937    begin
6938       return To_LL_VUI (vsubuwm (To_LL_VSI (A), To_LL_VSI (B)));
6939    end vec_vsubuwm;
6940 
6941    -----------------
6942    -- vec_vsubuhm --
6943    -----------------
6944 
6945    function vec_vsubuhm
6946      (A : vector_bool_short;
6947       B : vector_signed_short) return vector_signed_short
6948    is
6949    begin
6950       return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6951    end vec_vsubuhm;
6952 
6953    function vec_vsubuhm
6954      (A : vector_signed_short;
6955       B : vector_bool_short) return vector_signed_short
6956    is
6957    begin
6958       return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6959    end vec_vsubuhm;
6960 
6961    function vec_vsubuhm
6962      (A : vector_signed_short;
6963       B : vector_signed_short) return vector_signed_short
6964    is
6965    begin
6966       return To_LL_VSS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6967    end vec_vsubuhm;
6968 
6969    function vec_vsubuhm
6970      (A : vector_bool_short;
6971       B : vector_unsigned_short) return vector_unsigned_short
6972    is
6973    begin
6974       return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6975    end vec_vsubuhm;
6976 
6977    function vec_vsubuhm
6978      (A : vector_unsigned_short;
6979       B : vector_bool_short) return vector_unsigned_short
6980    is
6981    begin
6982       return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6983    end vec_vsubuhm;
6984 
6985    function vec_vsubuhm
6986      (A : vector_unsigned_short;
6987       B : vector_unsigned_short) return vector_unsigned_short
6988    is
6989    begin
6990       return To_LL_VUS (vsubuhm (To_LL_VSS (A), To_LL_VSS (B)));
6991    end vec_vsubuhm;
6992 
6993    -----------------
6994    -- vec_vsububm --
6995    -----------------
6996 
6997    function vec_vsububm
6998      (A : vector_bool_char;
6999       B : vector_signed_char) return vector_signed_char
7000    is
7001    begin
7002       return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
7003    end vec_vsububm;
7004 
7005    function vec_vsububm
7006      (A : vector_signed_char;
7007       B : vector_bool_char) return vector_signed_char
7008    is
7009    begin
7010       return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
7011    end vec_vsububm;
7012 
7013    function vec_vsububm
7014      (A : vector_signed_char;
7015       B : vector_signed_char) return vector_signed_char
7016    is
7017    begin
7018       return To_LL_VSC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
7019    end vec_vsububm;
7020 
7021    function vec_vsububm
7022      (A : vector_bool_char;
7023       B : vector_unsigned_char) return vector_unsigned_char
7024    is
7025    begin
7026       return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
7027    end vec_vsububm;
7028 
7029    function vec_vsububm
7030      (A : vector_unsigned_char;
7031       B : vector_bool_char) return vector_unsigned_char
7032    is
7033    begin
7034       return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
7035    end vec_vsububm;
7036 
7037    function vec_vsububm
7038      (A : vector_unsigned_char;
7039       B : vector_unsigned_char) return vector_unsigned_char
7040    is
7041    begin
7042       return To_LL_VUC (vsububm (To_LL_VSC (A), To_LL_VSC (B)));
7043    end vec_vsububm;
7044 
7045    --------------
7046    -- vec_subc --
7047    --------------
7048 
7049    function vec_subc
7050      (A : vector_unsigned_int;
7051       B : vector_unsigned_int) return vector_unsigned_int
7052    is
7053    begin
7054       return To_LL_VUI (vsubcuw (To_LL_VSI (A), To_LL_VSI (B)));
7055    end vec_subc;
7056 
7057    --------------
7058    -- vec_subs --
7059    --------------
7060 
7061    function vec_subs
7062      (A : vector_bool_char;
7063       B : vector_unsigned_char) return vector_unsigned_char
7064    is
7065    begin
7066       return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
7067    end vec_subs;
7068 
7069    function vec_subs
7070      (A : vector_unsigned_char;
7071       B : vector_bool_char) return vector_unsigned_char
7072    is
7073    begin
7074       return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
7075    end vec_subs;
7076 
7077    function vec_subs
7078      (A : vector_unsigned_char;
7079       B : vector_unsigned_char) return vector_unsigned_char
7080    is
7081    begin
7082       return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
7083    end vec_subs;
7084 
7085    function vec_subs
7086      (A : vector_bool_char;
7087       B : vector_signed_char) return vector_signed_char
7088    is
7089    begin
7090       return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
7091    end vec_subs;
7092 
7093    function vec_subs
7094      (A : vector_signed_char;
7095       B : vector_bool_char) return vector_signed_char
7096    is
7097    begin
7098       return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
7099    end vec_subs;
7100 
7101    function vec_subs
7102      (A : vector_signed_char;
7103       B : vector_signed_char) return vector_signed_char
7104    is
7105    begin
7106       return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
7107    end vec_subs;
7108 
7109    function vec_subs
7110      (A : vector_bool_short;
7111       B : vector_unsigned_short) return vector_unsigned_short
7112    is
7113    begin
7114       return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
7115    end vec_subs;
7116 
7117    function vec_subs
7118      (A : vector_unsigned_short;
7119       B : vector_bool_short) return vector_unsigned_short
7120    is
7121    begin
7122       return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
7123    end vec_subs;
7124 
7125    function vec_subs
7126      (A : vector_unsigned_short;
7127       B : vector_unsigned_short) return vector_unsigned_short
7128    is
7129    begin
7130       return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
7131    end vec_subs;
7132 
7133    function vec_subs
7134      (A : vector_bool_short;
7135       B : vector_signed_short) return vector_signed_short
7136    is
7137    begin
7138       return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
7139    end vec_subs;
7140 
7141    function vec_subs
7142      (A : vector_signed_short;
7143       B : vector_bool_short) return vector_signed_short
7144    is
7145    begin
7146       return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
7147    end vec_subs;
7148 
7149    function vec_subs
7150      (A : vector_signed_short;
7151       B : vector_signed_short) return vector_signed_short
7152    is
7153    begin
7154       return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
7155    end vec_subs;
7156 
7157    function vec_subs
7158      (A : vector_bool_int;
7159       B : vector_unsigned_int) return vector_unsigned_int
7160    is
7161    begin
7162       return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
7163    end vec_subs;
7164 
7165    function vec_subs
7166      (A : vector_unsigned_int;
7167       B : vector_bool_int) return vector_unsigned_int
7168    is
7169    begin
7170       return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
7171    end vec_subs;
7172 
7173    function vec_subs
7174      (A : vector_unsigned_int;
7175       B : vector_unsigned_int) return vector_unsigned_int
7176    is
7177    begin
7178       return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
7179    end vec_subs;
7180 
7181    function vec_subs
7182      (A : vector_bool_int;
7183       B : vector_signed_int) return vector_signed_int
7184    is
7185    begin
7186       return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
7187    end vec_subs;
7188 
7189    function vec_subs
7190      (A : vector_signed_int;
7191       B : vector_bool_int) return vector_signed_int
7192    is
7193    begin
7194       return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
7195    end vec_subs;
7196 
7197    function vec_subs
7198      (A : vector_signed_int;
7199       B : vector_signed_int) return vector_signed_int
7200    is
7201    begin
7202       return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
7203    end vec_subs;
7204 
7205    -----------------
7206    -- vec_vsubsws --
7207    -----------------
7208 
7209    function vec_vsubsws
7210      (A : vector_bool_int;
7211       B : vector_signed_int) return vector_signed_int
7212    is
7213    begin
7214       return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
7215    end vec_vsubsws;
7216 
7217    function vec_vsubsws
7218      (A : vector_signed_int;
7219       B : vector_bool_int) return vector_signed_int
7220    is
7221    begin
7222       return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
7223    end vec_vsubsws;
7224 
7225    function vec_vsubsws
7226      (A : vector_signed_int;
7227       B : vector_signed_int) return vector_signed_int
7228    is
7229    begin
7230       return To_LL_VSI (vsubsws (To_LL_VSI (A), To_LL_VSI (B)));
7231    end vec_vsubsws;
7232 
7233    -----------------
7234    -- vec_vsubuws --
7235    -----------------
7236 
7237    function vec_vsubuws
7238      (A : vector_bool_int;
7239       B : vector_unsigned_int) return vector_unsigned_int
7240    is
7241    begin
7242       return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
7243    end vec_vsubuws;
7244 
7245    function vec_vsubuws
7246      (A : vector_unsigned_int;
7247       B : vector_bool_int) return vector_unsigned_int
7248    is
7249    begin
7250       return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
7251    end vec_vsubuws;
7252 
7253    function vec_vsubuws
7254      (A : vector_unsigned_int;
7255       B : vector_unsigned_int) return vector_unsigned_int
7256    is
7257    begin
7258       return To_LL_VUI (vsubuws (To_LL_VSI (A), To_LL_VSI (B)));
7259    end vec_vsubuws;
7260 
7261    -----------------
7262    -- vec_vsubshs --
7263    -----------------
7264 
7265    function vec_vsubshs
7266      (A : vector_bool_short;
7267       B : vector_signed_short) return vector_signed_short
7268    is
7269    begin
7270       return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
7271    end vec_vsubshs;
7272 
7273    function vec_vsubshs
7274      (A : vector_signed_short;
7275       B : vector_bool_short) return vector_signed_short
7276    is
7277    begin
7278       return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
7279    end vec_vsubshs;
7280 
7281    function vec_vsubshs
7282      (A : vector_signed_short;
7283       B : vector_signed_short) return vector_signed_short
7284    is
7285    begin
7286       return To_LL_VSS (vsubshs (To_LL_VSS (A), To_LL_VSS (B)));
7287    end vec_vsubshs;
7288 
7289    -----------------
7290    -- vec_vsubuhs --
7291    -----------------
7292 
7293    function vec_vsubuhs
7294      (A : vector_bool_short;
7295       B : vector_unsigned_short) return vector_unsigned_short
7296    is
7297    begin
7298       return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
7299    end vec_vsubuhs;
7300 
7301    function vec_vsubuhs
7302      (A : vector_unsigned_short;
7303       B : vector_bool_short) return vector_unsigned_short
7304    is
7305    begin
7306       return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
7307    end vec_vsubuhs;
7308 
7309    function vec_vsubuhs
7310      (A : vector_unsigned_short;
7311       B : vector_unsigned_short) return vector_unsigned_short
7312    is
7313    begin
7314       return To_LL_VUS (vsubuhs (To_LL_VSS (A), To_LL_VSS (B)));
7315    end vec_vsubuhs;
7316 
7317    -----------------
7318    -- vec_vsubsbs --
7319    -----------------
7320 
7321    function vec_vsubsbs
7322      (A : vector_bool_char;
7323       B : vector_signed_char) return vector_signed_char
7324    is
7325    begin
7326       return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
7327    end vec_vsubsbs;
7328 
7329    function vec_vsubsbs
7330      (A : vector_signed_char;
7331       B : vector_bool_char) return vector_signed_char
7332    is
7333    begin
7334       return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
7335    end vec_vsubsbs;
7336 
7337    function vec_vsubsbs
7338      (A : vector_signed_char;
7339       B : vector_signed_char) return vector_signed_char
7340    is
7341    begin
7342       return To_LL_VSC (vsubsbs (To_LL_VSC (A), To_LL_VSC (B)));
7343    end vec_vsubsbs;
7344 
7345    -----------------
7346    -- vec_vsububs --
7347    -----------------
7348 
7349    function vec_vsububs
7350      (A : vector_bool_char;
7351       B : vector_unsigned_char) return vector_unsigned_char
7352    is
7353    begin
7354       return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
7355    end vec_vsububs;
7356 
7357    function vec_vsububs
7358      (A : vector_unsigned_char;
7359       B : vector_bool_char) return vector_unsigned_char
7360    is
7361    begin
7362       return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
7363    end vec_vsububs;
7364 
7365    function vec_vsububs
7366      (A : vector_unsigned_char;
7367       B : vector_unsigned_char) return vector_unsigned_char
7368    is
7369    begin
7370       return To_LL_VUC (vsububs (To_LL_VSC (A), To_LL_VSC (B)));
7371    end vec_vsububs;
7372 
7373    ---------------
7374    -- vec_sum4s --
7375    ---------------
7376 
7377    function vec_sum4s
7378      (A : vector_unsigned_char;
7379       B : vector_unsigned_int) return vector_unsigned_int
7380    is
7381    begin
7382       return To_LL_VUI (vsum4ubs (To_LL_VSC (A), To_LL_VSI (B)));
7383    end vec_sum4s;
7384 
7385    function vec_sum4s
7386      (A : vector_signed_char;
7387       B : vector_signed_int) return vector_signed_int
7388    is
7389    begin
7390       return To_LL_VSI (vsum4sbs (To_LL_VSC (A), To_LL_VSI (B)));
7391    end vec_sum4s;
7392 
7393    function vec_sum4s
7394      (A : vector_signed_short;
7395       B : vector_signed_int) return vector_signed_int
7396    is
7397    begin
7398       return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B)));
7399    end vec_sum4s;
7400 
7401    ------------------
7402    -- vec_vsum4shs --
7403    ------------------
7404 
7405    function vec_vsum4shs
7406      (A : vector_signed_short;
7407       B : vector_signed_int) return vector_signed_int
7408    is
7409    begin
7410       return To_LL_VSI (vsum4shs (To_LL_VSS (A), To_LL_VSI (B)));
7411    end vec_vsum4shs;
7412 
7413    ------------------
7414    -- vec_vsum4sbs --
7415    ------------------
7416 
7417    function vec_vsum4sbs
7418      (A : vector_signed_char;
7419       B : vector_signed_int) return vector_signed_int
7420    is
7421    begin
7422       return To_LL_VSI (vsum4sbs (To_LL_VSC (A), To_LL_VSI (B)));
7423    end vec_vsum4sbs;
7424 
7425    ------------------
7426    -- vec_vsum4ubs --
7427    ------------------
7428 
7429    function vec_vsum4ubs
7430      (A : vector_unsigned_char;
7431       B : vector_unsigned_int) return vector_unsigned_int
7432    is
7433    begin
7434       return To_LL_VUI (vsum4ubs (To_LL_VSC (A), To_LL_VSI (B)));
7435    end vec_vsum4ubs;
7436 
7437    ---------------
7438    -- vec_sum2s --
7439    ---------------
7440 
7441    function vec_sum2s
7442      (A : vector_signed_int;
7443       B : vector_signed_int) return vector_signed_int
7444    is
7445    begin
7446       return To_LL_VSI (vsum2sws (To_LL_VSI (A), To_LL_VSI (B)));
7447    end vec_sum2s;
7448 
7449    --------------
7450    -- vec_sums --
7451    --------------
7452 
7453    function vec_sums
7454      (A : vector_signed_int;
7455       B : vector_signed_int) return vector_signed_int
7456    is
7457    begin
7458       return To_LL_VSI (vsumsws (To_LL_VSI (A), To_LL_VSI (B)));
7459    end vec_sums;
7460 
7461    ---------------
7462    -- vec_trunc --
7463    ---------------
7464 
7465    function vec_trunc
7466      (A : vector_float) return vector_float
7467    is
7468    begin
7469       return To_LL_VF (vrfiz (To_LL_VF (A)));
7470    end vec_trunc;
7471 
7472    -----------------
7473    -- vec_unpackh --
7474    -----------------
7475 
7476    function vec_unpackh
7477      (A : vector_signed_char) return vector_signed_short
7478    is
7479    begin
7480       return To_LL_VSS (vupkhsb (To_LL_VSC (A)));
7481    end vec_unpackh;
7482 
7483    function vec_unpackh
7484      (A : vector_bool_char) return vector_bool_short
7485    is
7486    begin
7487       return To_LL_VBS (vupkhsb (To_LL_VSC (A)));
7488    end vec_unpackh;
7489 
7490    function vec_unpackh
7491      (A : vector_signed_short) return vector_signed_int
7492    is
7493    begin
7494       return To_LL_VSI (vupkhsh (To_LL_VSS (A)));
7495    end vec_unpackh;
7496 
7497    function vec_unpackh
7498      (A : vector_bool_short) return vector_bool_int
7499    is
7500    begin
7501       return To_LL_VBI (vupkhsh (To_LL_VSS (A)));
7502    end vec_unpackh;
7503 
7504    function vec_unpackh
7505      (A : vector_pixel) return vector_unsigned_int
7506    is
7507    begin
7508       return To_LL_VUI (vupkhpx (To_LL_VSS (A)));
7509    end vec_unpackh;
7510 
7511    -----------------
7512    -- vec_vupkhsh --
7513    -----------------
7514 
7515    function vec_vupkhsh
7516      (A : vector_bool_short) return vector_bool_int
7517    is
7518    begin
7519       return To_LL_VBI (vupkhsh (To_LL_VSS (A)));
7520    end vec_vupkhsh;
7521 
7522    function vec_vupkhsh
7523      (A : vector_signed_short) return vector_signed_int
7524    is
7525    begin
7526       return To_LL_VSI (vupkhsh (To_LL_VSS (A)));
7527    end vec_vupkhsh;
7528 
7529    -----------------
7530    -- vec_vupkhpx --
7531    -----------------
7532 
7533    function vec_vupkhpx
7534      (A : vector_pixel) return vector_unsigned_int
7535    is
7536    begin
7537       return To_LL_VUI (vupkhpx (To_LL_VSS (A)));
7538    end vec_vupkhpx;
7539 
7540    -----------------
7541    -- vec_vupkhsb --
7542    -----------------
7543 
7544    function vec_vupkhsb
7545      (A : vector_bool_char) return vector_bool_short
7546    is
7547    begin
7548       return To_LL_VBS (vupkhsb (To_LL_VSC (A)));
7549    end vec_vupkhsb;
7550 
7551    function vec_vupkhsb
7552      (A : vector_signed_char) return vector_signed_short
7553    is
7554    begin
7555       return To_LL_VSS (vupkhsb (To_LL_VSC (A)));
7556    end vec_vupkhsb;
7557 
7558    -----------------
7559    -- vec_unpackl --
7560    -----------------
7561 
7562    function vec_unpackl
7563      (A : vector_signed_char) return vector_signed_short
7564    is
7565    begin
7566       return To_LL_VSS (vupklsb (To_LL_VSC (A)));
7567    end vec_unpackl;
7568 
7569    function vec_unpackl
7570      (A : vector_bool_char) return vector_bool_short
7571    is
7572    begin
7573       return To_LL_VBS (vupklsb (To_LL_VSC (A)));
7574    end vec_unpackl;
7575 
7576    function vec_unpackl
7577      (A : vector_pixel) return vector_unsigned_int
7578    is
7579    begin
7580       return To_LL_VUI (vupklpx (To_LL_VSS (A)));
7581    end vec_unpackl;
7582 
7583    function vec_unpackl
7584      (A : vector_signed_short) return vector_signed_int
7585    is
7586    begin
7587       return To_LL_VSI (vupklsh (To_LL_VSS (A)));
7588    end vec_unpackl;
7589 
7590    function vec_unpackl
7591      (A : vector_bool_short) return vector_bool_int
7592    is
7593    begin
7594       return To_LL_VBI (vupklsh (To_LL_VSS (A)));
7595    end vec_unpackl;
7596 
7597    -----------------
7598    -- vec_vupklpx --
7599    -----------------
7600 
7601    function vec_vupklpx
7602      (A : vector_pixel) return vector_unsigned_int
7603    is
7604    begin
7605       return To_LL_VUI (vupklpx (To_LL_VSS (A)));
7606    end vec_vupklpx;
7607 
7608    -----------------
7609    -- vec_vupklsh --
7610    -----------------
7611 
7612    function vec_vupklsh
7613      (A : vector_bool_short) return vector_bool_int
7614    is
7615    begin
7616       return To_LL_VBI (vupklsh (To_LL_VSS (A)));
7617    end vec_vupklsh;
7618 
7619    function vec_vupklsh
7620      (A : vector_signed_short) return vector_signed_int
7621    is
7622    begin
7623       return To_LL_VSI (vupklsh (To_LL_VSS (A)));
7624    end vec_vupklsh;
7625 
7626    -----------------
7627    -- vec_vupklsb --
7628    -----------------
7629 
7630    function vec_vupklsb
7631      (A : vector_bool_char) return vector_bool_short
7632    is
7633    begin
7634       return To_LL_VBS (vupklsb (To_LL_VSC (A)));
7635    end vec_vupklsb;
7636 
7637    function vec_vupklsb
7638      (A : vector_signed_char) return vector_signed_short
7639    is
7640    begin
7641       return To_LL_VSS (vupklsb (To_LL_VSC (A)));
7642    end vec_vupklsb;
7643 
7644    -------------
7645    -- vec_xor --
7646    -------------
7647 
7648    function vec_xor
7649      (A : vector_float;
7650       B : vector_float) return vector_float
7651    is
7652    begin
7653       return To_LL_VF (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7654    end vec_xor;
7655 
7656    function vec_xor
7657      (A : vector_float;
7658       B : vector_bool_int) return vector_float
7659    is
7660    begin
7661       return To_LL_VF (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7662    end vec_xor;
7663 
7664    function vec_xor
7665      (A : vector_bool_int;
7666       B : vector_float) return vector_float
7667    is
7668    begin
7669       return To_LL_VF (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7670    end vec_xor;
7671 
7672    function vec_xor
7673      (A : vector_bool_int;
7674       B : vector_bool_int) return vector_bool_int
7675    is
7676    begin
7677       return To_LL_VBI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7678    end vec_xor;
7679 
7680    function vec_xor
7681      (A : vector_bool_int;
7682       B : vector_signed_int) return vector_signed_int
7683    is
7684    begin
7685       return To_LL_VSI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7686    end vec_xor;
7687 
7688    function vec_xor
7689      (A : vector_signed_int;
7690       B : vector_bool_int) return vector_signed_int
7691    is
7692    begin
7693       return To_LL_VSI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7694    end vec_xor;
7695 
7696    function vec_xor
7697      (A : vector_signed_int;
7698       B : vector_signed_int) return vector_signed_int
7699    is
7700    begin
7701       return To_LL_VSI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7702    end vec_xor;
7703 
7704    function vec_xor
7705      (A : vector_bool_int;
7706       B : vector_unsigned_int) return vector_unsigned_int
7707    is
7708    begin
7709       return To_LL_VUI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7710    end vec_xor;
7711 
7712    function vec_xor
7713      (A : vector_unsigned_int;
7714       B : vector_bool_int) return vector_unsigned_int
7715    is
7716    begin
7717       return To_LL_VUI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7718    end vec_xor;
7719 
7720    function vec_xor
7721      (A : vector_unsigned_int;
7722       B : vector_unsigned_int) return vector_unsigned_int
7723    is
7724    begin
7725       return To_LL_VUI (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7726    end vec_xor;
7727 
7728    function vec_xor
7729      (A : vector_bool_short;
7730       B : vector_bool_short) return vector_bool_short
7731    is
7732    begin
7733       return To_LL_VBS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7734    end vec_xor;
7735 
7736    function vec_xor
7737      (A : vector_bool_short;
7738       B : vector_signed_short) return vector_signed_short
7739    is
7740    begin
7741       return To_LL_VSS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7742    end vec_xor;
7743 
7744    function vec_xor
7745      (A : vector_signed_short;
7746       B : vector_bool_short) return vector_signed_short
7747    is
7748    begin
7749       return To_LL_VSS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7750    end vec_xor;
7751 
7752    function vec_xor
7753      (A : vector_signed_short;
7754       B : vector_signed_short) return vector_signed_short
7755    is
7756    begin
7757       return To_LL_VSS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7758    end vec_xor;
7759 
7760    function vec_xor
7761      (A : vector_bool_short;
7762       B : vector_unsigned_short) return vector_unsigned_short
7763    is
7764    begin
7765       return To_LL_VUS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7766    end vec_xor;
7767 
7768    function vec_xor
7769      (A : vector_unsigned_short;
7770       B : vector_bool_short) return vector_unsigned_short
7771    is
7772    begin
7773       return To_LL_VUS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7774    end vec_xor;
7775 
7776    function vec_xor
7777      (A : vector_unsigned_short;
7778       B : vector_unsigned_short) return vector_unsigned_short
7779    is
7780    begin
7781       return To_LL_VUS (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7782    end vec_xor;
7783 
7784    function vec_xor
7785      (A : vector_bool_char;
7786       B : vector_signed_char) return vector_signed_char
7787    is
7788    begin
7789       return To_LL_VSC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7790    end vec_xor;
7791 
7792    function vec_xor
7793      (A : vector_bool_char;
7794       B : vector_bool_char) return vector_bool_char
7795    is
7796    begin
7797       return To_LL_VBC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7798    end vec_xor;
7799 
7800    function vec_xor
7801      (A : vector_signed_char;
7802       B : vector_bool_char) return vector_signed_char
7803    is
7804    begin
7805       return To_LL_VSC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7806    end vec_xor;
7807 
7808    function vec_xor
7809      (A : vector_signed_char;
7810       B : vector_signed_char) return vector_signed_char
7811    is
7812    begin
7813       return To_LL_VSC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7814    end vec_xor;
7815 
7816    function vec_xor
7817      (A : vector_bool_char;
7818       B : vector_unsigned_char) return vector_unsigned_char
7819    is
7820    begin
7821       return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7822    end vec_xor;
7823 
7824    function vec_xor
7825      (A : vector_unsigned_char;
7826       B : vector_bool_char) return vector_unsigned_char
7827    is
7828    begin
7829       return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7830    end vec_xor;
7831 
7832    function vec_xor
7833      (A : vector_unsigned_char;
7834       B : vector_unsigned_char) return vector_unsigned_char
7835    is
7836    begin
7837       return To_LL_VUC (vxor (To_LL_VSI (A), To_LL_VSI (B)));
7838    end vec_xor;
7839 
7840    -------------
7841    -- vec_dst --
7842    -------------
7843 
7844    procedure vec_dst
7845      (A : const_vector_unsigned_char_ptr;
7846       B : c_int;
7847       C : c_int)
7848    is
7849    begin
7850       dst (To_PTR (A), B, C);
7851    end vec_dst;
7852 
7853    procedure vec_dst
7854      (A : const_vector_signed_char_ptr;
7855       B : c_int;
7856       C : c_int)
7857    is
7858    begin
7859       dst (To_PTR (A), B, C);
7860    end vec_dst;
7861 
7862    procedure vec_dst
7863      (A : const_vector_bool_char_ptr;
7864       B : c_int;
7865       C : c_int)
7866    is
7867    begin
7868       dst (To_PTR (A), B, C);
7869    end vec_dst;
7870 
7871    procedure vec_dst
7872      (A : const_vector_unsigned_short_ptr;
7873       B : c_int;
7874       C : c_int)
7875    is
7876    begin
7877       dst (To_PTR (A), B, C);
7878    end vec_dst;
7879 
7880    procedure vec_dst
7881      (A : const_vector_signed_short_ptr;
7882       B : c_int;
7883       C : c_int)
7884    is
7885    begin
7886       dst (To_PTR (A), B, C);
7887    end vec_dst;
7888 
7889    procedure vec_dst
7890      (A : const_vector_bool_short_ptr;
7891       B : c_int;
7892       C : c_int)
7893    is
7894    begin
7895       dst (To_PTR (A), B, C);
7896    end vec_dst;
7897 
7898    procedure vec_dst
7899      (A : const_vector_pixel_ptr;
7900       B : c_int;
7901       C : c_int)
7902    is
7903    begin
7904       dst (To_PTR (A), B, C);
7905    end vec_dst;
7906 
7907    procedure vec_dst
7908      (A : const_vector_unsigned_int_ptr;
7909       B : c_int;
7910       C : c_int)
7911    is
7912    begin
7913       dst (To_PTR (A), B, C);
7914    end vec_dst;
7915 
7916    procedure vec_dst
7917      (A : const_vector_signed_int_ptr;
7918       B : c_int;
7919       C : c_int)
7920    is
7921    begin
7922       dst (To_PTR (A), B, C);
7923    end vec_dst;
7924 
7925    procedure vec_dst
7926      (A : const_vector_bool_int_ptr;
7927       B : c_int;
7928       C : c_int)
7929    is
7930    begin
7931       dst (To_PTR (A), B, C);
7932    end vec_dst;
7933 
7934    procedure vec_dst
7935      (A : const_vector_float_ptr;
7936       B : c_int;
7937       C : c_int)
7938    is
7939    begin
7940       dst (To_PTR (A), B, C);
7941    end vec_dst;
7942 
7943    procedure vec_dst
7944      (A : const_unsigned_char_ptr;
7945       B : c_int;
7946       C : c_int)
7947    is
7948    begin
7949       dst (To_PTR (A), B, C);
7950    end vec_dst;
7951 
7952    procedure vec_dst
7953      (A : const_signed_char_ptr;
7954       B : c_int;
7955       C : c_int)
7956    is
7957    begin
7958       dst (To_PTR (A), B, C);
7959    end vec_dst;
7960 
7961    procedure vec_dst
7962      (A : const_unsigned_short_ptr;
7963       B : c_int;
7964       C : c_int)
7965    is
7966    begin
7967       dst (To_PTR (A), B, C);
7968    end vec_dst;
7969 
7970    procedure vec_dst
7971      (A : const_short_ptr;
7972       B : c_int;
7973       C : c_int)
7974    is
7975    begin
7976       dst (To_PTR (A), B, C);
7977    end vec_dst;
7978 
7979    procedure vec_dst
7980      (A : const_unsigned_int_ptr;
7981       B : c_int;
7982       C : c_int)
7983    is
7984    begin
7985       dst (To_PTR (A), B, C);
7986    end vec_dst;
7987 
7988    procedure vec_dst
7989      (A : const_int_ptr;
7990       B : c_int;
7991       C : c_int)
7992    is
7993    begin
7994       dst (To_PTR (A), B, C);
7995    end vec_dst;
7996 
7997    procedure vec_dst
7998      (A : const_unsigned_long_ptr;
7999       B : c_int;
8000       C : c_int)
8001    is
8002    begin
8003       dst (To_PTR (A), B, C);
8004    end vec_dst;
8005 
8006    procedure vec_dst
8007      (A : const_long_ptr;
8008       B : c_int;
8009       C : c_int)
8010    is
8011    begin
8012       dst (To_PTR (A), B, C);
8013    end vec_dst;
8014 
8015    procedure vec_dst
8016      (A : const_float_ptr;
8017       B : c_int;
8018       C : c_int)
8019    is
8020    begin
8021       dst (To_PTR (A), B, C);
8022    end vec_dst;
8023 
8024    --------------
8025    -- vec_dstt --
8026    --------------
8027 
8028    procedure vec_dstt
8029      (A : const_vector_unsigned_char_ptr;
8030       B : c_int;
8031       C : c_int)
8032    is
8033    begin
8034       dstt (To_PTR (A), B, C);
8035    end vec_dstt;
8036 
8037    procedure vec_dstt
8038      (A : const_vector_signed_char_ptr;
8039       B : c_int;
8040       C : c_int)
8041    is
8042    begin
8043       dstt (To_PTR (A), B, C);
8044    end vec_dstt;
8045 
8046    procedure vec_dstt
8047      (A : const_vector_bool_char_ptr;
8048       B : c_int;
8049       C : c_int)
8050    is
8051    begin
8052       dstt (To_PTR (A), B, C);
8053    end vec_dstt;
8054 
8055    procedure vec_dstt
8056      (A : const_vector_unsigned_short_ptr;
8057       B : c_int;
8058       C : c_int)
8059    is
8060    begin
8061       dstt (To_PTR (A), B, C);
8062    end vec_dstt;
8063 
8064    procedure vec_dstt
8065      (A : const_vector_signed_short_ptr;
8066       B : c_int;
8067       C : c_int)
8068    is
8069    begin
8070       dstt (To_PTR (A), B, C);
8071    end vec_dstt;
8072 
8073    procedure vec_dstt
8074      (A : const_vector_bool_short_ptr;
8075       B : c_int;
8076       C : c_int)
8077    is
8078    begin
8079       dstt (To_PTR (A), B, C);
8080    end vec_dstt;
8081 
8082    procedure vec_dstt
8083      (A : const_vector_pixel_ptr;
8084       B : c_int;
8085       C : c_int)
8086    is
8087    begin
8088       dstt (To_PTR (A), B, C);
8089    end vec_dstt;
8090 
8091    procedure vec_dstt
8092      (A : const_vector_unsigned_int_ptr;
8093       B : c_int;
8094       C : c_int)
8095    is
8096    begin
8097       dstt (To_PTR (A), B, C);
8098    end vec_dstt;
8099 
8100    procedure vec_dstt
8101      (A : const_vector_signed_int_ptr;
8102       B : c_int;
8103       C : c_int)
8104    is
8105    begin
8106       dstt (To_PTR (A), B, C);
8107    end vec_dstt;
8108 
8109    procedure vec_dstt
8110      (A : const_vector_bool_int_ptr;
8111       B : c_int;
8112       C : c_int)
8113    is
8114    begin
8115       dstt (To_PTR (A), B, C);
8116    end vec_dstt;
8117 
8118    procedure vec_dstt
8119      (A : const_vector_float_ptr;
8120       B : c_int;
8121       C : c_int)
8122    is
8123    begin
8124       dstt (To_PTR (A), B, C);
8125    end vec_dstt;
8126 
8127    procedure vec_dstt
8128      (A : const_unsigned_char_ptr;
8129       B : c_int;
8130       C : c_int)
8131    is
8132    begin
8133       dstt (To_PTR (A), B, C);
8134    end vec_dstt;
8135 
8136    procedure vec_dstt
8137      (A : const_signed_char_ptr;
8138       B : c_int;
8139       C : c_int)
8140    is
8141    begin
8142       dstt (To_PTR (A), B, C);
8143    end vec_dstt;
8144 
8145    procedure vec_dstt
8146      (A : const_unsigned_short_ptr;
8147       B : c_int;
8148       C : c_int)
8149    is
8150    begin
8151       dstt (To_PTR (A), B, C);
8152    end vec_dstt;
8153 
8154    procedure vec_dstt
8155      (A : const_short_ptr;
8156       B : c_int;
8157       C : c_int)
8158    is
8159    begin
8160       dstt (To_PTR (A), B, C);
8161    end vec_dstt;
8162 
8163    procedure vec_dstt
8164      (A : const_unsigned_int_ptr;
8165       B : c_int;
8166       C : c_int)
8167    is
8168    begin
8169       dstt (To_PTR (A), B, C);
8170    end vec_dstt;
8171 
8172    procedure vec_dstt
8173      (A : const_int_ptr;
8174       B : c_int;
8175       C : c_int)
8176    is
8177    begin
8178       dstt (To_PTR (A), B, C);
8179    end vec_dstt;
8180 
8181    procedure vec_dstt
8182      (A : const_unsigned_long_ptr;
8183       B : c_int;
8184       C : c_int)
8185    is
8186    begin
8187       dstt (To_PTR (A), B, C);
8188    end vec_dstt;
8189 
8190    procedure vec_dstt
8191      (A : const_long_ptr;
8192       B : c_int;
8193       C : c_int)
8194    is
8195    begin
8196       dstt (To_PTR (A), B, C);
8197    end vec_dstt;
8198 
8199    procedure vec_dstt
8200      (A : const_float_ptr;
8201       B : c_int;
8202       C : c_int)
8203    is
8204    begin
8205       dstt (To_PTR (A), B, C);
8206    end vec_dstt;
8207 
8208    ---------------
8209    -- vec_dstst --
8210    ---------------
8211 
8212    procedure vec_dstst
8213      (A : const_vector_unsigned_char_ptr;
8214       B : c_int;
8215       C : c_int)
8216    is
8217    begin
8218       dstst (To_PTR (A), B, C);
8219    end vec_dstst;
8220 
8221    procedure vec_dstst
8222      (A : const_vector_signed_char_ptr;
8223       B : c_int;
8224       C : c_int)
8225    is
8226    begin
8227       dstst (To_PTR (A), B, C);
8228    end vec_dstst;
8229 
8230    procedure vec_dstst
8231      (A : const_vector_bool_char_ptr;
8232       B : c_int;
8233       C : c_int)
8234    is
8235    begin
8236       dstst (To_PTR (A), B, C);
8237    end vec_dstst;
8238 
8239    procedure vec_dstst
8240      (A : const_vector_unsigned_short_ptr;
8241       B : c_int;
8242       C : c_int)
8243    is
8244    begin
8245       dstst (To_PTR (A), B, C);
8246    end vec_dstst;
8247 
8248    procedure vec_dstst
8249      (A : const_vector_signed_short_ptr;
8250       B : c_int;
8251       C : c_int)
8252    is
8253    begin
8254       dstst (To_PTR (A), B, C);
8255    end vec_dstst;
8256 
8257    procedure vec_dstst
8258      (A : const_vector_bool_short_ptr;
8259       B : c_int;
8260       C : c_int)
8261    is
8262    begin
8263       dstst (To_PTR (A), B, C);
8264    end vec_dstst;
8265 
8266    procedure vec_dstst
8267      (A : const_vector_pixel_ptr;
8268       B : c_int;
8269       C : c_int)
8270    is
8271    begin
8272       dstst (To_PTR (A), B, C);
8273    end vec_dstst;
8274 
8275    procedure vec_dstst
8276      (A : const_vector_unsigned_int_ptr;
8277       B : c_int;
8278       C : c_int)
8279    is
8280    begin
8281       dstst (To_PTR (A), B, C);
8282    end vec_dstst;
8283 
8284    procedure vec_dstst
8285      (A : const_vector_signed_int_ptr;
8286       B : c_int;
8287       C : c_int)
8288    is
8289    begin
8290       dstst (To_PTR (A), B, C);
8291    end vec_dstst;
8292 
8293    procedure vec_dstst
8294      (A : const_vector_bool_int_ptr;
8295       B : c_int;
8296       C : c_int)
8297    is
8298    begin
8299       dstst (To_PTR (A), B, C);
8300    end vec_dstst;
8301 
8302    procedure vec_dstst
8303      (A : const_vector_float_ptr;
8304       B : c_int;
8305       C : c_int)
8306    is
8307    begin
8308       dstst (To_PTR (A), B, C);
8309    end vec_dstst;
8310 
8311    procedure vec_dstst
8312      (A : const_unsigned_char_ptr;
8313       B : c_int;
8314       C : c_int)
8315    is
8316    begin
8317       dstst (To_PTR (A), B, C);
8318    end vec_dstst;
8319 
8320    procedure vec_dstst
8321      (A : const_signed_char_ptr;
8322       B : c_int;
8323       C : c_int)
8324    is
8325    begin
8326       dstst (To_PTR (A), B, C);
8327    end vec_dstst;
8328 
8329    procedure vec_dstst
8330      (A : const_unsigned_short_ptr;
8331       B : c_int;
8332       C : c_int)
8333    is
8334    begin
8335       dstst (To_PTR (A), B, C);
8336    end vec_dstst;
8337 
8338    procedure vec_dstst
8339      (A : const_short_ptr;
8340       B : c_int;
8341       C : c_int)
8342    is
8343    begin
8344       dstst (To_PTR (A), B, C);
8345    end vec_dstst;
8346 
8347    procedure vec_dstst
8348      (A : const_unsigned_int_ptr;
8349       B : c_int;
8350       C : c_int)
8351    is
8352    begin
8353       dstst (To_PTR (A), B, C);
8354    end vec_dstst;
8355 
8356    procedure vec_dstst
8357      (A : const_int_ptr;
8358       B : c_int;
8359       C : c_int)
8360    is
8361    begin
8362       dstst (To_PTR (A), B, C);
8363    end vec_dstst;
8364 
8365    procedure vec_dstst
8366      (A : const_unsigned_long_ptr;
8367       B : c_int;
8368       C : c_int)
8369    is
8370    begin
8371       dstst (To_PTR (A), B, C);
8372    end vec_dstst;
8373 
8374    procedure vec_dstst
8375      (A : const_long_ptr;
8376       B : c_int;
8377       C : c_int)
8378    is
8379    begin
8380       dstst (To_PTR (A), B, C);
8381    end vec_dstst;
8382 
8383    procedure vec_dstst
8384      (A : const_float_ptr;
8385       B : c_int;
8386       C : c_int)
8387    is
8388    begin
8389       dstst (To_PTR (A), B, C);
8390    end vec_dstst;
8391 
8392    ----------------
8393    -- vec_dststt --
8394    ----------------
8395 
8396    procedure vec_dststt
8397      (A : const_vector_unsigned_char_ptr;
8398       B : c_int;
8399       C : c_int)
8400    is
8401    begin
8402       dststt (To_PTR (A), B, C);
8403    end vec_dststt;
8404 
8405    procedure vec_dststt
8406      (A : const_vector_signed_char_ptr;
8407       B : c_int;
8408       C : c_int)
8409    is
8410    begin
8411       dststt (To_PTR (A), B, C);
8412    end vec_dststt;
8413 
8414    procedure vec_dststt
8415      (A : const_vector_bool_char_ptr;
8416       B : c_int;
8417       C : c_int)
8418    is
8419    begin
8420       dststt (To_PTR (A), B, C);
8421    end vec_dststt;
8422 
8423    procedure vec_dststt
8424      (A : const_vector_unsigned_short_ptr;
8425       B : c_int;
8426       C : c_int)
8427    is
8428    begin
8429       dststt (To_PTR (A), B, C);
8430    end vec_dststt;
8431 
8432    procedure vec_dststt
8433      (A : const_vector_signed_short_ptr;
8434       B : c_int;
8435       C : c_int)
8436    is
8437    begin
8438       dststt (To_PTR (A), B, C);
8439    end vec_dststt;
8440 
8441    procedure vec_dststt
8442      (A : const_vector_bool_short_ptr;
8443       B : c_int;
8444       C : c_int)
8445    is
8446    begin
8447       dststt (To_PTR (A), B, C);
8448    end vec_dststt;
8449 
8450    procedure vec_dststt
8451      (A : const_vector_pixel_ptr;
8452       B : c_int;
8453       C : c_int)
8454    is
8455    begin
8456       dststt (To_PTR (A), B, C);
8457    end vec_dststt;
8458 
8459    procedure vec_dststt
8460      (A : const_vector_unsigned_int_ptr;
8461       B : c_int;
8462       C : c_int)
8463    is
8464    begin
8465       dststt (To_PTR (A), B, C);
8466    end vec_dststt;
8467 
8468    procedure vec_dststt
8469      (A : const_vector_signed_int_ptr;
8470       B : c_int;
8471       C : c_int)
8472    is
8473    begin
8474       dststt (To_PTR (A), B, C);
8475    end vec_dststt;
8476 
8477    procedure vec_dststt
8478      (A : const_vector_bool_int_ptr;
8479       B : c_int;
8480       C : c_int)
8481    is
8482    begin
8483       dststt (To_PTR (A), B, C);
8484    end vec_dststt;
8485 
8486    procedure vec_dststt
8487      (A : const_vector_float_ptr;
8488       B : c_int;
8489       C : c_int)
8490    is
8491    begin
8492       dststt (To_PTR (A), B, C);
8493    end vec_dststt;
8494 
8495    procedure vec_dststt
8496      (A : const_unsigned_char_ptr;
8497       B : c_int;
8498       C : c_int)
8499    is
8500    begin
8501       dststt (To_PTR (A), B, C);
8502    end vec_dststt;
8503 
8504    procedure vec_dststt
8505      (A : const_signed_char_ptr;
8506       B : c_int;
8507       C : c_int)
8508    is
8509    begin
8510       dststt (To_PTR (A), B, C);
8511    end vec_dststt;
8512 
8513    procedure vec_dststt
8514      (A : const_unsigned_short_ptr;
8515       B : c_int;
8516       C : c_int)
8517    is
8518    begin
8519       dststt (To_PTR (A), B, C);
8520    end vec_dststt;
8521 
8522    procedure vec_dststt
8523      (A : const_short_ptr;
8524       B : c_int;
8525       C : c_int)
8526    is
8527    begin
8528       dststt (To_PTR (A), B, C);
8529    end vec_dststt;
8530 
8531    procedure vec_dststt
8532      (A : const_unsigned_int_ptr;
8533       B : c_int;
8534       C : c_int)
8535    is
8536    begin
8537       dststt (To_PTR (A), B, C);
8538    end vec_dststt;
8539 
8540    procedure vec_dststt
8541      (A : const_int_ptr;
8542       B : c_int;
8543       C : c_int)
8544    is
8545    begin
8546       dststt (To_PTR (A), B, C);
8547    end vec_dststt;
8548 
8549    procedure vec_dststt
8550      (A : const_unsigned_long_ptr;
8551       B : c_int;
8552       C : c_int)
8553    is
8554    begin
8555       dststt (To_PTR (A), B, C);
8556    end vec_dststt;
8557 
8558    procedure vec_dststt
8559      (A : const_long_ptr;
8560       B : c_int;
8561       C : c_int)
8562    is
8563    begin
8564       dststt (To_PTR (A), B, C);
8565    end vec_dststt;
8566 
8567    procedure vec_dststt
8568      (A : const_float_ptr;
8569       B : c_int;
8570       C : c_int)
8571    is
8572    begin
8573       dststt (To_PTR (A), B, C);
8574    end vec_dststt;
8575 
8576    ----------------
8577    -- vec_vspltw --
8578    ----------------
8579 
8580    function vec_vspltw
8581      (A : vector_float;
8582       B : c_int) return vector_float
8583    is
8584    begin
8585       return To_LL_VF (vspltw (To_LL_VSI (A), B));
8586    end vec_vspltw;
8587 
8588    function vec_vspltw
8589      (A : vector_unsigned_int;
8590       B : c_int) return vector_unsigned_int
8591    is
8592    begin
8593       return To_LL_VUI (vspltw (To_LL_VSI (A), B));
8594    end vec_vspltw;
8595 
8596    function vec_vspltw
8597      (A : vector_bool_int;
8598       B : c_int) return vector_bool_int
8599    is
8600    begin
8601       return To_LL_VBI (vspltw (To_LL_VSI (A), B));
8602    end vec_vspltw;
8603 
8604    ----------------
8605    -- vec_vsplth --
8606    ----------------
8607 
8608    function vec_vsplth
8609      (A : vector_bool_short;
8610       B : c_int) return vector_bool_short
8611    is
8612    begin
8613       return To_LL_VBS (vsplth (To_LL_VSS (A), B));
8614    end vec_vsplth;
8615 
8616    function vec_vsplth
8617      (A : vector_unsigned_short;
8618       B : c_int) return vector_unsigned_short
8619    is
8620    begin
8621       return To_LL_VUS (vsplth (To_LL_VSS (A), B));
8622    end vec_vsplth;
8623 
8624    function vec_vsplth
8625      (A : vector_pixel;
8626       B : c_int) return vector_pixel
8627    is
8628    begin
8629       return To_LL_VP (vsplth (To_LL_VSS (A), B));
8630    end vec_vsplth;
8631 
8632    ----------------
8633    -- vec_vspltb --
8634    ----------------
8635 
8636    function vec_vspltb
8637      (A : vector_unsigned_char;
8638       B : c_int) return vector_unsigned_char
8639    is
8640    begin
8641       return To_LL_VUC (vspltb (To_LL_VSC (A), B));
8642    end vec_vspltb;
8643 
8644    function vec_vspltb
8645      (A : vector_bool_char;
8646       B : c_int) return vector_bool_char
8647    is
8648    begin
8649       return To_LL_VBC (vspltb (To_LL_VSC (A), B));
8650    end vec_vspltb;
8651 
8652    ------------------
8653    -- vec_splat_u8 --
8654    ------------------
8655 
8656    function vec_splat_u8
8657      (A : c_int) return vector_unsigned_char
8658    is
8659    begin
8660       return To_LL_VUC (vspltisb (A));
8661    end vec_splat_u8;
8662 
8663    -------------------
8664    -- vec_splat_u16 --
8665    -------------------
8666 
8667    function vec_splat_u16
8668      (A : c_int) return vector_unsigned_short
8669    is
8670    begin
8671       return To_LL_VUS (vspltish (A));
8672    end vec_splat_u16;
8673 
8674    -------------------
8675    -- vec_splat_u32 --
8676    -------------------
8677 
8678    function vec_splat_u32
8679      (A : c_int) return vector_unsigned_int
8680    is
8681    begin
8682       return To_LL_VUI (vspltisw (A));
8683    end vec_splat_u32;
8684 
8685    -------------
8686    -- vec_sld --
8687    -------------
8688 
8689    function vec_sld
8690      (A : vector_unsigned_int;
8691       B : vector_unsigned_int;
8692       C : c_int) return vector_unsigned_int
8693    is
8694    begin
8695       return To_LL_VUI (vsldoi_4si (To_LL_VSI (A), To_LL_VSI (B), C));
8696    end vec_sld;
8697 
8698    function vec_sld
8699      (A : vector_bool_int;
8700       B : vector_bool_int;
8701       C : c_int) return vector_bool_int
8702    is
8703    begin
8704       return To_LL_VBI (vsldoi_4si (To_LL_VSI (A), To_LL_VSI (B), C));
8705    end vec_sld;
8706 
8707    function vec_sld
8708      (A : vector_unsigned_short;
8709       B : vector_unsigned_short;
8710       C : c_int) return vector_unsigned_short
8711    is
8712    begin
8713       return To_LL_VUS (vsldoi_8hi (To_LL_VSS (A), To_LL_VSS (B), C));
8714    end vec_sld;
8715 
8716    function vec_sld
8717      (A : vector_bool_short;
8718       B : vector_bool_short;
8719       C : c_int) return vector_bool_short
8720    is
8721    begin
8722       return To_LL_VBS (vsldoi_8hi (To_LL_VSS (A), To_LL_VSS (B), C));
8723    end vec_sld;
8724 
8725    function vec_sld
8726      (A : vector_pixel;
8727       B : vector_pixel;
8728       C : c_int) return vector_pixel
8729    is
8730    begin
8731       return To_LL_VP (vsldoi_8hi (To_LL_VSS (A), To_LL_VSS (B), C));
8732    end vec_sld;
8733 
8734    function vec_sld
8735      (A : vector_unsigned_char;
8736       B : vector_unsigned_char;
8737       C : c_int) return vector_unsigned_char
8738    is
8739    begin
8740       return To_LL_VUC (vsldoi_16qi (To_LL_VSC (A), To_LL_VSC (B), C));
8741    end vec_sld;
8742 
8743    function vec_sld
8744      (A : vector_bool_char;
8745       B : vector_bool_char;
8746       C : c_int) return vector_bool_char
8747    is
8748    begin
8749       return To_LL_VBC (vsldoi_16qi (To_LL_VSC (A), To_LL_VSC (B), C));
8750    end vec_sld;
8751 
8752    ----------------
8753    -- vec_all_eq --
8754    ----------------
8755 
8756    function vec_all_eq
8757      (A : vector_signed_char;
8758       B : vector_bool_char) return c_int
8759    is
8760    begin
8761       return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
8762    end vec_all_eq;
8763 
8764    function vec_all_eq
8765      (A : vector_signed_char;
8766       B : vector_signed_char) return c_int
8767    is
8768    begin
8769       return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
8770    end vec_all_eq;
8771 
8772    function vec_all_eq
8773      (A : vector_unsigned_char;
8774       B : vector_bool_char) return c_int
8775    is
8776    begin
8777       return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
8778    end vec_all_eq;
8779 
8780    function vec_all_eq
8781      (A : vector_unsigned_char;
8782       B : vector_unsigned_char) return c_int
8783    is
8784    begin
8785       return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
8786    end vec_all_eq;
8787 
8788    function vec_all_eq
8789      (A : vector_bool_char;
8790       B : vector_bool_char) return c_int
8791    is
8792    begin
8793       return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
8794    end vec_all_eq;
8795 
8796    function vec_all_eq
8797      (A : vector_bool_char;
8798       B : vector_unsigned_char) return c_int
8799    is
8800    begin
8801       return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
8802    end vec_all_eq;
8803 
8804    function vec_all_eq
8805      (A : vector_bool_char;
8806       B : vector_signed_char) return c_int
8807    is
8808    begin
8809       return vcmpequb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
8810    end vec_all_eq;
8811 
8812    function vec_all_eq
8813      (A : vector_signed_short;
8814       B : vector_bool_short) return c_int
8815    is
8816    begin
8817       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8818    end vec_all_eq;
8819 
8820    function vec_all_eq
8821      (A : vector_signed_short;
8822       B : vector_signed_short) return c_int
8823    is
8824    begin
8825       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8826    end vec_all_eq;
8827 
8828    function vec_all_eq
8829      (A : vector_unsigned_short;
8830       B : vector_bool_short) return c_int
8831    is
8832    begin
8833       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8834    end vec_all_eq;
8835 
8836    function vec_all_eq
8837      (A : vector_unsigned_short;
8838       B : vector_unsigned_short) return c_int
8839    is
8840    begin
8841       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8842    end vec_all_eq;
8843 
8844    function vec_all_eq
8845      (A : vector_bool_short;
8846       B : vector_bool_short) return c_int
8847    is
8848    begin
8849       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8850    end vec_all_eq;
8851 
8852    function vec_all_eq
8853      (A : vector_bool_short;
8854       B : vector_unsigned_short) return c_int
8855    is
8856    begin
8857       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8858    end vec_all_eq;
8859 
8860    function vec_all_eq
8861      (A : vector_bool_short;
8862       B : vector_signed_short) return c_int
8863    is
8864    begin
8865       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8866    end vec_all_eq;
8867 
8868    function vec_all_eq
8869      (A : vector_pixel;
8870       B : vector_pixel) return c_int
8871    is
8872    begin
8873       return vcmpequh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
8874    end vec_all_eq;
8875 
8876    function vec_all_eq
8877      (A : vector_signed_int;
8878       B : vector_bool_int) return c_int
8879    is
8880    begin
8881       return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
8882    end vec_all_eq;
8883 
8884    function vec_all_eq
8885      (A : vector_signed_int;
8886       B : vector_signed_int) return c_int
8887    is
8888    begin
8889       return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
8890    end vec_all_eq;
8891 
8892    function vec_all_eq
8893      (A : vector_unsigned_int;
8894       B : vector_bool_int) return c_int
8895    is
8896    begin
8897       return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
8898    end vec_all_eq;
8899 
8900    function vec_all_eq
8901      (A : vector_unsigned_int;
8902       B : vector_unsigned_int) return c_int
8903    is
8904    begin
8905       return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
8906    end vec_all_eq;
8907 
8908    function vec_all_eq
8909      (A : vector_bool_int;
8910       B : vector_bool_int) return c_int
8911    is
8912    begin
8913       return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
8914    end vec_all_eq;
8915 
8916    function vec_all_eq
8917      (A : vector_bool_int;
8918       B : vector_unsigned_int) return c_int
8919    is
8920    begin
8921       return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
8922    end vec_all_eq;
8923 
8924    function vec_all_eq
8925      (A : vector_bool_int;
8926       B : vector_signed_int) return c_int
8927    is
8928    begin
8929       return vcmpequw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
8930    end vec_all_eq;
8931 
8932    function vec_all_eq
8933      (A : vector_float;
8934       B : vector_float) return c_int
8935    is
8936    begin
8937       return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
8938    end vec_all_eq;
8939 
8940    ----------------
8941    -- vec_all_ge --
8942    ----------------
8943 
8944    function vec_all_ge
8945      (A : vector_bool_char;
8946       B : vector_unsigned_char) return c_int
8947    is
8948    begin
8949       return vcmpgtub_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
8950    end vec_all_ge;
8951 
8952    function vec_all_ge
8953      (A : vector_unsigned_char;
8954       B : vector_bool_char) return c_int
8955    is
8956    begin
8957       return vcmpgtub_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
8958    end vec_all_ge;
8959 
8960    function vec_all_ge
8961      (A : vector_unsigned_char;
8962       B : vector_unsigned_char) return c_int
8963    is
8964    begin
8965       return vcmpgtub_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
8966    end vec_all_ge;
8967 
8968    function vec_all_ge
8969      (A : vector_bool_char;
8970       B : vector_signed_char) return c_int
8971    is
8972    begin
8973       return vcmpgtsb_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
8974    end vec_all_ge;
8975 
8976    function vec_all_ge
8977      (A : vector_signed_char;
8978       B : vector_bool_char) return c_int
8979    is
8980    begin
8981       return vcmpgtsb_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
8982    end vec_all_ge;
8983 
8984    function vec_all_ge
8985      (A : vector_signed_char;
8986       B : vector_signed_char) return c_int
8987    is
8988    begin
8989       return vcmpgtsb_p (CR6_EQ, To_LL_VSC (B), To_LL_VSC (A));
8990    end vec_all_ge;
8991 
8992    function vec_all_ge
8993      (A : vector_bool_short;
8994       B : vector_unsigned_short) return c_int
8995    is
8996    begin
8997       return vcmpgtuh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
8998    end vec_all_ge;
8999 
9000    function vec_all_ge
9001      (A : vector_unsigned_short;
9002       B : vector_bool_short) return c_int
9003    is
9004    begin
9005       return vcmpgtuh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
9006    end vec_all_ge;
9007 
9008    function vec_all_ge
9009      (A : vector_unsigned_short;
9010       B : vector_unsigned_short) return c_int
9011    is
9012    begin
9013       return vcmpgtuh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
9014    end vec_all_ge;
9015 
9016    function vec_all_ge
9017      (A : vector_signed_short;
9018       B : vector_signed_short) return c_int
9019    is
9020    begin
9021       return vcmpgtsh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
9022    end vec_all_ge;
9023 
9024    function vec_all_ge
9025      (A : vector_bool_short;
9026       B : vector_signed_short) return c_int
9027    is
9028    begin
9029       return vcmpgtsh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
9030    end vec_all_ge;
9031 
9032    function vec_all_ge
9033      (A : vector_signed_short;
9034       B : vector_bool_short) return c_int
9035    is
9036    begin
9037       return vcmpgtsh_p (CR6_EQ, To_LL_VSS (B), To_LL_VSS (A));
9038    end vec_all_ge;
9039 
9040    function vec_all_ge
9041      (A : vector_bool_int;
9042       B : vector_unsigned_int) return c_int
9043    is
9044    begin
9045       return vcmpgtuw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
9046    end vec_all_ge;
9047 
9048    function vec_all_ge
9049      (A : vector_unsigned_int;
9050       B : vector_bool_int) return c_int
9051    is
9052    begin
9053       return vcmpgtuw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
9054    end vec_all_ge;
9055 
9056    function vec_all_ge
9057      (A : vector_unsigned_int;
9058       B : vector_unsigned_int) return c_int
9059    is
9060    begin
9061       return vcmpgtuw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
9062    end vec_all_ge;
9063 
9064    function vec_all_ge
9065      (A : vector_bool_int;
9066       B : vector_signed_int) return c_int
9067    is
9068    begin
9069       return vcmpgtsw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
9070    end vec_all_ge;
9071 
9072    function vec_all_ge
9073      (A : vector_signed_int;
9074       B : vector_bool_int) return c_int
9075    is
9076    begin
9077       return vcmpgtsw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
9078    end vec_all_ge;
9079 
9080    function vec_all_ge
9081      (A : vector_signed_int;
9082       B : vector_signed_int) return c_int
9083    is
9084    begin
9085       return vcmpgtsw_p (CR6_EQ, To_LL_VSI (B), To_LL_VSI (A));
9086    end vec_all_ge;
9087 
9088    function vec_all_ge
9089      (A : vector_float;
9090       B : vector_float) return c_int
9091    is
9092    begin
9093       return vcmpgefp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
9094    end vec_all_ge;
9095 
9096    ----------------
9097    -- vec_all_gt --
9098    ----------------
9099 
9100    function vec_all_gt
9101      (A : vector_bool_char;
9102       B : vector_unsigned_char) return c_int
9103    is
9104    begin
9105       return vcmpgtub_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
9106    end vec_all_gt;
9107 
9108    function vec_all_gt
9109      (A : vector_unsigned_char;
9110       B : vector_bool_char) return c_int
9111    is
9112    begin
9113       return vcmpgtub_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
9114    end vec_all_gt;
9115 
9116    function vec_all_gt
9117      (A : vector_unsigned_char;
9118       B : vector_unsigned_char) return c_int
9119    is
9120    begin
9121       return vcmpgtub_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
9122    end vec_all_gt;
9123 
9124    function vec_all_gt
9125      (A : vector_bool_char;
9126       B : vector_signed_char) return c_int
9127    is
9128    begin
9129       return vcmpgtsb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
9130    end vec_all_gt;
9131 
9132    function vec_all_gt
9133      (A : vector_signed_char;
9134       B : vector_bool_char) return c_int
9135    is
9136    begin
9137       return vcmpgtsb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
9138    end vec_all_gt;
9139 
9140    function vec_all_gt
9141      (A : vector_signed_char;
9142       B : vector_signed_char) return c_int
9143    is
9144    begin
9145       return vcmpgtsb_p (CR6_LT, To_LL_VSC (A), To_LL_VSC (B));
9146    end vec_all_gt;
9147 
9148    function vec_all_gt
9149      (A : vector_bool_short;
9150       B : vector_unsigned_short) return c_int
9151    is
9152    begin
9153       return vcmpgtuh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
9154    end vec_all_gt;
9155 
9156    function vec_all_gt
9157      (A : vector_unsigned_short;
9158       B : vector_bool_short) return c_int
9159    is
9160    begin
9161       return vcmpgtuh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
9162    end vec_all_gt;
9163 
9164    function vec_all_gt
9165      (A : vector_unsigned_short;
9166       B : vector_unsigned_short) return c_int
9167    is
9168    begin
9169       return vcmpgtuh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
9170    end vec_all_gt;
9171 
9172    function vec_all_gt
9173      (A : vector_bool_short;
9174       B : vector_signed_short) return c_int
9175    is
9176    begin
9177       return vcmpgtsh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
9178    end vec_all_gt;
9179 
9180    function vec_all_gt
9181      (A : vector_signed_short;
9182       B : vector_bool_short) return c_int
9183    is
9184    begin
9185       return vcmpgtsh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
9186    end vec_all_gt;
9187 
9188    function vec_all_gt
9189      (A : vector_signed_short;
9190       B : vector_signed_short) return c_int
9191    is
9192    begin
9193       return vcmpgtsh_p (CR6_LT, To_LL_VSS (A), To_LL_VSS (B));
9194    end vec_all_gt;
9195 
9196    function vec_all_gt
9197      (A : vector_bool_int;
9198       B : vector_unsigned_int) return c_int
9199    is
9200    begin
9201       return vcmpgtuw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
9202    end vec_all_gt;
9203 
9204    function vec_all_gt
9205      (A : vector_unsigned_int;
9206       B : vector_bool_int) return c_int
9207    is
9208    begin
9209       return vcmpgtuw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
9210    end vec_all_gt;
9211 
9212    function vec_all_gt
9213      (A : vector_unsigned_int;
9214       B : vector_unsigned_int) return c_int
9215    is
9216    begin
9217       return vcmpgtuw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
9218    end vec_all_gt;
9219 
9220    function vec_all_gt
9221      (A : vector_bool_int;
9222       B : vector_signed_int) return c_int
9223    is
9224    begin
9225       return vcmpgtsw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
9226    end vec_all_gt;
9227 
9228    function vec_all_gt
9229      (A : vector_signed_int;
9230       B : vector_bool_int) return c_int
9231    is
9232    begin
9233       return vcmpgtsw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
9234    end vec_all_gt;
9235 
9236    function vec_all_gt
9237      (A : vector_signed_int;
9238       B : vector_signed_int) return c_int
9239    is
9240    begin
9241       return vcmpgtsw_p (CR6_LT, To_LL_VSI (A), To_LL_VSI (B));
9242    end vec_all_gt;
9243 
9244    function vec_all_gt
9245      (A : vector_float;
9246       B : vector_float) return c_int
9247    is
9248    begin
9249       return vcmpgtfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (B));
9250    end vec_all_gt;
9251 
9252    ----------------
9253    -- vec_all_in --
9254    ----------------
9255 
9256    function vec_all_in
9257      (A : vector_float;
9258       B : vector_float) return c_int
9259    is
9260    begin
9261       return vcmpbfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
9262    end vec_all_in;
9263 
9264    ----------------
9265    -- vec_all_le --
9266    ----------------
9267 
9268    function vec_all_le
9269      (A : vector_bool_char;
9270       B : vector_unsigned_char) return c_int
9271    is
9272    begin
9273       return vcmpgtub_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9274    end vec_all_le;
9275 
9276    function vec_all_le
9277      (A : vector_unsigned_char;
9278       B : vector_bool_char) return c_int
9279    is
9280    begin
9281       return vcmpgtub_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9282    end vec_all_le;
9283 
9284    function vec_all_le
9285      (A : vector_unsigned_char;
9286       B : vector_unsigned_char) return c_int
9287    is
9288    begin
9289       return vcmpgtub_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9290    end vec_all_le;
9291 
9292    function vec_all_le
9293      (A : vector_bool_char;
9294       B : vector_signed_char) return c_int
9295    is
9296    begin
9297       return vcmpgtsb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9298    end vec_all_le;
9299 
9300    function vec_all_le
9301      (A : vector_signed_char;
9302       B : vector_bool_char) return c_int
9303    is
9304    begin
9305       return vcmpgtsb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9306    end vec_all_le;
9307 
9308    function vec_all_le
9309      (A : vector_signed_char;
9310       B : vector_signed_char) return c_int
9311    is
9312    begin
9313       return vcmpgtsb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9314    end vec_all_le;
9315 
9316    function vec_all_le
9317      (A : vector_bool_short;
9318       B : vector_unsigned_short) return c_int
9319    is
9320    begin
9321       return vcmpgtuh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9322    end vec_all_le;
9323 
9324    function vec_all_le
9325      (A : vector_unsigned_short;
9326       B : vector_bool_short) return c_int
9327    is
9328    begin
9329       return vcmpgtuh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9330    end vec_all_le;
9331 
9332    function vec_all_le
9333      (A : vector_unsigned_short;
9334       B : vector_unsigned_short) return c_int
9335    is
9336    begin
9337       return vcmpgtuh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9338    end vec_all_le;
9339 
9340    function vec_all_le
9341      (A : vector_bool_short;
9342       B : vector_signed_short) return c_int
9343    is
9344    begin
9345       return vcmpgtsh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9346    end vec_all_le;
9347 
9348    function vec_all_le
9349      (A : vector_signed_short;
9350       B : vector_bool_short) return c_int
9351    is
9352    begin
9353       return vcmpgtsh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9354    end vec_all_le;
9355 
9356    function vec_all_le
9357      (A : vector_signed_short;
9358       B : vector_signed_short) return c_int
9359    is
9360    begin
9361       return vcmpgtsh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9362    end vec_all_le;
9363 
9364    function vec_all_le
9365      (A : vector_bool_int;
9366       B : vector_unsigned_int) return c_int
9367    is
9368    begin
9369       return vcmpgtuw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9370    end vec_all_le;
9371 
9372    function vec_all_le
9373      (A : vector_unsigned_int;
9374       B : vector_bool_int) return c_int
9375    is
9376    begin
9377       return vcmpgtuw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9378    end vec_all_le;
9379 
9380    function vec_all_le
9381      (A : vector_unsigned_int;
9382       B : vector_unsigned_int) return c_int
9383    is
9384    begin
9385       return vcmpgtuw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9386    end vec_all_le;
9387 
9388    function vec_all_le
9389      (A : vector_bool_int;
9390       B : vector_signed_int) return c_int
9391    is
9392    begin
9393       return vcmpgtsw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9394    end vec_all_le;
9395 
9396    function vec_all_le
9397      (A : vector_signed_int;
9398       B : vector_bool_int) return c_int
9399    is
9400    begin
9401       return vcmpgtsw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9402    end vec_all_le;
9403 
9404    function vec_all_le
9405      (A : vector_signed_int;
9406       B : vector_signed_int) return c_int
9407    is
9408    begin
9409       return vcmpgtsw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9410    end vec_all_le;
9411 
9412    function vec_all_le
9413      (A : vector_float;
9414       B : vector_float) return c_int
9415    is
9416    begin
9417       return vcmpgefp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A));
9418    end vec_all_le;
9419 
9420    ----------------
9421    -- vec_all_lt --
9422    ----------------
9423 
9424    function vec_all_lt
9425      (A : vector_bool_char;
9426       B : vector_unsigned_char) return c_int
9427    is
9428    begin
9429       return vcmpgtub_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
9430    end vec_all_lt;
9431 
9432    function vec_all_lt
9433      (A : vector_unsigned_char;
9434       B : vector_bool_char) return c_int
9435    is
9436    begin
9437       return vcmpgtub_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
9438    end vec_all_lt;
9439 
9440    function vec_all_lt
9441      (A : vector_unsigned_char;
9442       B : vector_unsigned_char) return c_int
9443    is
9444    begin
9445       return vcmpgtub_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
9446    end vec_all_lt;
9447 
9448    function vec_all_lt
9449      (A : vector_bool_char;
9450       B : vector_signed_char) return c_int
9451    is
9452    begin
9453       return vcmpgtsb_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
9454    end vec_all_lt;
9455 
9456    function vec_all_lt
9457      (A : vector_signed_char;
9458       B : vector_bool_char) return c_int
9459    is
9460    begin
9461       return vcmpgtsb_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
9462    end vec_all_lt;
9463 
9464    function vec_all_lt
9465      (A : vector_signed_char;
9466       B : vector_signed_char) return c_int
9467    is
9468    begin
9469       return vcmpgtsb_p (CR6_LT, To_LL_VSC (B), To_LL_VSC (A));
9470    end vec_all_lt;
9471 
9472    function vec_all_lt
9473      (A : vector_bool_short;
9474       B : vector_unsigned_short) return c_int
9475    is
9476    begin
9477       return vcmpgtuh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
9478    end vec_all_lt;
9479 
9480    function vec_all_lt
9481      (A : vector_unsigned_short;
9482       B : vector_bool_short) return c_int
9483    is
9484    begin
9485       return vcmpgtuh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
9486    end vec_all_lt;
9487 
9488    function vec_all_lt
9489      (A : vector_unsigned_short;
9490       B : vector_unsigned_short) return c_int
9491    is
9492    begin
9493       return vcmpgtuh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
9494    end vec_all_lt;
9495 
9496    function vec_all_lt
9497      (A : vector_bool_short;
9498       B : vector_signed_short) return c_int
9499    is
9500    begin
9501       return vcmpgtsh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
9502    end vec_all_lt;
9503 
9504    function vec_all_lt
9505      (A : vector_signed_short;
9506       B : vector_bool_short) return c_int
9507    is
9508    begin
9509       return vcmpgtsh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
9510    end vec_all_lt;
9511 
9512    function vec_all_lt
9513      (A : vector_signed_short;
9514       B : vector_signed_short) return c_int
9515    is
9516    begin
9517       return vcmpgtsh_p (CR6_LT, To_LL_VSS (B), To_LL_VSS (A));
9518    end vec_all_lt;
9519 
9520    function vec_all_lt
9521      (A : vector_bool_int;
9522       B : vector_unsigned_int) return c_int
9523    is
9524    begin
9525       return vcmpgtuw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
9526    end vec_all_lt;
9527 
9528    function vec_all_lt
9529      (A : vector_unsigned_int;
9530       B : vector_bool_int) return c_int
9531    is
9532    begin
9533       return vcmpgtuw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
9534    end vec_all_lt;
9535 
9536    function vec_all_lt
9537      (A : vector_unsigned_int;
9538       B : vector_unsigned_int) return c_int
9539    is
9540    begin
9541       return vcmpgtuw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
9542    end vec_all_lt;
9543 
9544    function vec_all_lt
9545      (A : vector_bool_int;
9546       B : vector_signed_int) return c_int
9547    is
9548    begin
9549       return vcmpgtsw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
9550    end vec_all_lt;
9551 
9552    function vec_all_lt
9553      (A : vector_signed_int;
9554       B : vector_bool_int) return c_int
9555    is
9556    begin
9557       return vcmpgtsw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
9558    end vec_all_lt;
9559 
9560    function vec_all_lt
9561      (A : vector_signed_int;
9562       B : vector_signed_int) return c_int
9563    is
9564    begin
9565       return vcmpgtsw_p (CR6_LT, To_LL_VSI (B), To_LL_VSI (A));
9566    end vec_all_lt;
9567 
9568    function vec_all_lt
9569      (A : vector_float;
9570       B : vector_float) return c_int
9571    is
9572    begin
9573       return vcmpgtfp_p (CR6_LT, To_LL_VF (B), To_LL_VF (A));
9574    end vec_all_lt;
9575 
9576    -----------------
9577    -- vec_all_nan --
9578    -----------------
9579 
9580    function vec_all_nan
9581      (A : vector_float) return c_int
9582    is
9583    begin
9584       return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (A));
9585    end vec_all_nan;
9586 
9587    ----------------
9588    -- vec_all_ne --
9589    ----------------
9590 
9591    function vec_all_ne
9592      (A : vector_signed_char;
9593       B : vector_bool_char) return c_int
9594    is
9595    begin
9596       return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9597    end vec_all_ne;
9598 
9599    function vec_all_ne
9600      (A : vector_signed_char;
9601       B : vector_signed_char) return c_int
9602    is
9603    begin
9604       return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9605    end vec_all_ne;
9606 
9607    function vec_all_ne
9608      (A : vector_unsigned_char;
9609       B : vector_bool_char) return c_int
9610    is
9611    begin
9612       return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9613    end vec_all_ne;
9614 
9615    function vec_all_ne
9616      (A : vector_unsigned_char;
9617       B : vector_unsigned_char) return c_int
9618    is
9619    begin
9620       return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9621    end vec_all_ne;
9622 
9623    function vec_all_ne
9624      (A : vector_bool_char;
9625       B : vector_bool_char) return c_int
9626    is
9627    begin
9628       return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9629    end vec_all_ne;
9630 
9631    function vec_all_ne
9632      (A : vector_bool_char;
9633       B : vector_unsigned_char) return c_int
9634    is
9635    begin
9636       return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9637    end vec_all_ne;
9638 
9639    function vec_all_ne
9640      (A : vector_bool_char;
9641       B : vector_signed_char) return c_int
9642    is
9643    begin
9644       return vcmpequb_p (CR6_EQ, To_LL_VSC (A), To_LL_VSC (B));
9645    end vec_all_ne;
9646 
9647    function vec_all_ne
9648      (A : vector_signed_short;
9649       B : vector_bool_short) return c_int
9650    is
9651    begin
9652       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9653    end vec_all_ne;
9654 
9655    function vec_all_ne
9656      (A : vector_signed_short;
9657       B : vector_signed_short) return c_int
9658    is
9659    begin
9660       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9661    end vec_all_ne;
9662 
9663    function vec_all_ne
9664      (A : vector_unsigned_short;
9665       B : vector_bool_short) return c_int
9666    is
9667    begin
9668       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9669    end vec_all_ne;
9670 
9671    function vec_all_ne
9672      (A : vector_unsigned_short;
9673       B : vector_unsigned_short) return c_int
9674    is
9675    begin
9676       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9677    end vec_all_ne;
9678 
9679    function vec_all_ne
9680      (A : vector_bool_short;
9681       B : vector_bool_short) return c_int
9682    is
9683    begin
9684       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9685    end vec_all_ne;
9686 
9687    function vec_all_ne
9688      (A : vector_bool_short;
9689       B : vector_unsigned_short) return c_int
9690    is
9691    begin
9692       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9693    end vec_all_ne;
9694 
9695    function vec_all_ne
9696      (A : vector_bool_short;
9697       B : vector_signed_short) return c_int
9698    is
9699    begin
9700       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9701    end vec_all_ne;
9702 
9703    function vec_all_ne
9704      (A : vector_pixel;
9705       B : vector_pixel) return c_int
9706    is
9707    begin
9708       return vcmpequh_p (CR6_EQ, To_LL_VSS (A), To_LL_VSS (B));
9709    end vec_all_ne;
9710 
9711    function vec_all_ne
9712      (A : vector_signed_int;
9713       B : vector_bool_int) return c_int
9714    is
9715    begin
9716       return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9717    end vec_all_ne;
9718 
9719    function vec_all_ne
9720      (A : vector_signed_int;
9721       B : vector_signed_int) return c_int
9722    is
9723    begin
9724       return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9725    end vec_all_ne;
9726 
9727    function vec_all_ne
9728      (A : vector_unsigned_int;
9729       B : vector_bool_int) return c_int
9730    is
9731    begin
9732       return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9733    end vec_all_ne;
9734 
9735    function vec_all_ne
9736      (A : vector_unsigned_int;
9737       B : vector_unsigned_int) return c_int
9738    is
9739    begin
9740       return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9741    end vec_all_ne;
9742 
9743    function vec_all_ne
9744      (A : vector_bool_int;
9745       B : vector_bool_int) return c_int
9746    is
9747    begin
9748       return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9749    end vec_all_ne;
9750 
9751    function vec_all_ne
9752      (A : vector_bool_int;
9753       B : vector_unsigned_int) return c_int
9754    is
9755    begin
9756       return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9757    end vec_all_ne;
9758 
9759    function vec_all_ne
9760      (A : vector_bool_int;
9761       B : vector_signed_int) return c_int
9762    is
9763    begin
9764       return vcmpequw_p (CR6_EQ, To_LL_VSI (A), To_LL_VSI (B));
9765    end vec_all_ne;
9766 
9767    function vec_all_ne
9768      (A : vector_float;
9769       B : vector_float) return c_int
9770    is
9771    begin
9772       return vcmpeqfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
9773    end vec_all_ne;
9774 
9775    -----------------
9776    -- vec_all_nge --
9777    -----------------
9778 
9779    function vec_all_nge
9780      (A : vector_float;
9781       B : vector_float) return c_int
9782    is
9783    begin
9784       return vcmpgefp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
9785    end vec_all_nge;
9786 
9787    -----------------
9788    -- vec_all_ngt --
9789    -----------------
9790 
9791    function vec_all_ngt
9792      (A : vector_float;
9793       B : vector_float) return c_int
9794    is
9795    begin
9796       return vcmpgtfp_p (CR6_EQ, To_LL_VF (A), To_LL_VF (B));
9797    end vec_all_ngt;
9798 
9799    -----------------
9800    -- vec_all_nle --
9801    -----------------
9802 
9803    function vec_all_nle
9804      (A : vector_float;
9805       B : vector_float) return c_int
9806    is
9807    begin
9808       return vcmpgefp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A));
9809    end vec_all_nle;
9810 
9811    -----------------
9812    -- vec_all_nlt --
9813    -----------------
9814 
9815    function vec_all_nlt
9816      (A : vector_float;
9817       B : vector_float) return c_int
9818    is
9819    begin
9820       return vcmpgtfp_p (CR6_EQ, To_LL_VF (B), To_LL_VF (A));
9821    end vec_all_nlt;
9822 
9823    ---------------------
9824    -- vec_all_numeric --
9825    ---------------------
9826 
9827    function vec_all_numeric
9828      (A : vector_float) return c_int
9829    is
9830    begin
9831       return vcmpeqfp_p (CR6_LT, To_LL_VF (A), To_LL_VF (A));
9832    end vec_all_numeric;
9833 
9834    ----------------
9835    -- vec_any_eq --
9836    ----------------
9837 
9838    function vec_any_eq
9839      (A : vector_signed_char;
9840       B : vector_bool_char) return c_int
9841    is
9842    begin
9843       return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
9844    end vec_any_eq;
9845 
9846    function vec_any_eq
9847      (A : vector_signed_char;
9848       B : vector_signed_char) return c_int
9849    is
9850    begin
9851       return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
9852    end vec_any_eq;
9853 
9854    function vec_any_eq
9855      (A : vector_unsigned_char;
9856       B : vector_bool_char) return c_int
9857    is
9858    begin
9859       return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
9860    end vec_any_eq;
9861 
9862    function vec_any_eq
9863      (A : vector_unsigned_char;
9864       B : vector_unsigned_char) return c_int
9865    is
9866    begin
9867       return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
9868    end vec_any_eq;
9869 
9870    function vec_any_eq
9871      (A : vector_bool_char;
9872       B : vector_bool_char) return c_int
9873    is
9874    begin
9875       return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
9876    end vec_any_eq;
9877 
9878    function vec_any_eq
9879      (A : vector_bool_char;
9880       B : vector_unsigned_char) return c_int
9881    is
9882    begin
9883       return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
9884    end vec_any_eq;
9885 
9886    function vec_any_eq
9887      (A : vector_bool_char;
9888       B : vector_signed_char) return c_int
9889    is
9890    begin
9891       return vcmpequb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
9892    end vec_any_eq;
9893 
9894    function vec_any_eq
9895      (A : vector_signed_short;
9896       B : vector_bool_short) return c_int
9897    is
9898    begin
9899       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9900    end vec_any_eq;
9901 
9902    function vec_any_eq
9903      (A : vector_signed_short;
9904       B : vector_signed_short) return c_int
9905    is
9906    begin
9907       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9908    end vec_any_eq;
9909 
9910    function vec_any_eq
9911      (A : vector_unsigned_short;
9912       B : vector_bool_short) return c_int
9913    is
9914    begin
9915       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9916    end vec_any_eq;
9917 
9918    function vec_any_eq
9919      (A : vector_unsigned_short;
9920       B : vector_unsigned_short) return c_int
9921    is
9922    begin
9923       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9924    end vec_any_eq;
9925 
9926    function vec_any_eq
9927      (A : vector_bool_short;
9928       B : vector_bool_short) return c_int
9929    is
9930    begin
9931       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9932    end vec_any_eq;
9933 
9934    function vec_any_eq
9935      (A : vector_bool_short;
9936       B : vector_unsigned_short) return c_int
9937    is
9938    begin
9939       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9940    end vec_any_eq;
9941 
9942    function vec_any_eq
9943      (A : vector_bool_short;
9944       B : vector_signed_short) return c_int
9945    is
9946    begin
9947       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9948    end vec_any_eq;
9949 
9950    function vec_any_eq
9951      (A : vector_pixel;
9952       B : vector_pixel) return c_int
9953    is
9954    begin
9955       return vcmpequh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
9956    end vec_any_eq;
9957 
9958    function vec_any_eq
9959      (A : vector_signed_int;
9960       B : vector_bool_int) return c_int
9961    is
9962    begin
9963       return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
9964    end vec_any_eq;
9965 
9966    function vec_any_eq
9967      (A : vector_signed_int;
9968       B : vector_signed_int) return c_int
9969    is
9970    begin
9971       return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
9972    end vec_any_eq;
9973 
9974    function vec_any_eq
9975      (A : vector_unsigned_int;
9976       B : vector_bool_int) return c_int
9977    is
9978    begin
9979       return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
9980    end vec_any_eq;
9981 
9982    function vec_any_eq
9983      (A : vector_unsigned_int;
9984       B : vector_unsigned_int) return c_int
9985    is
9986    begin
9987       return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
9988    end vec_any_eq;
9989 
9990    function vec_any_eq
9991      (A : vector_bool_int;
9992       B : vector_bool_int) return c_int
9993    is
9994    begin
9995       return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
9996    end vec_any_eq;
9997 
9998    function vec_any_eq
9999      (A : vector_bool_int;
10000       B : vector_unsigned_int) return c_int
10001    is
10002    begin
10003       return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10004    end vec_any_eq;
10005 
10006    function vec_any_eq
10007      (A : vector_bool_int;
10008       B : vector_signed_int) return c_int
10009    is
10010    begin
10011       return vcmpequw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10012    end vec_any_eq;
10013 
10014    function vec_any_eq
10015      (A : vector_float;
10016       B : vector_float) return c_int
10017    is
10018    begin
10019       return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
10020    end vec_any_eq;
10021 
10022    ----------------
10023    -- vec_any_ge --
10024    ----------------
10025 
10026    function vec_any_ge
10027      (A : vector_signed_char;
10028       B : vector_bool_char) return c_int
10029    is
10030    begin
10031       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
10032    end vec_any_ge;
10033 
10034    function vec_any_ge
10035      (A : vector_unsigned_char;
10036       B : vector_bool_char) return c_int
10037    is
10038    begin
10039       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
10040    end vec_any_ge;
10041 
10042    function vec_any_ge
10043      (A : vector_unsigned_char;
10044       B : vector_unsigned_char) return c_int
10045    is
10046    begin
10047       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
10048    end vec_any_ge;
10049 
10050    function vec_any_ge
10051      (A : vector_signed_char;
10052       B : vector_signed_char) return c_int
10053    is
10054    begin
10055       return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
10056    end vec_any_ge;
10057 
10058    function vec_any_ge
10059      (A : vector_bool_char;
10060       B : vector_unsigned_char) return c_int
10061    is
10062    begin
10063       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
10064    end vec_any_ge;
10065 
10066    function vec_any_ge
10067      (A : vector_bool_char;
10068       B : vector_signed_char) return c_int
10069    is
10070    begin
10071       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (B), To_LL_VSC (A));
10072    end vec_any_ge;
10073 
10074    function vec_any_ge
10075      (A : vector_unsigned_short;
10076       B : vector_bool_short) return c_int
10077    is
10078    begin
10079       return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
10080    end vec_any_ge;
10081 
10082    function vec_any_ge
10083      (A : vector_unsigned_short;
10084       B : vector_unsigned_short) return c_int
10085    is
10086    begin
10087       return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
10088    end vec_any_ge;
10089 
10090    function vec_any_ge
10091      (A : vector_signed_short;
10092       B : vector_signed_short) return c_int
10093    is
10094    begin
10095       return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
10096    end vec_any_ge;
10097 
10098    function vec_any_ge
10099      (A : vector_signed_short;
10100       B : vector_bool_short) return c_int
10101    is
10102    begin
10103       return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
10104    end vec_any_ge;
10105 
10106    function vec_any_ge
10107      (A : vector_bool_short;
10108       B : vector_unsigned_short) return c_int
10109    is
10110    begin
10111       return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
10112    end vec_any_ge;
10113 
10114    function vec_any_ge
10115      (A : vector_bool_short;
10116       B : vector_signed_short) return c_int
10117    is
10118    begin
10119       return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (B), To_LL_VSS (A));
10120    end vec_any_ge;
10121 
10122    function vec_any_ge
10123      (A : vector_signed_int;
10124       B : vector_bool_int) return c_int
10125    is
10126    begin
10127       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
10128    end vec_any_ge;
10129 
10130    function vec_any_ge
10131      (A : vector_unsigned_int;
10132       B : vector_bool_int) return c_int
10133    is
10134    begin
10135       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
10136    end vec_any_ge;
10137 
10138    function vec_any_ge
10139      (A : vector_unsigned_int;
10140       B : vector_unsigned_int) return c_int
10141    is
10142    begin
10143       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
10144    end vec_any_ge;
10145 
10146    function vec_any_ge
10147      (A : vector_signed_int;
10148       B : vector_signed_int) return c_int
10149    is
10150    begin
10151       return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
10152    end vec_any_ge;
10153 
10154    function vec_any_ge
10155      (A : vector_bool_int;
10156       B : vector_unsigned_int) return c_int
10157    is
10158    begin
10159       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
10160    end vec_any_ge;
10161 
10162    function vec_any_ge
10163      (A : vector_bool_int;
10164       B : vector_signed_int) return c_int
10165    is
10166    begin
10167       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (B), To_LL_VSI (A));
10168    end vec_any_ge;
10169 
10170    function vec_any_ge
10171      (A : vector_float;
10172       B : vector_float) return c_int
10173    is
10174    begin
10175       return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
10176    end vec_any_ge;
10177 
10178    ----------------
10179    -- vec_any_gt --
10180    ----------------
10181 
10182    function vec_any_gt
10183      (A : vector_bool_char;
10184       B : vector_unsigned_char) return c_int
10185    is
10186    begin
10187       return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
10188    end vec_any_gt;
10189 
10190    function vec_any_gt
10191      (A : vector_unsigned_char;
10192       B : vector_bool_char) return c_int
10193    is
10194    begin
10195       return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
10196    end vec_any_gt;
10197 
10198    function vec_any_gt
10199      (A : vector_unsigned_char;
10200       B : vector_unsigned_char) return c_int
10201    is
10202    begin
10203       return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
10204    end vec_any_gt;
10205 
10206    function vec_any_gt
10207      (A : vector_bool_char;
10208       B : vector_signed_char) return c_int
10209    is
10210    begin
10211       return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
10212    end vec_any_gt;
10213 
10214    function vec_any_gt
10215      (A : vector_signed_char;
10216       B : vector_bool_char) return c_int
10217    is
10218    begin
10219       return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
10220    end vec_any_gt;
10221 
10222    function vec_any_gt
10223      (A : vector_signed_char;
10224       B : vector_signed_char) return c_int
10225    is
10226    begin
10227       return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (A), To_LL_VSC (B));
10228    end vec_any_gt;
10229 
10230    function vec_any_gt
10231      (A : vector_bool_short;
10232       B : vector_unsigned_short) return c_int
10233    is
10234    begin
10235       return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
10236    end vec_any_gt;
10237 
10238    function vec_any_gt
10239      (A : vector_unsigned_short;
10240       B : vector_bool_short) return c_int
10241    is
10242    begin
10243       return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
10244    end vec_any_gt;
10245 
10246    function vec_any_gt
10247      (A : vector_unsigned_short;
10248       B : vector_unsigned_short) return c_int
10249    is
10250    begin
10251       return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
10252    end vec_any_gt;
10253 
10254    function vec_any_gt
10255      (A : vector_bool_short;
10256       B : vector_signed_short) return c_int
10257    is
10258    begin
10259       return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
10260    end vec_any_gt;
10261 
10262    function vec_any_gt
10263      (A : vector_signed_short;
10264       B : vector_bool_short) return c_int
10265    is
10266    begin
10267       return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
10268    end vec_any_gt;
10269 
10270    function vec_any_gt
10271      (A : vector_signed_short;
10272       B : vector_signed_short) return c_int
10273    is
10274    begin
10275       return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (A), To_LL_VSS (B));
10276    end vec_any_gt;
10277 
10278    function vec_any_gt
10279      (A : vector_bool_int;
10280       B : vector_unsigned_int) return c_int
10281    is
10282    begin
10283       return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10284    end vec_any_gt;
10285 
10286    function vec_any_gt
10287      (A : vector_unsigned_int;
10288       B : vector_bool_int) return c_int
10289    is
10290    begin
10291       return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10292    end vec_any_gt;
10293 
10294    function vec_any_gt
10295      (A : vector_unsigned_int;
10296       B : vector_unsigned_int) return c_int
10297    is
10298    begin
10299       return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10300    end vec_any_gt;
10301 
10302    function vec_any_gt
10303      (A : vector_bool_int;
10304       B : vector_signed_int) return c_int
10305    is
10306    begin
10307       return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10308    end vec_any_gt;
10309 
10310    function vec_any_gt
10311      (A : vector_signed_int;
10312       B : vector_bool_int) return c_int
10313    is
10314    begin
10315       return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10316    end vec_any_gt;
10317 
10318    function vec_any_gt
10319      (A : vector_signed_int;
10320       B : vector_signed_int) return c_int
10321    is
10322    begin
10323       return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (A), To_LL_VSI (B));
10324    end vec_any_gt;
10325 
10326    function vec_any_gt
10327      (A : vector_float;
10328       B : vector_float) return c_int
10329    is
10330    begin
10331       return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
10332    end vec_any_gt;
10333 
10334    ----------------
10335    -- vec_any_le --
10336    ----------------
10337 
10338    function vec_any_le
10339      (A : vector_bool_char;
10340       B : vector_unsigned_char) return c_int
10341    is
10342    begin
10343       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10344    end vec_any_le;
10345 
10346    function vec_any_le
10347      (A : vector_unsigned_char;
10348       B : vector_bool_char) return c_int
10349    is
10350    begin
10351       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10352    end vec_any_le;
10353 
10354    function vec_any_le
10355      (A : vector_unsigned_char;
10356       B : vector_unsigned_char) return c_int
10357    is
10358    begin
10359       return vcmpgtub_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10360    end vec_any_le;
10361 
10362    function vec_any_le
10363      (A : vector_bool_char;
10364       B : vector_signed_char) return c_int
10365    is
10366    begin
10367       return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10368    end vec_any_le;
10369 
10370    function vec_any_le
10371      (A : vector_signed_char;
10372       B : vector_bool_char) return c_int
10373    is
10374    begin
10375       return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10376    end vec_any_le;
10377 
10378    function vec_any_le
10379      (A : vector_signed_char;
10380       B : vector_signed_char) return c_int
10381    is
10382    begin
10383       return vcmpgtsb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10384    end vec_any_le;
10385 
10386    function vec_any_le
10387      (A : vector_bool_short;
10388       B : vector_unsigned_short) return c_int
10389    is
10390    begin
10391       return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10392    end vec_any_le;
10393 
10394    function vec_any_le
10395      (A : vector_unsigned_short;
10396       B : vector_bool_short) return c_int
10397    is
10398    begin
10399       return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10400    end vec_any_le;
10401 
10402    function vec_any_le
10403      (A : vector_unsigned_short;
10404       B : vector_unsigned_short) return c_int
10405    is
10406    begin
10407       return vcmpgtuh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10408    end vec_any_le;
10409 
10410    function vec_any_le
10411      (A : vector_bool_short;
10412       B : vector_signed_short) return c_int
10413    is
10414    begin
10415       return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10416    end vec_any_le;
10417 
10418    function vec_any_le
10419      (A : vector_signed_short;
10420       B : vector_bool_short) return c_int
10421    is
10422    begin
10423       return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10424    end vec_any_le;
10425 
10426    function vec_any_le
10427      (A : vector_signed_short;
10428       B : vector_signed_short) return c_int
10429    is
10430    begin
10431       return vcmpgtsh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10432    end vec_any_le;
10433 
10434    function vec_any_le
10435      (A : vector_bool_int;
10436       B : vector_unsigned_int) return c_int
10437    is
10438    begin
10439       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10440    end vec_any_le;
10441 
10442    function vec_any_le
10443      (A : vector_unsigned_int;
10444       B : vector_bool_int) return c_int
10445    is
10446    begin
10447       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10448    end vec_any_le;
10449 
10450    function vec_any_le
10451      (A : vector_unsigned_int;
10452       B : vector_unsigned_int) return c_int
10453    is
10454    begin
10455       return vcmpgtuw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10456    end vec_any_le;
10457 
10458    function vec_any_le
10459      (A : vector_bool_int;
10460       B : vector_signed_int) return c_int
10461    is
10462    begin
10463       return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10464    end vec_any_le;
10465 
10466    function vec_any_le
10467      (A : vector_signed_int;
10468       B : vector_bool_int) return c_int
10469    is
10470    begin
10471       return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10472    end vec_any_le;
10473 
10474    function vec_any_le
10475      (A : vector_signed_int;
10476       B : vector_signed_int) return c_int
10477    is
10478    begin
10479       return vcmpgtsw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10480    end vec_any_le;
10481 
10482    function vec_any_le
10483      (A : vector_float;
10484       B : vector_float) return c_int
10485    is
10486    begin
10487       return vcmpgefp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A));
10488    end vec_any_le;
10489 
10490    ----------------
10491    -- vec_any_lt --
10492    ----------------
10493 
10494    function vec_any_lt
10495      (A : vector_bool_char;
10496       B : vector_unsigned_char) return c_int
10497    is
10498    begin
10499       return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
10500    end vec_any_lt;
10501 
10502    function vec_any_lt
10503      (A : vector_unsigned_char;
10504       B : vector_bool_char) return c_int
10505    is
10506    begin
10507       return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
10508    end vec_any_lt;
10509 
10510    function vec_any_lt
10511      (A : vector_unsigned_char;
10512       B : vector_unsigned_char) return c_int
10513    is
10514    begin
10515       return vcmpgtub_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
10516    end vec_any_lt;
10517 
10518    function vec_any_lt
10519      (A : vector_bool_char;
10520       B : vector_signed_char) return c_int
10521    is
10522    begin
10523       return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
10524    end vec_any_lt;
10525 
10526    function vec_any_lt
10527      (A : vector_signed_char;
10528       B : vector_bool_char) return c_int
10529    is
10530    begin
10531       return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
10532    end vec_any_lt;
10533 
10534    function vec_any_lt
10535      (A : vector_signed_char;
10536       B : vector_signed_char) return c_int
10537    is
10538    begin
10539       return vcmpgtsb_p (CR6_EQ_REV, To_LL_VSC (B), To_LL_VSC (A));
10540    end vec_any_lt;
10541 
10542    function vec_any_lt
10543      (A : vector_bool_short;
10544       B : vector_unsigned_short) return c_int
10545    is
10546    begin
10547       return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
10548    end vec_any_lt;
10549 
10550    function vec_any_lt
10551      (A : vector_unsigned_short;
10552       B : vector_bool_short) return c_int
10553    is
10554    begin
10555       return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
10556    end vec_any_lt;
10557 
10558    function vec_any_lt
10559      (A : vector_unsigned_short;
10560       B : vector_unsigned_short) return c_int
10561    is
10562    begin
10563       return vcmpgtuh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
10564    end vec_any_lt;
10565 
10566    function vec_any_lt
10567      (A : vector_bool_short;
10568       B : vector_signed_short) return c_int
10569    is
10570    begin
10571       return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
10572    end vec_any_lt;
10573 
10574    function vec_any_lt
10575      (A : vector_signed_short;
10576       B : vector_bool_short) return c_int
10577    is
10578    begin
10579       return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
10580    end vec_any_lt;
10581 
10582    function vec_any_lt
10583      (A : vector_signed_short;
10584       B : vector_signed_short) return c_int
10585    is
10586    begin
10587       return vcmpgtsh_p (CR6_EQ_REV, To_LL_VSS (B), To_LL_VSS (A));
10588    end vec_any_lt;
10589 
10590    function vec_any_lt
10591      (A : vector_bool_int;
10592       B : vector_unsigned_int) return c_int
10593    is
10594    begin
10595       return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
10596    end vec_any_lt;
10597 
10598    function vec_any_lt
10599      (A : vector_unsigned_int;
10600       B : vector_bool_int) return c_int
10601    is
10602    begin
10603       return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
10604    end vec_any_lt;
10605 
10606    function vec_any_lt
10607      (A : vector_unsigned_int;
10608       B : vector_unsigned_int) return c_int
10609    is
10610    begin
10611       return vcmpgtuw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
10612    end vec_any_lt;
10613 
10614    function vec_any_lt
10615      (A : vector_bool_int;
10616       B : vector_signed_int) return c_int
10617    is
10618    begin
10619       return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
10620    end vec_any_lt;
10621 
10622    function vec_any_lt
10623      (A : vector_signed_int;
10624       B : vector_bool_int) return c_int
10625    is
10626    begin
10627       return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
10628    end vec_any_lt;
10629 
10630    function vec_any_lt
10631      (A : vector_signed_int;
10632       B : vector_signed_int) return c_int
10633    is
10634    begin
10635       return vcmpgtsw_p (CR6_EQ_REV, To_LL_VSI (B), To_LL_VSI (A));
10636    end vec_any_lt;
10637 
10638    function vec_any_lt
10639      (A : vector_float;
10640       B : vector_float) return c_int
10641    is
10642    begin
10643       return vcmpgtfp_p (CR6_EQ_REV, To_LL_VF (B), To_LL_VF (A));
10644    end vec_any_lt;
10645 
10646    -----------------
10647    -- vec_any_nan --
10648    -----------------
10649 
10650    function vec_any_nan
10651      (A : vector_float) return c_int
10652    is
10653    begin
10654       return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (A));
10655    end vec_any_nan;
10656 
10657    ----------------
10658    -- vec_any_ne --
10659    ----------------
10660 
10661    function vec_any_ne
10662      (A : vector_signed_char;
10663       B : vector_bool_char) return c_int
10664    is
10665    begin
10666       return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10667    end vec_any_ne;
10668 
10669    function vec_any_ne
10670      (A : vector_signed_char;
10671       B : vector_signed_char) return c_int
10672    is
10673    begin
10674       return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10675    end vec_any_ne;
10676 
10677    function vec_any_ne
10678      (A : vector_unsigned_char;
10679       B : vector_bool_char) return c_int
10680    is
10681    begin
10682       return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10683    end vec_any_ne;
10684 
10685    function vec_any_ne
10686      (A : vector_unsigned_char;
10687       B : vector_unsigned_char) return c_int
10688    is
10689    begin
10690       return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10691    end vec_any_ne;
10692 
10693    function vec_any_ne
10694      (A : vector_bool_char;
10695       B : vector_bool_char) return c_int
10696    is
10697    begin
10698       return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10699    end vec_any_ne;
10700 
10701    function vec_any_ne
10702      (A : vector_bool_char;
10703       B : vector_unsigned_char) return c_int
10704    is
10705    begin
10706       return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10707    end vec_any_ne;
10708 
10709    function vec_any_ne
10710      (A : vector_bool_char;
10711       B : vector_signed_char) return c_int
10712    is
10713    begin
10714       return vcmpequb_p (CR6_LT_REV, To_LL_VSC (A), To_LL_VSC (B));
10715    end vec_any_ne;
10716 
10717    function vec_any_ne
10718      (A : vector_signed_short;
10719       B : vector_bool_short) return c_int
10720    is
10721    begin
10722       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10723    end vec_any_ne;
10724 
10725    function vec_any_ne
10726      (A : vector_signed_short;
10727       B : vector_signed_short) return c_int
10728    is
10729    begin
10730       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10731    end vec_any_ne;
10732 
10733    function vec_any_ne
10734      (A : vector_unsigned_short;
10735       B : vector_bool_short) return c_int
10736    is
10737    begin
10738       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10739    end vec_any_ne;
10740 
10741    function vec_any_ne
10742      (A : vector_unsigned_short;
10743       B : vector_unsigned_short) return c_int
10744    is
10745    begin
10746       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10747    end vec_any_ne;
10748 
10749    function vec_any_ne
10750      (A : vector_bool_short;
10751       B : vector_bool_short) return c_int
10752    is
10753    begin
10754       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10755    end vec_any_ne;
10756 
10757    function vec_any_ne
10758      (A : vector_bool_short;
10759       B : vector_unsigned_short) return c_int
10760    is
10761    begin
10762       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10763    end vec_any_ne;
10764 
10765    function vec_any_ne
10766      (A : vector_bool_short;
10767       B : vector_signed_short) return c_int
10768    is
10769    begin
10770       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10771    end vec_any_ne;
10772 
10773    function vec_any_ne
10774      (A : vector_pixel;
10775       B : vector_pixel) return c_int
10776    is
10777    begin
10778       return vcmpequh_p (CR6_LT_REV, To_LL_VSS (A), To_LL_VSS (B));
10779    end vec_any_ne;
10780 
10781    function vec_any_ne
10782      (A : vector_signed_int;
10783       B : vector_bool_int) return c_int
10784    is
10785    begin
10786       return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10787    end vec_any_ne;
10788 
10789    function vec_any_ne
10790      (A : vector_signed_int;
10791       B : vector_signed_int) return c_int
10792    is
10793    begin
10794       return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10795    end vec_any_ne;
10796 
10797    function vec_any_ne
10798      (A : vector_unsigned_int;
10799       B : vector_bool_int) return c_int
10800    is
10801    begin
10802       return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10803    end vec_any_ne;
10804 
10805    function vec_any_ne
10806      (A : vector_unsigned_int;
10807       B : vector_unsigned_int) return c_int
10808    is
10809    begin
10810       return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10811    end vec_any_ne;
10812 
10813    function vec_any_ne
10814      (A : vector_bool_int;
10815       B : vector_bool_int) return c_int
10816    is
10817    begin
10818       return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10819    end vec_any_ne;
10820 
10821    function vec_any_ne
10822      (A : vector_bool_int;
10823       B : vector_unsigned_int) return c_int
10824    is
10825    begin
10826       return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10827    end vec_any_ne;
10828 
10829    function vec_any_ne
10830      (A : vector_bool_int;
10831       B : vector_signed_int) return c_int
10832    is
10833    begin
10834       return vcmpequw_p (CR6_LT_REV, To_LL_VSI (A), To_LL_VSI (B));
10835    end vec_any_ne;
10836 
10837    function vec_any_ne
10838      (A : vector_float;
10839       B : vector_float) return c_int
10840    is
10841    begin
10842       return vcmpeqfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
10843    end vec_any_ne;
10844 
10845    -----------------
10846    -- vec_any_nge --
10847    -----------------
10848 
10849    function vec_any_nge
10850      (A : vector_float;
10851       B : vector_float) return c_int
10852    is
10853    begin
10854       return vcmpgefp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
10855    end vec_any_nge;
10856 
10857    -----------------
10858    -- vec_any_ngt --
10859    -----------------
10860 
10861    function vec_any_ngt
10862      (A : vector_float;
10863       B : vector_float) return c_int
10864    is
10865    begin
10866       return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (A), To_LL_VF (B));
10867    end vec_any_ngt;
10868 
10869    -----------------
10870    -- vec_any_nle --
10871    -----------------
10872 
10873    function vec_any_nle
10874      (A : vector_float;
10875       B : vector_float) return c_int
10876    is
10877    begin
10878       return vcmpgefp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A));
10879    end vec_any_nle;
10880 
10881    -----------------
10882    -- vec_any_nlt --
10883    -----------------
10884 
10885    function vec_any_nlt
10886      (A : vector_float;
10887       B : vector_float) return c_int
10888    is
10889    begin
10890       return vcmpgtfp_p (CR6_LT_REV, To_LL_VF (B), To_LL_VF (A));
10891    end vec_any_nlt;
10892 
10893    ---------------------
10894    -- vec_any_numeric --
10895    ---------------------
10896 
10897    function vec_any_numeric
10898      (A : vector_float) return c_int
10899    is
10900    begin
10901       return vcmpeqfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (A));
10902    end vec_any_numeric;
10903 
10904    -----------------
10905    -- vec_any_out --
10906    -----------------
10907 
10908    function vec_any_out
10909      (A : vector_float;
10910       B : vector_float) return c_int
10911    is
10912    begin
10913       return vcmpbfp_p (CR6_EQ_REV, To_LL_VF (A), To_LL_VF (B));
10914    end vec_any_out;
10915 
10916    --------------
10917    -- vec_step --
10918    --------------
10919 
10920    function vec_step
10921      (V : vector_unsigned_char) return Integer
10922    is
10923       pragma Unreferenced (V);
10924    begin
10925       return 16;
10926    end vec_step;
10927 
10928    function vec_step
10929      (V : vector_signed_char) return Integer
10930    is
10931       pragma Unreferenced (V);
10932    begin
10933       return 16;
10934    end vec_step;
10935 
10936    function vec_step
10937      (V : vector_bool_char) return Integer
10938    is
10939       pragma Unreferenced (V);
10940    begin
10941       return 16;
10942    end vec_step;
10943 
10944    function vec_step
10945      (V : vector_unsigned_short) return Integer
10946    is
10947       pragma Unreferenced (V);
10948    begin
10949       return 8;
10950    end vec_step;
10951 
10952    function vec_step
10953      (V : vector_signed_short) return Integer
10954    is
10955       pragma Unreferenced (V);
10956    begin
10957       return 8;
10958    end vec_step;
10959 
10960    function vec_step
10961      (V : vector_bool_short) return Integer
10962    is
10963       pragma Unreferenced (V);
10964    begin
10965       return 8;
10966    end vec_step;
10967 
10968    function vec_step
10969      (V : vector_unsigned_int) return Integer
10970    is
10971       pragma Unreferenced (V);
10972    begin
10973       return 4;
10974    end vec_step;
10975 
10976    function vec_step
10977      (V : vector_signed_int) return Integer
10978    is
10979       pragma Unreferenced (V);
10980    begin
10981       return 4;
10982    end vec_step;
10983 
10984    function vec_step
10985      (V : vector_bool_int) return Integer
10986    is
10987       pragma Unreferenced (V);
10988    begin
10989       return 4;
10990    end vec_step;
10991 
10992    function vec_step
10993      (V : vector_float) return Integer
10994    is
10995       pragma Unreferenced (V);
10996    begin
10997       return 4;
10998    end vec_step;
10999 
11000    function vec_step
11001      (V : vector_pixel) return Integer
11002    is
11003       pragma Unreferenced (V);
11004    begin
11005       return 4;
11006    end vec_step;
11007 
11008 end GNAT.Altivec.Vector_Operations;