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