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