1 /* PowerPC AltiVec include file.
2 Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
3 Contributed by Aldy Hernandez (aldyh@redhat.com).
5 This file is part of GCC.
7 GCC is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published
9 by the Free Software Foundation; either version 2, or (at your
10 option) any later version.
12 GCC is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING. If not, write to the
19 Free Software Foundation, 59 Temple Place - Suite 330, Boston,
20 MA 02111-1307, USA. */
22 /* As a special exception, if you include this header file into source
23 files compiled by GCC, this header file does not by itself cause
24 the resulting executable to be covered by the GNU General Public
25 License. This exception does not however invalidate any other
26 reasons why the executable file might be covered by the GNU General
29 /* Implemented to conform to the specification included in the AltiVec
30 Technology Programming Interface Manual (ALTIVECPIM/D 6/1999 Rev 0). */
35 #if !defined(__VEC__) || !defined(__ALTIVEC__)
36 #error Use the "-maltivec" flag to enable PowerPC AltiVec support
39 /* You are allowed to undef these for C++ compatibility. */
40 #define vector __vector
44 /* Condition register codes for AltiVec predicates. */
47 #define __CR6_EQ_REV 1
49 #define __CR6_LT_REV 3
51 /* These are easy... Same exact arguments. */
53 #define vec_vaddcuw vec_addc
54 #define vec_vand vec_and
55 #define vec_vandc vec_andc
56 #define vec_vrfip vec_ceil
57 #define vec_vcmpbfp vec_cmpb
58 #define vec_vcmpgefp vec_cmpge
59 #define vec_vctsxs vec_cts
60 #define vec_vctuxs vec_ctu
61 #define vec_vexptefp vec_expte
62 #define vec_vrfim vec_floor
63 #define vec_lvx vec_ld
64 #define vec_lvxl vec_ldl
65 #define vec_vlogefp vec_loge
66 #define vec_vmaddfp vec_madd
67 #define vec_vmhaddshs vec_madds
68 #define vec_vmladduhm vec_mladd
69 #define vec_vmhraddshs vec_mradds
70 #define vec_vnmsubfp vec_nmsub
71 #define vec_vnor vec_nor
72 #define vec_vor vec_or
73 #define vec_vpkpx vec_packpx
74 #define vec_vperm vec_perm
75 #define vec_vrefp vec_re
76 #define vec_vrfin vec_round
77 #define vec_vrsqrtefp vec_rsqrte
78 #define vec_vsel vec_sel
79 #define vec_vsldoi vec_sld
80 #define vec_vsl vec_sll
81 #define vec_vslo vec_slo
82 #define vec_vspltisb vec_splat_s8
83 #define vec_vspltish vec_splat_s16
84 #define vec_vspltisw vec_splat_s32
85 #define vec_vsr vec_srl
86 #define vec_vsro vec_sro
87 #define vec_stvx vec_st
88 #define vec_stvxl vec_stl
89 #define vec_vsubcuw vec_subc
90 #define vec_vsum2sws vec_sum2s
91 #define vec_vsumsws vec_sums
92 #define vec_vrfiz vec_trunc
93 #define vec_vxor vec_xor
99 /* Prototypes for builtins that take literals and must always be
101 inline vector float vec_ctf (vector unsigned int, const int) __attribute__ ((always_inline));
102 inline vector float vec_ctf (vector signed int, const int) __attribute__ ((always_inline));
103 inline vector float vec_vcfsx (vector signed int a1, const int a2) __attribute__ ((always_inline));
104 inline vector float vec_vcfux (vector unsigned int a1, const int a2) __attribute__ ((always_inline));
105 inline vector signed int vec_cts (vector float, const int) __attribute__ ((always_inline));
106 inline vector unsigned int vec_ctu (vector float, const int) __attribute__ ((always_inline));
107 inline void vec_dss (const int) __attribute__ ((always_inline));
109 inline void vec_dst (const vector unsigned char *, int, const int) __attribute__ ((always_inline));
110 inline void vec_dst (const vector signed char *, int, const int) __attribute__ ((always_inline));
111 inline void vec_dst (const vector bool char *, int, const int) __attribute__ ((always_inline));
112 inline void vec_dst (const vector unsigned short *, int, const int) __attribute__ ((always_inline));
113 inline void vec_dst (const vector signed short *, int, const int) __attribute__ ((always_inline));
114 inline void vec_dst (const vector bool short *, int, const int) __attribute__ ((always_inline));
115 inline void vec_dst (const vector pixel *, int, const int) __attribute__ ((always_inline));
116 inline void vec_dst (const vector unsigned int *, int, const int) __attribute__ ((always_inline));
117 inline void vec_dst (const vector signed int *, int, const int) __attribute__ ((always_inline));
118 inline void vec_dst (const vector bool int *, int, const int) __attribute__ ((always_inline));
119 inline void vec_dst (const vector float *, int, const int) __attribute__ ((always_inline));
120 inline void vec_dst (const unsigned char *, int, const int) __attribute__ ((always_inline));
121 inline void vec_dst (const signed char *, int, const int) __attribute__ ((always_inline));
122 inline void vec_dst (const unsigned short *, int, const int) __attribute__ ((always_inline));
123 inline void vec_dst (const short *, int, const int) __attribute__ ((always_inline));
124 inline void vec_dst (const unsigned int *, int, const int) __attribute__ ((always_inline));
125 inline void vec_dst (const int *, int, const int) __attribute__ ((always_inline));
126 inline void vec_dst (const unsigned long *, int, const int) __attribute__ ((always_inline));
127 inline void vec_dst (const long *, int, const int) __attribute__ ((always_inline));
128 inline void vec_dst (const float *, int, const int) __attribute__ ((always_inline));
130 inline void vec_dstst (const vector unsigned char *, int, const int) __attribute__ ((always_inline));
131 inline void vec_dstst (const vector signed char *, int, const int) __attribute__ ((always_inline));
132 inline void vec_dstst (const vector bool char *, int, const int) __attribute__ ((always_inline));
133 inline void vec_dstst (const vector unsigned short *, int, const int) __attribute__ ((always_inline));
134 inline void vec_dstst (const vector signed short *, int, const int) __attribute__ ((always_inline));
135 inline void vec_dstst (const vector bool short *, int, const int) __attribute__ ((always_inline));
136 inline void vec_dstst (const vector pixel *, int, const int) __attribute__ ((always_inline));
137 inline void vec_dstst (const vector unsigned int *, int, const int) __attribute__ ((always_inline));
138 inline void vec_dstst (const vector signed int *, int, const int) __attribute__ ((always_inline));
139 inline void vec_dstst (const vector bool int *, int, const int) __attribute__ ((always_inline));
140 inline void vec_dstst (const vector float *, int, const int) __attribute__ ((always_inline));
141 inline void vec_dstst (const unsigned char *, int, const int) __attribute__ ((always_inline));
142 inline void vec_dstst (const signed char *, int, const int) __attribute__ ((always_inline));
143 inline void vec_dstst (const unsigned short *, int, const int) __attribute__ ((always_inline));
144 inline void vec_dstst (const short *, int, const int) __attribute__ ((always_inline));
145 inline void vec_dstst (const unsigned int *, int, const int) __attribute__ ((always_inline));
146 inline void vec_dstst (const int *, int, const int) __attribute__ ((always_inline));
147 inline void vec_dstst (const unsigned long *, int, const int) __attribute__ ((always_inline));
148 inline void vec_dstst (const long *, int, const int) __attribute__ ((always_inline));
149 inline void vec_dstst (const float *, int, const int) __attribute__ ((always_inline));
151 inline void vec_dststt (const vector unsigned char *, int, const int) __attribute__ ((always_inline));
152 inline void vec_dststt (const vector signed char *, int, const int) __attribute__ ((always_inline));
153 inline void vec_dststt (const vector bool char *, int, const int) __attribute__ ((always_inline));
154 inline void vec_dststt (const vector unsigned short *, int, const int) __attribute__ ((always_inline));
155 inline void vec_dststt (const vector signed short *, int, const int) __attribute__ ((always_inline));
156 inline void vec_dststt (const vector bool short *, int, const int) __attribute__ ((always_inline));
157 inline void vec_dststt (const vector pixel *, int, const int) __attribute__ ((always_inline));
158 inline void vec_dststt (const vector unsigned int *, int, const int) __attribute__ ((always_inline));
159 inline void vec_dststt (const vector signed int *, int, const int) __attribute__ ((always_inline));
160 inline void vec_dststt (const vector bool int *, int, const int) __attribute__ ((always_inline));
161 inline void vec_dststt (const vector float *, int, const int) __attribute__ ((always_inline));
162 inline void vec_dststt (const unsigned char *, int, const int) __attribute__ ((always_inline));
163 inline void vec_dststt (const signed char *, int, const int) __attribute__ ((always_inline));
164 inline void vec_dststt (const unsigned short *, int, const int) __attribute__ ((always_inline));
165 inline void vec_dststt (const short *, int, const int) __attribute__ ((always_inline));
166 inline void vec_dststt (const unsigned int *, int, const int) __attribute__ ((always_inline));
167 inline void vec_dststt (const int *, int, const int) __attribute__ ((always_inline));
168 inline void vec_dststt (const unsigned long *, int, const int) __attribute__ ((always_inline));
169 inline void vec_dststt (const long *, int, const int) __attribute__ ((always_inline));
170 inline void vec_dststt (const float *, int, const int) __attribute__ ((always_inline));
172 inline void vec_dstt (const vector unsigned char *, int, const int) __attribute__ ((always_inline));
173 inline void vec_dstt (const vector signed char *, int, const int) __attribute__ ((always_inline));
174 inline void vec_dstt (const vector bool char *, int, const int) __attribute__ ((always_inline));
175 inline void vec_dstt (const vector unsigned short *, int, const int) __attribute__ ((always_inline));
176 inline void vec_dstt (const vector signed short *, int, const int) __attribute__ ((always_inline));
177 inline void vec_dstt (const vector bool short *, int, const int) __attribute__ ((always_inline));
178 inline void vec_dstt (const vector pixel *, int, const int) __attribute__ ((always_inline));
179 inline void vec_dstt (const vector unsigned int *, int, const int) __attribute__ ((always_inline));
180 inline void vec_dstt (const vector signed int *, int, const int) __attribute__ ((always_inline));
181 inline void vec_dstt (const vector bool int *, int, const int) __attribute__ ((always_inline));
182 inline void vec_dstt (const vector float *, int, const int) __attribute__ ((always_inline));
183 inline void vec_dstt (const unsigned char *, int, const int) __attribute__ ((always_inline));
184 inline void vec_dstt (const signed char *, int, const int) __attribute__ ((always_inline));
185 inline void vec_dstt (const unsigned short *, int, const int) __attribute__ ((always_inline));
186 inline void vec_dstt (const short *, int, const int) __attribute__ ((always_inline));
187 inline void vec_dstt (const unsigned int *, int, const int) __attribute__ ((always_inline));
188 inline void vec_dstt (const int *, int, const int) __attribute__ ((always_inline));
189 inline void vec_dstt (const unsigned long *, int, const int) __attribute__ ((always_inline));
190 inline void vec_dstt (const long *, int, const int) __attribute__ ((always_inline));
191 inline void vec_dstt (const float *, int, const int) __attribute__ ((always_inline));
193 inline vector float vec_sld (vector float, vector float, const int) __attribute__ ((always_inline));
194 inline vector signed int vec_sld (vector signed int, vector signed int, const int) __attribute__ ((always_inline));
195 inline vector unsigned int vec_sld (vector unsigned int, vector unsigned int, const int) __attribute__ ((always_inline));
196 inline vector signed short vec_sld (vector signed short, vector signed short, const int) __attribute__ ((always_inline));
197 inline vector unsigned short vec_sld (vector unsigned short, vector unsigned short, const int) __attribute__ ((always_inline));
198 inline vector pixel vec_sld (vector pixel, vector pixel, const int) __attribute__ ((always_inline));
199 inline vector signed char vec_sld (vector signed char, vector signed char, const int) __attribute__ ((always_inline));
200 inline vector unsigned char vec_sld (vector unsigned char, vector unsigned char, const int) __attribute__ ((always_inline));
201 inline vector signed char vec_splat (vector signed char, const int) __attribute__ ((always_inline));
202 inline vector unsigned char vec_splat (vector unsigned char, const int) __attribute__ ((always_inline));
203 inline vector bool char vec_splat (vector bool char, const int) __attribute__ ((always_inline));
204 inline vector signed short vec_splat (vector signed short, const int) __attribute__ ((always_inline));
205 inline vector unsigned short vec_splat (vector unsigned short, const int) __attribute__ ((always_inline));
206 inline vector bool short vec_splat (vector bool short, const int) __attribute__ ((always_inline));
207 inline vector pixel vec_splat (vector pixel, const int) __attribute__ ((always_inline));
208 inline vector float vec_splat (vector float, const int) __attribute__ ((always_inline));
209 inline vector signed int vec_splat (vector signed int, const int) __attribute__ ((always_inline));
210 inline vector unsigned int vec_splat (vector unsigned int, const int) __attribute__ ((always_inline));
211 inline vector bool int vec_splat (vector bool int, const int) __attribute__ ((always_inline));
212 inline vector signed char vec_splat_s8 (const int) __attribute__ ((always_inline));
213 inline vector signed short vec_splat_s16 (const int) __attribute__ ((always_inline));
214 inline vector signed int vec_splat_s32 (const int) __attribute__ ((always_inline));
215 inline vector unsigned char vec_splat_u8 (const int) __attribute__ ((always_inline));
216 inline vector unsigned short vec_splat_u16 (const int) __attribute__ ((always_inline));
217 inline vector unsigned int vec_splat_u32 (const int) __attribute__ ((always_inline));
218 inline vector float vec_vspltw (vector float a1, const int a2) __attribute__ ((always_inline));
219 inline vector signed int vec_vspltw (vector signed int a1, const int a2) __attribute__ ((always_inline));
220 inline vector unsigned int vec_vspltw (vector unsigned int a1, const int a2) __attribute__ ((always_inline));
221 inline vector signed short vec_vsplth (vector signed short a1, const int a2) __attribute__ ((always_inline));
222 inline vector unsigned short vec_vsplth (vector unsigned short a1, const int a2) __attribute__ ((always_inline));
223 inline vector signed char vec_vspltb (vector signed char a1, const int a2) __attribute__ ((always_inline));
224 inline vector unsigned char vec_vspltb (vector unsigned char a1, const int a2) __attribute__ ((always_inline));
228 template<typename _Tp>
229 struct __vec_step_help
231 // All proper vector types will specialize _S_elem.
235 struct __vec_step_help<vector signed short>
237 static const int _S_elem = 8;
241 struct __vec_step_help<vector unsigned short>
243 static const int _S_elem = 8;
247 struct __vec_step_help<vector bool short>
249 static const int _S_elem = 8;
253 struct __vec_step_help<vector pixel>
255 static const int _S_elem = 8;
259 struct __vec_step_help<vector signed int>
261 static const int _S_elem = 4;
265 struct __vec_step_help<vector unsigned int>
267 static const int _S_elem = 4;
271 struct __vec_step_help<vector bool int>
273 static const int _S_elem = 4;
277 struct __vec_step_help<vector unsigned char>
279 static const int _S_elem = 16;
283 struct __vec_step_help<vector signed char>
285 static const int _S_elem = 16;
289 struct __vec_step_help<vector bool char>
291 static const int _S_elem = 16;
295 struct __vec_step_help<vector float>
297 static const int _S_elem = 4;
300 #define vec_step(t) __vec_step_help<typeof(t)>::_S_elem
304 inline vector signed char
305 vec_abs (vector signed char a1)
307 return __builtin_altivec_abs_v16qi (a1);
310 inline vector signed short
311 vec_abs (vector signed short a1)
313 return __builtin_altivec_abs_v8hi (a1);
316 inline vector signed int
317 vec_abs (vector signed int a1)
319 return __builtin_altivec_abs_v4si (a1);
323 vec_abs (vector float a1)
325 return __builtin_altivec_abs_v4sf (a1);
330 inline vector signed char
331 vec_abss (vector signed char a1)
333 return __builtin_altivec_abss_v16qi (a1);
336 inline vector signed short
337 vec_abss (vector signed short a1)
339 return __builtin_altivec_abss_v8hi (a1);
342 inline vector signed int
343 vec_abss (vector signed int a1)
345 return __builtin_altivec_abss_v4si (a1);
350 inline vector signed char
351 vec_add (vector bool char a1, vector signed char a2)
353 return (vector signed char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
356 inline vector signed char
357 vec_add (vector signed char a1, vector bool char a2)
359 return (vector signed char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
362 inline vector signed char
363 vec_add (vector signed char a1, vector signed char a2)
365 return (vector signed char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
368 inline vector unsigned char
369 vec_add (vector bool char a1, vector unsigned char a2)
371 return (vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
374 inline vector unsigned char
375 vec_add (vector unsigned char a1, vector bool char a2)
377 return (vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
380 inline vector unsigned char
381 vec_add (vector unsigned char a1, vector unsigned char a2)
383 return (vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
386 inline vector signed short
387 vec_add (vector bool short a1, vector signed short a2)
389 return (vector signed short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
392 inline vector signed short
393 vec_add (vector signed short a1, vector bool short a2)
395 return (vector signed short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
398 inline vector signed short
399 vec_add (vector signed short a1, vector signed short a2)
401 return (vector signed short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
404 inline vector unsigned short
405 vec_add (vector bool short a1, vector unsigned short a2)
407 return (vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
410 inline vector unsigned short
411 vec_add (vector unsigned short a1, vector bool short a2)
413 return (vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
416 inline vector unsigned short
417 vec_add (vector unsigned short a1, vector unsigned short a2)
419 return (vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
422 inline vector signed int
423 vec_add (vector bool int a1, vector signed int a2)
425 return (vector signed int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
428 inline vector signed int
429 vec_add (vector signed int a1, vector bool int a2)
431 return (vector signed int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
434 inline vector signed int
435 vec_add (vector signed int a1, vector signed int a2)
437 return (vector signed int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
440 inline vector unsigned int
441 vec_add (vector bool int a1, vector unsigned int a2)
443 return (vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
446 inline vector unsigned int
447 vec_add (vector unsigned int a1, vector bool int a2)
449 return (vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
452 inline vector unsigned int
453 vec_add (vector unsigned int a1, vector unsigned int a2)
455 return (vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
459 vec_add (vector float a1, vector float a2)
461 return (vector float) __builtin_altivec_vaddfp ((vector float) a1, (vector float) a2);
467 vec_vaddfp (vector float a1, vector float a2)
469 return (vector float) __builtin_altivec_vaddfp ((vector float) a1, (vector float) a2);
474 inline vector signed int
475 vec_vadduwm (vector signed int a1, vector signed int a2)
477 return (vector signed int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
480 inline vector unsigned int
481 vec_vadduwm (vector signed int a1, vector unsigned int a2)
483 return (vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
486 inline vector unsigned int
487 vec_vadduwm (vector unsigned int a1, vector signed int a2)
489 return (vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
492 inline vector unsigned int
493 vec_vadduwm (vector unsigned int a1, vector unsigned int a2)
495 return (vector unsigned int) __builtin_altivec_vadduwm ((vector signed int) a1, (vector signed int) a2);
500 inline vector signed short
501 vec_vadduhm (vector signed short a1, vector signed short a2)
503 return (vector signed short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
506 inline vector unsigned short
507 vec_vadduhm (vector signed short a1, vector unsigned short a2)
509 return (vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
512 inline vector unsigned short
513 vec_vadduhm (vector unsigned short a1, vector signed short a2)
515 return (vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
518 inline vector unsigned short
519 vec_vadduhm (vector unsigned short a1, vector unsigned short a2)
521 return (vector unsigned short) __builtin_altivec_vadduhm ((vector signed short) a1, (vector signed short) a2);
526 inline vector signed char
527 vec_vaddubm (vector signed char a1, vector signed char a2)
529 return (vector signed char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
532 inline vector unsigned char
533 vec_vaddubm (vector signed char a1, vector unsigned char a2)
535 return (vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
538 inline vector unsigned char
539 vec_vaddubm (vector unsigned char a1, vector signed char a2)
541 return (vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
544 inline vector unsigned char
545 vec_vaddubm (vector unsigned char a1, vector unsigned char a2)
547 return (vector unsigned char) __builtin_altivec_vaddubm ((vector signed char) a1, (vector signed char) a2);
552 inline vector unsigned int
553 vec_addc (vector unsigned int a1, vector unsigned int a2)
555 return (vector unsigned int) __builtin_altivec_vaddcuw ((vector signed int) a1, (vector signed int) a2);
560 inline vector unsigned char
561 vec_adds (vector bool char a1, vector unsigned char a2)
563 return (vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) a1, (vector signed char) a2);
566 inline vector unsigned char
567 vec_adds (vector unsigned char a1, vector bool char a2)
569 return (vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) a1, (vector signed char) a2);
572 inline vector unsigned char
573 vec_adds (vector unsigned char a1, vector unsigned char a2)
575 return (vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) a1, (vector signed char) a2);
578 inline vector signed char
579 vec_adds (vector bool char a1, vector signed char a2)
581 return (vector signed char) __builtin_altivec_vaddsbs ((vector signed char) a1, (vector signed char) a2);
584 inline vector signed char
585 vec_adds (vector signed char a1, vector bool char a2)
587 return (vector signed char) __builtin_altivec_vaddsbs ((vector signed char) a1, (vector signed char) a2);
590 inline vector signed char
591 vec_adds (vector signed char a1, vector signed char a2)
593 return (vector signed char) __builtin_altivec_vaddsbs ((vector signed char) a1, (vector signed char) a2);
596 inline vector unsigned short
597 vec_adds (vector bool short a1, vector unsigned short a2)
599 return (vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) a1, (vector signed short) a2);
602 inline vector unsigned short
603 vec_adds (vector unsigned short a1, vector bool short a2)
605 return (vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) a1, (vector signed short) a2);
608 inline vector unsigned short
609 vec_adds (vector unsigned short a1, vector unsigned short a2)
611 return (vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) a1, (vector signed short) a2);
614 inline vector signed short
615 vec_adds (vector bool short a1, vector signed short a2)
617 return (vector signed short) __builtin_altivec_vaddshs ((vector signed short) a1, (vector signed short) a2);
620 inline vector signed short
621 vec_adds (vector signed short a1, vector bool short a2)
623 return (vector signed short) __builtin_altivec_vaddshs ((vector signed short) a1, (vector signed short) a2);
626 inline vector signed short
627 vec_adds (vector signed short a1, vector signed short a2)
629 return (vector signed short) __builtin_altivec_vaddshs ((vector signed short) a1, (vector signed short) a2);
632 inline vector unsigned int
633 vec_adds (vector bool int a1, vector unsigned int a2)
635 return (vector unsigned int) __builtin_altivec_vadduws ((vector signed int) a1, (vector signed int) a2);
638 inline vector unsigned int
639 vec_adds (vector unsigned int a1, vector bool int a2)
641 return (vector unsigned int) __builtin_altivec_vadduws ((vector signed int) a1, (vector signed int) a2);
644 inline vector unsigned int
645 vec_adds (vector unsigned int a1, vector unsigned int a2)
647 return (vector unsigned int) __builtin_altivec_vadduws ((vector signed int) a1, (vector signed int) a2);
650 inline vector signed int
651 vec_adds (vector bool int a1, vector signed int a2)
653 return (vector signed int) __builtin_altivec_vaddsws ((vector signed int) a1, (vector signed int) a2);
656 inline vector signed int
657 vec_adds (vector signed int a1, vector bool int a2)
659 return (vector signed int) __builtin_altivec_vaddsws ((vector signed int) a1, (vector signed int) a2);
662 inline vector signed int
663 vec_adds (vector signed int a1, vector signed int a2)
665 return (vector signed int) __builtin_altivec_vaddsws ((vector signed int) a1, (vector signed int) a2);
670 inline vector signed int
671 vec_vaddsws (vector signed int a1, vector signed int a2)
673 return (vector signed int) __builtin_altivec_vaddsws ((vector signed int) a1, (vector signed int) a2);
678 inline vector unsigned int
679 vec_vadduws (vector signed int a1, vector unsigned int a2)
681 return (vector unsigned int) __builtin_altivec_vadduws ((vector signed int) a1, (vector signed int) a2);
684 inline vector unsigned int
685 vec_vadduws (vector unsigned int a1, vector signed int a2)
687 return (vector unsigned int) __builtin_altivec_vadduws ((vector signed int) a1, (vector signed int) a2);
690 inline vector unsigned int
691 vec_vadduws (vector unsigned int a1, vector unsigned int a2)
693 return (vector unsigned int) __builtin_altivec_vadduws ((vector signed int) a1, (vector signed int) a2);
697 inline vector signed short
698 vec_vaddshs (vector signed short a1, vector signed short a2)
700 return (vector signed short) __builtin_altivec_vaddshs ((vector signed short) a1, (vector signed short) a2);
705 inline vector unsigned short
706 vec_vadduhs (vector signed short a1, vector unsigned short a2)
708 return (vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) a1, (vector signed short) a2);
711 inline vector unsigned short
712 vec_vadduhs (vector unsigned short a1, vector signed short a2)
714 return (vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) a1, (vector signed short) a2);
717 inline vector unsigned short
718 vec_vadduhs (vector unsigned short a1, vector unsigned short a2)
720 return (vector unsigned short) __builtin_altivec_vadduhs ((vector signed short) a1, (vector signed short) a2);
725 inline vector signed char
726 vec_vaddsbs (vector signed char a1, vector signed char a2)
728 return (vector signed char) __builtin_altivec_vaddsbs ((vector signed char) a1, (vector signed char) a2);
733 inline vector unsigned char
734 vec_vaddubs (vector signed char a1, vector unsigned char a2)
736 return (vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) a1, (vector signed char) a2);
739 inline vector unsigned char
740 vec_vaddubs (vector unsigned char a1, vector signed char a2)
742 return (vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) a1, (vector signed char) a2);
745 inline vector unsigned char
746 vec_vaddubs (vector unsigned char a1, vector unsigned char a2)
748 return (vector unsigned char) __builtin_altivec_vaddubs ((vector signed char) a1, (vector signed char) a2);
754 vec_and (vector float a1, vector float a2)
756 return (vector float) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
760 vec_and (vector float a1, vector bool int a2)
762 return (vector float) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
766 vec_and (vector bool int a1, vector float a2)
768 return (vector float) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
771 inline vector bool int
772 vec_and (vector bool int a1, vector bool int a2)
774 return (vector bool int) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
777 inline vector signed int
778 vec_and (vector bool int a1, vector signed int a2)
780 return (vector signed int) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
783 inline vector signed int
784 vec_and (vector signed int a1, vector bool int a2)
786 return (vector signed int) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
789 inline vector signed int
790 vec_and (vector signed int a1, vector signed int a2)
792 return (vector signed int) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
795 inline vector unsigned int
796 vec_and (vector bool int a1, vector unsigned int a2)
798 return (vector unsigned int) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
801 inline vector unsigned int
802 vec_and (vector unsigned int a1, vector bool int a2)
804 return (vector unsigned int) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
807 inline vector unsigned int
808 vec_and (vector unsigned int a1, vector unsigned int a2)
810 return (vector unsigned int) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
813 inline vector bool short
814 vec_and (vector bool short a1, vector bool short a2)
816 return (vector bool short) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
819 inline vector signed short
820 vec_and (vector bool short a1, vector signed short a2)
822 return (vector signed short) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
825 inline vector signed short
826 vec_and (vector signed short a1, vector bool short a2)
828 return (vector signed short) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
831 inline vector signed short
832 vec_and (vector signed short a1, vector signed short a2)
834 return (vector signed short) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
837 inline vector unsigned short
838 vec_and (vector bool short a1, vector unsigned short a2)
840 return (vector unsigned short) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
843 inline vector unsigned short
844 vec_and (vector unsigned short a1, vector bool short a2)
846 return (vector unsigned short) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
849 inline vector unsigned short
850 vec_and (vector unsigned short a1, vector unsigned short a2)
852 return (vector unsigned short) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
855 inline vector signed char
856 vec_and (vector bool char a1, vector signed char a2)
858 return (vector signed char) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
861 inline vector bool char
862 vec_and (vector bool char a1, vector bool char a2)
864 return (vector bool char) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
867 inline vector signed char
868 vec_and (vector signed char a1, vector bool char a2)
870 return (vector signed char) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
873 inline vector signed char
874 vec_and (vector signed char a1, vector signed char a2)
876 return (vector signed char) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
879 inline vector unsigned char
880 vec_and (vector bool char a1, vector unsigned char a2)
882 return (vector unsigned char) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
885 inline vector unsigned char
886 vec_and (vector unsigned char a1, vector bool char a2)
888 return (vector unsigned char) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
891 inline vector unsigned char
892 vec_and (vector unsigned char a1, vector unsigned char a2)
894 return (vector unsigned char) __builtin_altivec_vand ((vector signed int) a1, (vector signed int) a2);
900 vec_andc (vector float a1, vector float a2)
902 return (vector float) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
906 vec_andc (vector float a1, vector bool int a2)
908 return (vector float) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
912 vec_andc (vector bool int a1, vector float a2)
914 return (vector float) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
917 inline vector bool int
918 vec_andc (vector bool int a1, vector bool int a2)
920 return (vector bool int) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
923 inline vector signed int
924 vec_andc (vector bool int a1, vector signed int a2)
926 return (vector signed int) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
929 inline vector signed int
930 vec_andc (vector signed int a1, vector bool int a2)
932 return (vector signed int) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
935 inline vector signed int
936 vec_andc (vector signed int a1, vector signed int a2)
938 return (vector signed int) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
941 inline vector unsigned int
942 vec_andc (vector bool int a1, vector unsigned int a2)
944 return (vector unsigned int) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
947 inline vector unsigned int
948 vec_andc (vector unsigned int a1, vector bool int a2)
950 return (vector unsigned int) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
953 inline vector unsigned int
954 vec_andc (vector unsigned int a1, vector unsigned int a2)
956 return (vector unsigned int) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
959 inline vector bool short
960 vec_andc (vector bool short a1, vector bool short a2)
962 return (vector bool short) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
965 inline vector signed short
966 vec_andc (vector bool short a1, vector signed short a2)
968 return (vector signed short) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
971 inline vector signed short
972 vec_andc (vector signed short a1, vector bool short a2)
974 return (vector signed short) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
977 inline vector signed short
978 vec_andc (vector signed short a1, vector signed short a2)
980 return (vector signed short) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
983 inline vector unsigned short
984 vec_andc (vector bool short a1, vector unsigned short a2)
986 return (vector unsigned short) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
989 inline vector unsigned short
990 vec_andc (vector unsigned short a1, vector bool short a2)
992 return (vector unsigned short) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
995 inline vector unsigned short
996 vec_andc (vector unsigned short a1, vector unsigned short a2)
998 return (vector unsigned short) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1001 inline vector signed char
1002 vec_andc (vector bool char a1, vector signed char a2)
1004 return (vector signed char) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1007 inline vector bool char
1008 vec_andc (vector bool char a1, vector bool char a2)
1010 return (vector bool char) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1013 inline vector signed char
1014 vec_andc (vector signed char a1, vector bool char a2)
1016 return (vector signed char) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1019 inline vector signed char
1020 vec_andc (vector signed char a1, vector signed char a2)
1022 return (vector signed char) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1025 inline vector unsigned char
1026 vec_andc (vector bool char a1, vector unsigned char a2)
1028 return (vector unsigned char) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1031 inline vector unsigned char
1032 vec_andc (vector unsigned char a1, vector bool char a2)
1034 return (vector unsigned char) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1037 inline vector unsigned char
1038 vec_andc (vector unsigned char a1, vector unsigned char a2)
1040 return (vector unsigned char) __builtin_altivec_vandc ((vector signed int) a1, (vector signed int) a2);
1045 inline vector unsigned char
1046 vec_avg (vector unsigned char a1, vector unsigned char a2)
1048 return (vector unsigned char) __builtin_altivec_vavgub ((vector signed char) a1, (vector signed char) a2);
1051 inline vector signed char
1052 vec_avg (vector signed char a1, vector signed char a2)
1054 return (vector signed char) __builtin_altivec_vavgsb ((vector signed char) a1, (vector signed char) a2);
1057 inline vector unsigned short
1058 vec_avg (vector unsigned short a1, vector unsigned short a2)
1060 return (vector unsigned short) __builtin_altivec_vavguh ((vector signed short) a1, (vector signed short) a2);
1063 inline vector signed short
1064 vec_avg (vector signed short a1, vector signed short a2)
1066 return (vector signed short) __builtin_altivec_vavgsh ((vector signed short) a1, (vector signed short) a2);
1069 inline vector unsigned int
1070 vec_avg (vector unsigned int a1, vector unsigned int a2)
1072 return (vector unsigned int) __builtin_altivec_vavguw ((vector signed int) a1, (vector signed int) a2);
1075 inline vector signed int
1076 vec_avg (vector signed int a1, vector signed int a2)
1078 return (vector signed int) __builtin_altivec_vavgsw ((vector signed int) a1, (vector signed int) a2);
1083 inline vector signed int
1084 vec_vavgsw (vector signed int a1, vector signed int a2)
1086 return (vector signed int) __builtin_altivec_vavgsw ((vector signed int) a1, (vector signed int) a2);
1091 inline vector unsigned int
1092 vec_vavguw (vector unsigned int a1, vector unsigned int a2)
1094 return (vector unsigned int) __builtin_altivec_vavguw ((vector signed int) a1, (vector signed int) a2);
1099 inline vector signed short
1100 vec_vavgsh (vector signed short a1, vector signed short a2)
1102 return (vector signed short) __builtin_altivec_vavgsh ((vector signed short) a1, (vector signed short) a2);
1107 inline vector unsigned short
1108 vec_vavguh (vector unsigned short a1, vector unsigned short a2)
1110 return (vector unsigned short) __builtin_altivec_vavguh ((vector signed short) a1, (vector signed short) a2);
1115 inline vector signed char
1116 vec_vavgsb (vector signed char a1, vector signed char a2)
1118 return (vector signed char) __builtin_altivec_vavgsb ((vector signed char) a1, (vector signed char) a2);
1123 inline vector unsigned char
1124 vec_vavgub (vector unsigned char a1, vector unsigned char a2)
1126 return (vector unsigned char) __builtin_altivec_vavgub ((vector signed char) a1, (vector signed char) a2);
1132 vec_ceil (vector float a1)
1134 return (vector float) __builtin_altivec_vrfip ((vector float) a1);
1139 inline vector signed int
1140 vec_cmpb (vector float a1, vector float a2)
1142 return (vector signed int) __builtin_altivec_vcmpbfp ((vector float) a1, (vector float) a2);
1147 inline vector bool char
1148 vec_cmpeq (vector signed char a1, vector signed char a2)
1150 return (vector bool char) __builtin_altivec_vcmpequb ((vector signed char) a1, (vector signed char) a2);
1153 inline vector bool char
1154 vec_cmpeq (vector unsigned char a1, vector unsigned char a2)
1156 return (vector bool char) __builtin_altivec_vcmpequb ((vector signed char) a1, (vector signed char) a2);
1159 inline vector bool short
1160 vec_cmpeq (vector signed short a1, vector signed short a2)
1162 return (vector bool short) __builtin_altivec_vcmpequh ((vector signed short) a1, (vector signed short) a2);
1165 inline vector bool short
1166 vec_cmpeq (vector unsigned short a1, vector unsigned short a2)
1168 return (vector bool short) __builtin_altivec_vcmpequh ((vector signed short) a1, (vector signed short) a2);
1171 inline vector bool int
1172 vec_cmpeq (vector signed int a1, vector signed int a2)
1174 return (vector bool int) __builtin_altivec_vcmpequw ((vector signed int) a1, (vector signed int) a2);
1177 inline vector bool int
1178 vec_cmpeq (vector unsigned int a1, vector unsigned int a2)
1180 return (vector bool int) __builtin_altivec_vcmpequw ((vector signed int) a1, (vector signed int) a2);
1183 inline vector bool int
1184 vec_cmpeq (vector float a1, vector float a2)
1186 return (vector bool int) __builtin_altivec_vcmpeqfp ((vector float) a1, (vector float) a2);
1191 inline vector signed int
1192 vec_vcmpeqfp (vector float a1, vector float a2)
1194 return (vector signed int) __builtin_altivec_vcmpeqfp ((vector float) a1, (vector float) a2);
1199 inline vector signed int
1200 vec_vcmpequw (vector signed int a1, vector signed int a2)
1202 return (vector signed int) __builtin_altivec_vcmpequw ((vector signed int) a1, (vector signed int) a2);
1205 inline vector signed int
1206 vec_vcmpequw (vector unsigned int a1, vector unsigned int a2)
1208 return (vector signed int) __builtin_altivec_vcmpequw ((vector signed int) a1, (vector signed int) a2);
1213 inline vector signed short
1214 vec_vcmpequh (vector signed short a1, vector signed short a2)
1216 return (vector signed short) __builtin_altivec_vcmpequh ((vector signed short) a1, (vector signed short) a2);
1219 inline vector signed short
1220 vec_vcmpequh (vector unsigned short a1, vector unsigned short a2)
1222 return (vector signed short) __builtin_altivec_vcmpequh ((vector signed short) a1, (vector signed short) a2);
1227 inline vector signed char
1228 vec_vcmpequb (vector signed char a1, vector signed char a2)
1230 return (vector signed char) __builtin_altivec_vcmpequb ((vector signed char) a1, (vector signed char) a2);
1233 inline vector signed char
1234 vec_vcmpequb (vector unsigned char a1, vector unsigned char a2)
1236 return (vector signed char) __builtin_altivec_vcmpequb ((vector signed char) a1, (vector signed char) a2);
1241 inline vector bool int
1242 vec_cmpge (vector float a1, vector float a2)
1244 return (vector bool int) __builtin_altivec_vcmpgefp ((vector float) a1, (vector float) a2);
1249 inline vector bool char
1250 vec_cmpgt (vector unsigned char a1, vector unsigned char a2)
1252 return (vector bool char) __builtin_altivec_vcmpgtub ((vector signed char) a1, (vector signed char) a2);
1255 inline vector bool char
1256 vec_cmpgt (vector signed char a1, vector signed char a2)
1258 return (vector bool char) __builtin_altivec_vcmpgtsb ((vector signed char) a1, (vector signed char) a2);
1261 inline vector bool short
1262 vec_cmpgt (vector unsigned short a1, vector unsigned short a2)
1264 return (vector bool short) __builtin_altivec_vcmpgtuh ((vector signed short) a1, (vector signed short) a2);
1267 inline vector bool short
1268 vec_cmpgt (vector signed short a1, vector signed short a2)
1270 return (vector bool short) __builtin_altivec_vcmpgtsh ((vector signed short) a1, (vector signed short) a2);
1273 inline vector bool int
1274 vec_cmpgt (vector unsigned int a1, vector unsigned int a2)
1276 return (vector bool int) __builtin_altivec_vcmpgtuw ((vector signed int) a1, (vector signed int) a2);
1279 inline vector bool int
1280 vec_cmpgt (vector signed int a1, vector signed int a2)
1282 return (vector bool int) __builtin_altivec_vcmpgtsw ((vector signed int) a1, (vector signed int) a2);
1285 inline vector bool int
1286 vec_cmpgt (vector float a1, vector float a2)
1288 return (vector bool int) __builtin_altivec_vcmpgtfp ((vector float) a1, (vector float) a2);
1293 inline vector signed int
1294 vec_vcmpgtfp (vector float a1, vector float a2)
1296 return (vector signed int) __builtin_altivec_vcmpgtfp ((vector float) a1, (vector float) a2);
1301 inline vector signed int
1302 vec_vcmpgtsw (vector signed int a1, vector signed int a2)
1304 return (vector signed int) __builtin_altivec_vcmpgtsw ((vector signed int) a1, (vector signed int) a2);
1309 inline vector signed int
1310 vec_vcmpgtuw (vector unsigned int a1, vector unsigned int a2)
1312 return (vector signed int) __builtin_altivec_vcmpgtuw ((vector signed int) a1, (vector signed int) a2);
1317 inline vector signed short
1318 vec_cmpgtsh (vector signed short a1, vector signed short a2)
1320 return (vector signed short) __builtin_altivec_vcmpgtsh ((vector signed short) a1, (vector signed short) a2);
1325 inline vector signed short
1326 vec_vcmpgtuh (vector unsigned short a1, vector unsigned short a2)
1328 return (vector signed short) __builtin_altivec_vcmpgtuh ((vector signed short) a1, (vector signed short) a2);
1333 inline vector signed char
1334 vec_vcmpgtsb (vector signed char a1, vector signed char a2)
1336 return (vector signed char) __builtin_altivec_vcmpgtsb ((vector signed char) a1, (vector signed char) a2);
1341 inline vector signed char
1342 vec_vcmpgtub (vector unsigned char a1, vector unsigned char a2)
1344 return (vector signed char) __builtin_altivec_vcmpgtub ((vector signed char) a1, (vector signed char) a2);
1349 inline vector bool int
1350 vec_cmple (vector float a1, vector float a2)
1352 return (vector bool int) __builtin_altivec_vcmpgefp ((vector float) a2, (vector float) a1);
1357 inline vector bool char
1358 vec_cmplt (vector unsigned char a1, vector unsigned char a2)
1360 return (vector bool char) __builtin_altivec_vcmpgtub ((vector signed char) a2, (vector signed char) a1);
1363 inline vector bool char
1364 vec_cmplt (vector signed char a1, vector signed char a2)
1366 return (vector bool char) __builtin_altivec_vcmpgtsb ((vector signed char) a2, (vector signed char) a1);
1369 inline vector bool short
1370 vec_cmplt (vector unsigned short a1, vector unsigned short a2)
1372 return (vector bool short) __builtin_altivec_vcmpgtuh ((vector signed short) a2, (vector signed short) a1);
1375 inline vector bool short
1376 vec_cmplt (vector signed short a1, vector signed short a2)
1378 return (vector bool short) __builtin_altivec_vcmpgtsh ((vector signed short) a2, (vector signed short) a1);
1381 inline vector bool int
1382 vec_cmplt (vector unsigned int a1, vector unsigned int a2)
1384 return (vector bool int) __builtin_altivec_vcmpgtuw ((vector signed int) a2, (vector signed int) a1);
1387 inline vector bool int
1388 vec_cmplt (vector signed int a1, vector signed int a2)
1390 return (vector bool int) __builtin_altivec_vcmpgtsw ((vector signed int) a2, (vector signed int) a1);
1393 inline vector bool int
1394 vec_cmplt (vector float a1, vector float a2)
1396 return (vector bool int) __builtin_altivec_vcmpgtfp ((vector float) a2, (vector float) a1);
1402 vec_ctf (vector unsigned int a1, const int a2)
1404 return (vector float) __builtin_altivec_vcfux ((vector signed int) a1, a2);
1408 vec_ctf (vector signed int a1, const int a2)
1410 return (vector float) __builtin_altivec_vcfsx ((vector signed int) a1, a2);
1416 vec_vcfsx (vector signed int a1, const int a2)
1418 return (vector float) __builtin_altivec_vcfsx ((vector signed int) a1, a2);
1424 vec_vcfux (vector unsigned int a1, const int a2)
1426 return (vector float) __builtin_altivec_vcfux ((vector signed int) a1, a2);
1431 inline vector signed int
1432 vec_cts (vector float a1, const int a2)
1434 return (vector signed int) __builtin_altivec_vctsxs ((vector float) a1, a2);
1439 inline vector unsigned int
1440 vec_ctu (vector float a1, const int a2)
1442 return (vector unsigned int) __builtin_altivec_vctuxs ((vector float) a1, a2);
1448 vec_dss (const int a1)
1450 __builtin_altivec_dss (a1);
1458 __builtin_altivec_dssall ();
1464 vec_dst (const vector unsigned char *a1, int a2, const int a3)
1466 __builtin_altivec_dst ((void *) a1, a2, a3);
1470 vec_dst (const vector signed char *a1, int a2, const int a3)
1472 __builtin_altivec_dst ((void *) a1, a2, a3);
1476 vec_dst (const vector bool char *a1, int a2, const int a3)
1478 __builtin_altivec_dst ((void *) a1, a2, a3);
1482 vec_dst (const vector unsigned short *a1, int a2, const int a3)
1484 __builtin_altivec_dst ((void *) a1, a2, a3);
1488 vec_dst (const vector signed short *a1, int a2, const int a3)
1490 __builtin_altivec_dst ((void *) a1, a2, a3);
1494 vec_dst (const vector bool short *a1, int a2, const int a3)
1496 __builtin_altivec_dst ((void *) a1, a2, a3);
1500 vec_dst (const vector pixel *a1, int a2, const int a3)
1502 __builtin_altivec_dst ((void *) a1, a2, a3);
1506 vec_dst (const vector unsigned int *a1, int a2, const int a3)
1508 __builtin_altivec_dst ((void *) a1, a2, a3);
1512 vec_dst (const vector signed int *a1, int a2, const int a3)
1514 __builtin_altivec_dst ((void *) a1, a2, a3);
1518 vec_dst (const vector bool int *a1, int a2, const int a3)
1520 __builtin_altivec_dst ((void *) a1, a2, a3);
1524 vec_dst (const vector float *a1, int a2, const int a3)
1526 __builtin_altivec_dst ((void *) a1, a2, a3);
1530 vec_dst (const unsigned char *a1, int a2, const int a3)
1532 __builtin_altivec_dst ((void *) a1, a2, a3);
1536 vec_dst (const signed char *a1, int a2, const int a3)
1538 __builtin_altivec_dst ((void *) a1, a2, a3);
1542 vec_dst (const unsigned short *a1, int a2, const int a3)
1544 __builtin_altivec_dst ((void *) a1, a2, a3);
1548 vec_dst (const short *a1, int a2, const int a3)
1550 __builtin_altivec_dst ((void *) a1, a2, a3);
1554 vec_dst (const unsigned int *a1, int a2, const int a3)
1556 __builtin_altivec_dst ((void *) a1, a2, a3);
1560 vec_dst (const int *a1, int a2, const int a3)
1562 __builtin_altivec_dst ((void *) a1, a2, a3);
1566 vec_dst (const unsigned long *a1, int a2, const int a3)
1568 __builtin_altivec_dst ((void *) a1, a2, a3);
1572 vec_dst (const long *a1, int a2, const int a3)
1574 __builtin_altivec_dst ((void *) a1, a2, a3);
1578 vec_dst (float *a1, int a2, const int a3)
1580 __builtin_altivec_dst ((void *) a1, a2, a3);
1586 vec_dstst (const vector unsigned char *a1, int a2, const int a3)
1588 __builtin_altivec_dstst ((void *) a1, a2, a3);
1592 vec_dstst (const vector signed char *a1, int a2, const int a3)
1594 __builtin_altivec_dstst ((void *) a1, a2, a3);
1598 vec_dstst (const vector bool char *a1, int a2, const int a3)
1600 __builtin_altivec_dstst ((void *) a1, a2, a3);
1604 vec_dstst (const vector unsigned short *a1, int a2, const int a3)
1606 __builtin_altivec_dstst ((void *) a1, a2, a3);
1610 vec_dstst (const vector signed short *a1, int a2, const int a3)
1612 __builtin_altivec_dstst ((void *) a1, a2, a3);
1616 vec_dstst (const vector bool short *a1, int a2, const int a3)
1618 __builtin_altivec_dstst ((void *) a1, a2, a3);
1622 vec_dstst (const vector pixel *a1, int a2, const int a3)
1624 __builtin_altivec_dstst ((void *) a1, a2, a3);
1628 vec_dstst (const vector unsigned int *a1, int a2, const int a3)
1630 __builtin_altivec_dstst ((void *) a1, a2, a3);
1634 vec_dstst (const vector signed int *a1, int a2, const int a3)
1636 __builtin_altivec_dstst ((void *) a1, a2, a3);
1640 vec_dstst (const vector bool int *a1, int a2, const int a3)
1642 __builtin_altivec_dstst ((void *) a1, a2, a3);
1646 vec_dstst (const vector float *a1, int a2, const int a3)
1648 __builtin_altivec_dstst ((void *) a1, a2, a3);
1652 vec_dstst (const unsigned char *a1, int a2, const int a3)
1654 __builtin_altivec_dstst ((void *) a1, a2, a3);
1658 vec_dstst (const signed char *a1, int a2, const int a3)
1660 __builtin_altivec_dstst ((void *) a1, a2, a3);
1664 vec_dstst (const unsigned short *a1, int a2, const int a3)
1666 __builtin_altivec_dstst ((void *) a1, a2, a3);
1670 vec_dstst (const short *a1, int a2, const int a3)
1672 __builtin_altivec_dstst ((void *) a1, a2, a3);
1676 vec_dstst (const unsigned int *a1, int a2, const int a3)
1678 __builtin_altivec_dstst ((void *) a1, a2, a3);
1682 vec_dstst (const int *a1, int a2, const int a3)
1684 __builtin_altivec_dstst ((void *) a1, a2, a3);
1688 vec_dstst (const unsigned long *a1, int a2, const int a3)
1690 __builtin_altivec_dstst ((void *) a1, a2, a3);
1694 vec_dstst (const long *a1, int a2, const int a3)
1696 __builtin_altivec_dstst ((void *) a1, a2, a3);
1700 vec_dstst (float *a1, int a2, const int a3)
1702 __builtin_altivec_dstst ((void *) a1, a2, a3);
1708 vec_dststt (const vector unsigned char *a1, int a2, const int a3)
1710 __builtin_altivec_dststt ((void *) a1, a2, a3);
1714 vec_dststt (const vector signed char *a1, int a2, const int a3)
1716 __builtin_altivec_dststt ((void *) a1, a2, a3);
1720 vec_dststt (const vector bool char *a1, int a2, const int a3)
1722 __builtin_altivec_dststt ((void *) a1, a2, a3);
1726 vec_dststt (const vector unsigned short *a1, int a2, const int a3)
1728 __builtin_altivec_dststt ((void *) a1, a2, a3);
1732 vec_dststt (const vector signed short *a1, int a2, const int a3)
1734 __builtin_altivec_dststt ((void *) a1, a2, a3);
1738 vec_dststt (const vector bool short *a1, int a2, const int a3)
1740 __builtin_altivec_dststt ((void *) a1, a2, a3);
1744 vec_dststt (const vector pixel *a1, int a2, const int a3)
1746 __builtin_altivec_dststt ((void *) a1, a2, a3);
1750 vec_dststt (const vector unsigned int *a1, int a2, const int a3)
1752 __builtin_altivec_dststt ((void *) a1, a2, a3);
1756 vec_dststt (const vector signed int *a1, int a2, const int a3)
1758 __builtin_altivec_dststt ((void *) a1, a2, a3);
1762 vec_dststt (const vector bool int *a1, int a2, const int a3)
1764 __builtin_altivec_dststt ((void *) a1, a2, a3);
1768 vec_dststt (const vector float *a1, int a2, const int a3)
1770 __builtin_altivec_dststt ((void *) a1, a2, a3);
1774 vec_dststt (const unsigned char *a1, int a2, const int a3)
1776 __builtin_altivec_dststt ((void *) a1, a2, a3);
1780 vec_dststt (const signed char *a1, int a2, const int a3)
1782 __builtin_altivec_dststt ((void *) a1, a2, a3);
1786 vec_dststt (const unsigned short *a1, int a2, const int a3)
1788 __builtin_altivec_dststt ((void *) a1, a2, a3);
1792 vec_dststt (const short *a1, int a2, const int a3)
1794 __builtin_altivec_dststt ((void *) a1, a2, a3);
1798 vec_dststt (const unsigned int *a1, int a2, const int a3)
1800 __builtin_altivec_dststt ((void *) a1, a2, a3);
1804 vec_dststt (const int *a1, int a2, const int a3)
1806 __builtin_altivec_dststt ((void *) a1, a2, a3);
1810 vec_dststt (const unsigned long *a1, int a2, const int a3)
1812 __builtin_altivec_dststt ((void *) a1, a2, a3);
1816 vec_dststt (const long *a1, int a2, const int a3)
1818 __builtin_altivec_dststt ((void *) a1, a2, a3);
1822 vec_dststt (float *a1, int a2, const int a3)
1824 __builtin_altivec_dststt ((void *) a1, a2, a3);
1830 vec_dstt (const vector unsigned char *a1, int a2, const int a3)
1832 __builtin_altivec_dstt ((void *) a1, a2, a3);
1836 vec_dstt (const vector signed char *a1, int a2, const int a3)
1838 __builtin_altivec_dstt ((void *) a1, a2, a3);
1842 vec_dstt (const vector bool char *a1, int a2, const int a3)
1844 __builtin_altivec_dstt ((void *) a1, a2, a3);
1848 vec_dstt (const vector unsigned short *a1, int a2, const int a3)
1850 __builtin_altivec_dstt ((void *) a1, a2, a3);
1854 vec_dstt (const vector signed short *a1, int a2, const int a3)
1856 __builtin_altivec_dstt ((void *) a1, a2, a3);
1860 vec_dstt (const vector bool short *a1, int a2, const int a3)
1862 __builtin_altivec_dstt ((void *) a1, a2, a3);
1866 vec_dstt (const vector pixel *a1, int a2, const int a3)
1868 __builtin_altivec_dstt ((void *) a1, a2, a3);
1872 vec_dstt (const vector unsigned int *a1, int a2, const int a3)
1874 __builtin_altivec_dstt ((void *) a1, a2, a3);
1878 vec_dstt (const vector signed int *a1, int a2, const int a3)
1880 __builtin_altivec_dstt ((void *) a1, a2, a3);
1884 vec_dstt (const vector bool int *a1, int a2, const int a3)
1886 __builtin_altivec_dstt ((void *) a1, a2, a3);
1890 vec_dstt (const vector float *a1, int a2, const int a3)
1892 __builtin_altivec_dstt ((void *) a1, a2, a3);
1896 vec_dstt (const unsigned char *a1, int a2, const int a3)
1898 __builtin_altivec_dstt ((void *) a1, a2, a3);
1902 vec_dstt (const signed char *a1, int a2, const int a3)
1904 __builtin_altivec_dstt ((void *) a1, a2, a3);
1908 vec_dstt (const unsigned short *a1, int a2, const int a3)
1910 __builtin_altivec_dstt ((void *) a1, a2, a3);
1914 vec_dstt (const short *a1, int a2, const int a3)
1916 __builtin_altivec_dstt ((void *) a1, a2, a3);
1920 vec_dstt (const unsigned int *a1, int a2, const int a3)
1922 __builtin_altivec_dstt ((void *) a1, a2, a3);
1926 vec_dstt (const int *a1, int a2, const int a3)
1928 __builtin_altivec_dstt ((void *) a1, a2, a3);
1932 vec_dstt (const unsigned long *a1, int a2, const int a3)
1934 __builtin_altivec_dstt ((void *) a1, a2, a3);
1938 vec_dstt (const long *a1, int a2, const int a3)
1940 __builtin_altivec_dstt ((void *) a1, a2, a3);
1944 vec_dstt (float *a1, int a2, const int a3)
1946 __builtin_altivec_dstt ((void *) a1, a2, a3);
1952 vec_expte (vector float a1)
1954 return (vector float) __builtin_altivec_vexptefp ((vector float) a1);
1960 vec_floor (vector float a1)
1962 return (vector float) __builtin_altivec_vrfim ((vector float) a1);
1968 vec_ld (int a1, const vector float *a2)
1970 return (vector float) __builtin_altivec_lvx (a1, (void *) a2);
1974 vec_ld (int a1, const float *a2)
1976 return (vector float) __builtin_altivec_lvx (a1, (void *) a2);
1979 inline vector bool int
1980 vec_ld (int a1, const vector bool int *a2)
1982 return (vector bool int) __builtin_altivec_lvx (a1, (void *) a2);
1985 inline vector signed int
1986 vec_ld (int a1, const vector signed int *a2)
1988 return (vector signed int) __builtin_altivec_lvx (a1, (void *) a2);
1991 inline vector signed int
1992 vec_ld (int a1, const int *a2)
1994 return (vector signed int) __builtin_altivec_lvx (a1, (void *) a2);
1997 inline vector signed int
1998 vec_ld (int a1, const long *a2)
2000 return (vector signed int) __builtin_altivec_lvx (a1, (void *) a2);
2003 inline vector unsigned int
2004 vec_ld (int a1, const vector unsigned int *a2)
2006 return (vector unsigned int) __builtin_altivec_lvx (a1, (void *) a2);
2009 inline vector unsigned int
2010 vec_ld (int a1, const unsigned int *a2)
2012 return (vector unsigned int) __builtin_altivec_lvx (a1, (void *) a2);
2015 inline vector unsigned int
2016 vec_ld (int a1, const unsigned long *a2)
2018 return (vector unsigned int) __builtin_altivec_lvx (a1, (void *) a2);
2021 inline vector bool short
2022 vec_ld (int a1, const vector bool short *a2)
2024 return (vector bool short) __builtin_altivec_lvx (a1, (void *) a2);
2028 vec_ld (int a1, const vector pixel *a2)
2030 return (vector pixel) __builtin_altivec_lvx (a1, (void *) a2);
2033 inline vector signed short
2034 vec_ld (int a1, const vector signed short *a2)
2036 return (vector signed short) __builtin_altivec_lvx (a1, (void *) a2);
2039 inline vector signed short
2040 vec_ld (int a1, const short *a2)
2042 return (vector signed short) __builtin_altivec_lvx (a1, (void *) a2);
2045 inline vector unsigned short
2046 vec_ld (int a1, const vector unsigned short *a2)
2048 return (vector unsigned short) __builtin_altivec_lvx (a1, (void *) a2);
2051 inline vector unsigned short
2052 vec_ld (int a1, const unsigned short *a2)
2054 return (vector unsigned short) __builtin_altivec_lvx (a1, (void *) a2);
2057 inline vector bool char
2058 vec_ld (int a1, const vector bool char *a2)
2060 return (vector bool char) __builtin_altivec_lvx (a1, (void *) a2);
2063 inline vector signed char
2064 vec_ld (int a1, const vector signed char *a2)
2066 return (vector signed char) __builtin_altivec_lvx (a1, (void *) a2);
2069 inline vector signed char
2070 vec_ld (int a1, const signed char *a2)
2072 return (vector signed char) __builtin_altivec_lvx (a1, (void *) a2);
2075 inline vector unsigned char
2076 vec_ld (int a1, const vector unsigned char *a2)
2078 return (vector unsigned char) __builtin_altivec_lvx (a1, (void *) a2);
2081 inline vector unsigned char
2082 vec_ld (int a1, const unsigned char *a2)
2084 return (vector unsigned char) __builtin_altivec_lvx (a1, (void *) a2);
2089 inline vector signed char
2090 vec_lde (int a1, const signed char *a2)
2092 return (vector signed char) __builtin_altivec_lvebx (a1, (void *) a2);
2095 inline vector unsigned char
2096 vec_lde (int a1, const unsigned char *a2)
2098 return (vector unsigned char) __builtin_altivec_lvebx (a1, (void *) a2);
2101 inline vector signed short
2102 vec_lde (int a1, const short *a2)
2104 return (vector signed short) __builtin_altivec_lvehx (a1, (void *) a2);
2107 inline vector unsigned short
2108 vec_lde (int a1, const unsigned short *a2)
2110 return (vector unsigned short) __builtin_altivec_lvehx (a1, (void *) a2);
2114 vec_lde (int a1, const float *a2)
2116 return (vector float) __builtin_altivec_lvewx (a1, (void *) a2);
2119 inline vector signed int
2120 vec_lde (int a1, const int *a2)
2122 return (vector signed int) __builtin_altivec_lvewx (a1, (void *) a2);
2125 inline vector unsigned int
2126 vec_lde (int a1, const unsigned int *a2)
2128 return (vector unsigned int) __builtin_altivec_lvewx (a1, (void *) a2);
2131 inline vector signed int
2132 vec_lde (int a1, const long *a2)
2134 return (vector signed int) __builtin_altivec_lvewx (a1, (void *) a2);
2137 inline vector unsigned int
2138 vec_lde (int a1, const unsigned long *a2)
2140 return (vector unsigned int) __builtin_altivec_lvewx (a1, (void *) a2);
2146 vec_lvewx (int a1, const float *a2)
2148 return (vector float) __builtin_altivec_lvewx (a1, (void *) a2);
2151 inline vector signed int
2152 vec_lvewx (int a1, const int *a2)
2154 return (vector signed int) __builtin_altivec_lvewx (a1, (void *) a2);
2157 inline vector unsigned int
2158 vec_lvewx (int a1, const unsigned int *a2)
2160 return (vector unsigned int) __builtin_altivec_lvewx (a1, (void *) a2);
2163 inline vector signed int
2164 vec_lvewx (int a1, const long *a2)
2166 return (vector signed int) __builtin_altivec_lvewx (a1, (void *) a2);
2169 inline vector unsigned int
2170 vec_lvewx (int a1, const unsigned long *a2)
2172 return (vector unsigned int) __builtin_altivec_lvewx (a1, (void *) a2);
2177 inline vector signed short
2178 vec_lvehx (int a1, const short *a2)
2180 return (vector signed short) __builtin_altivec_lvehx (a1, (void *) a2);
2183 inline vector unsigned short
2184 vec_lvehx (int a1, const unsigned short *a2)
2186 return (vector unsigned short) __builtin_altivec_lvehx (a1, (void *) a2);
2191 inline vector signed char
2192 vec_lvebx (int a1, const signed char *a2)
2194 return (vector signed char) __builtin_altivec_lvebx (a1, (void *) a2);
2197 inline vector unsigned char
2198 vec_lvebx (int a1, const int *a2)
2200 return (vector unsigned char) __builtin_altivec_lvebx (a1, (void *) a2);
2206 vec_ldl (int a1, const vector float *a2)
2208 return (vector float) __builtin_altivec_lvxl (a1, (void *) a2);
2212 vec_ldl (int a1, const float *a2)
2214 return (vector float) __builtin_altivec_lvxl (a1, (void *) a2);
2217 inline vector bool int
2218 vec_ldl (int a1, const vector bool int *a2)
2220 return (vector bool int) __builtin_altivec_lvxl (a1, (void *) a2);
2223 inline vector signed int
2224 vec_ldl (int a1, const vector signed int *a2)
2226 return (vector signed int) __builtin_altivec_lvxl (a1, (void *) a2);
2229 inline vector signed int
2230 vec_ldl (int a1, const int *a2)
2232 return (vector signed int) __builtin_altivec_lvxl (a1, (void *) a2);
2235 inline vector signed int
2236 vec_ldl (int a1, const long *a2)
2238 return (vector signed int) __builtin_altivec_lvxl (a1, (void *) a2);
2241 inline vector unsigned int
2242 vec_ldl (int a1, const vector unsigned int *a2)
2244 return (vector unsigned int) __builtin_altivec_lvxl (a1, (void *) a2);
2247 inline vector unsigned int
2248 vec_ldl (int a1, const unsigned int *a2)
2250 return (vector unsigned int) __builtin_altivec_lvxl (a1, (void *) a2);
2253 inline vector unsigned int
2254 vec_ldl (int a1, const unsigned long *a2)
2256 return (vector unsigned int) __builtin_altivec_lvxl (a1, (void *) a2);
2259 inline vector bool short
2260 vec_ldl (int a1, const vector bool short *a2)
2262 return (vector bool short) __builtin_altivec_lvxl (a1, (void *) a2);
2266 vec_ldl (int a1, const vector pixel *a2)
2268 return (vector pixel) __builtin_altivec_lvxl (a1, (void *) a2);
2271 inline vector signed short
2272 vec_ldl (int a1, const vector signed short *a2)
2274 return (vector signed short) __builtin_altivec_lvxl (a1, (void *) a2);
2277 inline vector signed short
2278 vec_ldl (int a1, const short *a2)
2280 return (vector signed short) __builtin_altivec_lvxl (a1, (void *) a2);
2283 inline vector unsigned short
2284 vec_ldl (int a1, const vector unsigned short *a2)
2286 return (vector unsigned short) __builtin_altivec_lvxl (a1, (void *) a2);
2289 inline vector unsigned short
2290 vec_ldl (int a1, const unsigned short *a2)
2292 return (vector unsigned short) __builtin_altivec_lvxl (a1, (void *) a2);
2295 inline vector bool char
2296 vec_ldl (int a1, const vector bool char *a2)
2298 return (vector bool char) __builtin_altivec_lvxl (a1, (void *) a2);
2301 inline vector signed char
2302 vec_ldl (int a1, const vector signed char *a2)
2304 return (vector signed char) __builtin_altivec_lvxl (a1, (void *) a2);
2307 inline vector signed char
2308 vec_ldl (int a1, const signed char *a2)
2310 return (vector signed char) __builtin_altivec_lvxl (a1, (void *) a2);
2313 inline vector unsigned char
2314 vec_ldl (int a1, const vector unsigned char *a2)
2316 return (vector unsigned char) __builtin_altivec_lvxl (a1, (void *) a2);
2319 inline vector unsigned char
2320 vec_ldl (int a1, const unsigned char *a2)
2322 return (vector unsigned char) __builtin_altivec_lvxl (a1, (void *) a2);
2328 vec_loge (vector float a1)
2330 return (vector float) __builtin_altivec_vlogefp ((vector float) a1);
2335 inline vector unsigned char
2336 vec_lvsl (int a1, const volatile unsigned char *a2)
2338 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2341 inline vector unsigned char
2342 vec_lvsl (int a1, const volatile signed char *a2)
2344 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2347 inline vector unsigned char
2348 vec_lvsl (int a1, const volatile unsigned short *a2)
2350 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2353 inline vector unsigned char
2354 vec_lvsl (int a1, const volatile short *a2)
2356 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2359 inline vector unsigned char
2360 vec_lvsl (int a1, const volatile unsigned int *a2)
2362 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2365 inline vector unsigned char
2366 vec_lvsl (int a1, const volatile int *a2)
2368 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2371 inline vector unsigned char
2372 vec_lvsl (int a1, const volatile unsigned long *a2)
2374 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2377 inline vector unsigned char
2378 vec_lvsl (int a1, const volatile long *a2)
2380 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2383 inline vector unsigned char
2384 vec_lvsl (int a1, const volatile float *a2)
2386 return (vector unsigned char) __builtin_altivec_lvsl (a1, (void *) a2);
2391 inline vector unsigned char
2392 vec_lvsr (int a1, const volatile unsigned char *a2)
2394 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2397 inline vector unsigned char
2398 vec_lvsr (int a1, const volatile signed char *a2)
2400 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2403 inline vector unsigned char
2404 vec_lvsr (int a1, const volatile unsigned short *a2)
2406 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2409 inline vector unsigned char
2410 vec_lvsr (int a1, const volatile short *a2)
2412 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2415 inline vector unsigned char
2416 vec_lvsr (int a1, const volatile unsigned int *a2)
2418 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2421 inline vector unsigned char
2422 vec_lvsr (int a1, const volatile int *a2)
2424 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2427 inline vector unsigned char
2428 vec_lvsr (int a1, const volatile unsigned long *a2)
2430 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2433 inline vector unsigned char
2434 vec_lvsr (int a1, const volatile long *a2)
2436 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2439 inline vector unsigned char
2440 vec_lvsr (int a1, const volatile float *a2)
2442 return (vector unsigned char) __builtin_altivec_lvsr (a1, (void *) a2);
2448 vec_madd (vector float a1, vector float a2, vector float a3)
2450 return (vector float) __builtin_altivec_vmaddfp ((vector float) a1, (vector float) a2, (vector float) a3);
2455 inline vector signed short
2456 vec_madds (vector signed short a1, vector signed short a2, vector signed short a3)
2458 return (vector signed short) __builtin_altivec_vmhaddshs ((vector signed short) a1, (vector signed short) a2, (vector signed short) a3);
2463 inline vector unsigned char
2464 vec_max (vector bool char a1, vector unsigned char a2)
2466 return (vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) a1, (vector signed char) a2);
2469 inline vector unsigned char
2470 vec_max (vector unsigned char a1, vector bool char a2)
2472 return (vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) a1, (vector signed char) a2);
2475 inline vector unsigned char
2476 vec_max (vector unsigned char a1, vector unsigned char a2)
2478 return (vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) a1, (vector signed char) a2);
2481 inline vector signed char
2482 vec_max (vector bool char a1, vector signed char a2)
2484 return (vector signed char) __builtin_altivec_vmaxsb ((vector signed char) a1, (vector signed char) a2);
2487 inline vector signed char
2488 vec_max (vector signed char a1, vector bool char a2)
2490 return (vector signed char) __builtin_altivec_vmaxsb ((vector signed char) a1, (vector signed char) a2);
2493 inline vector signed char
2494 vec_max (vector signed char a1, vector signed char a2)
2496 return (vector signed char) __builtin_altivec_vmaxsb ((vector signed char) a1, (vector signed char) a2);
2499 inline vector unsigned short
2500 vec_max (vector bool short a1, vector unsigned short a2)
2502 return (vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) a1, (vector signed short) a2);
2505 inline vector unsigned short
2506 vec_max (vector unsigned short a1, vector bool short a2)
2508 return (vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) a1, (vector signed short) a2);
2511 inline vector unsigned short
2512 vec_max (vector unsigned short a1, vector unsigned short a2)
2514 return (vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) a1, (vector signed short) a2);
2517 inline vector signed short
2518 vec_max (vector bool short a1, vector signed short a2)
2520 return (vector signed short) __builtin_altivec_vmaxsh ((vector signed short) a1, (vector signed short) a2);
2523 inline vector signed short
2524 vec_max (vector signed short a1, vector bool short a2)
2526 return (vector signed short) __builtin_altivec_vmaxsh ((vector signed short) a1, (vector signed short) a2);
2529 inline vector signed short
2530 vec_max (vector signed short a1, vector signed short a2)
2532 return (vector signed short) __builtin_altivec_vmaxsh ((vector signed short) a1, (vector signed short) a2);
2535 inline vector unsigned int
2536 vec_max (vector bool int a1, vector unsigned int a2)
2538 return (vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) a1, (vector signed int) a2);
2541 inline vector unsigned int
2542 vec_max (vector unsigned int a1, vector bool int a2)
2544 return (vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) a1, (vector signed int) a2);
2547 inline vector unsigned int
2548 vec_max (vector unsigned int a1, vector unsigned int a2)
2550 return (vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) a1, (vector signed int) a2);
2553 inline vector signed int
2554 vec_max (vector bool int a1, vector signed int a2)
2556 return (vector signed int) __builtin_altivec_vmaxsw ((vector signed int) a1, (vector signed int) a2);
2559 inline vector signed int
2560 vec_max (vector signed int a1, vector bool int a2)
2562 return (vector signed int) __builtin_altivec_vmaxsw ((vector signed int) a1, (vector signed int) a2);
2565 inline vector signed int
2566 vec_max (vector signed int a1, vector signed int a2)
2568 return (vector signed int) __builtin_altivec_vmaxsw ((vector signed int) a1, (vector signed int) a2);
2572 vec_max (vector float a1, vector float a2)
2574 return (vector float) __builtin_altivec_vmaxfp ((vector float) a1, (vector float) a2);
2580 vec_vmaxfp (vector float a1, vector float a2)
2582 return (vector float) __builtin_altivec_vmaxfp ((vector float) a1, (vector float) a2);
2587 inline vector signed int
2588 vec_vmaxsw (vector signed int a1, vector signed int a2)
2590 return (vector signed int) __builtin_altivec_vmaxsw ((vector signed int) a1, (vector signed int) a2);
2595 inline vector unsigned int
2596 vec_vmaxuw (vector signed int a1, vector unsigned int a2)
2598 return (vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) a1, (vector signed int) a2);
2601 inline vector unsigned int
2602 vec_vmaxuw (vector unsigned int a1, vector signed int a2)
2604 return (vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) a1, (vector signed int) a2);
2607 inline vector unsigned int
2608 vec_vmaxuw (vector unsigned int a1, vector unsigned int a2)
2610 return (vector unsigned int) __builtin_altivec_vmaxuw ((vector signed int) a1, (vector signed int) a2);
2615 inline vector signed short
2616 vec_vmaxsh (vector signed short a1, vector signed short a2)
2618 return (vector signed short) __builtin_altivec_vmaxsh ((vector signed short) a1, (vector signed short) a2);
2623 inline vector unsigned short
2624 vec_vmaxuh (vector signed short a1, vector unsigned short a2)
2626 return (vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) a1, (vector signed short) a2);
2629 inline vector unsigned short
2630 vec_vmaxuh (vector unsigned short a1, vector signed short a2)
2632 return (vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) a1, (vector signed short) a2);
2635 inline vector unsigned short
2636 vec_vmaxuh (vector unsigned short a1, vector unsigned short a2)
2638 return (vector unsigned short) __builtin_altivec_vmaxuh ((vector signed short) a1, (vector signed short) a2);
2643 inline vector signed char
2644 vec_vmaxsb (vector signed char a1, vector signed char a2)
2646 return (vector signed char) __builtin_altivec_vmaxsb ((vector signed char) a1, (vector signed char) a2);
2651 inline vector unsigned char
2652 vec_vmaxub (vector signed char a1, vector unsigned char a2)
2654 return (vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) a1, (vector signed char) a2);
2657 inline vector unsigned char
2658 vec_vmaxub (vector unsigned char a1, vector signed char a2)
2660 return (vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) a1, (vector signed char) a2);
2663 inline vector unsigned char
2664 vec_vmaxub (vector unsigned char a1, vector unsigned char a2)
2666 return (vector unsigned char) __builtin_altivec_vmaxub ((vector signed char) a1, (vector signed char) a2);
2671 inline vector bool char
2672 vec_mergeh (vector bool char a1, vector bool char a2)
2674 return (vector bool char) __builtin_altivec_vmrghb ((vector signed char) a1, (vector signed char) a2);
2677 inline vector signed char
2678 vec_mergeh (vector signed char a1, vector signed char a2)
2680 return (vector signed char) __builtin_altivec_vmrghb ((vector signed char) a1, (vector signed char) a2);
2683 inline vector unsigned char
2684 vec_mergeh (vector unsigned char a1, vector unsigned char a2)
2686 return (vector unsigned char) __builtin_altivec_vmrghb ((vector signed char) a1, (vector signed char) a2);
2689 inline vector bool short
2690 vec_mergeh (vector bool short a1, vector bool short a2)
2692 return (vector bool short) __builtin_altivec_vmrghh ((vector signed short) a1, (vector signed short) a2);
2696 vec_mergeh (vector pixel a1, vector pixel a2)
2698 return (vector pixel) __builtin_altivec_vmrghh ((vector signed short) a1, (vector signed short) a2);
2701 inline vector signed short
2702 vec_mergeh (vector signed short a1, vector signed short a2)
2704 return (vector signed short) __builtin_altivec_vmrghh ((vector signed short) a1, (vector signed short) a2);
2707 inline vector unsigned short
2708 vec_mergeh (vector unsigned short a1, vector unsigned short a2)
2710 return (vector unsigned short) __builtin_altivec_vmrghh ((vector signed short) a1, (vector signed short) a2);
2714 vec_mergeh (vector float a1, vector float a2)
2716 return (vector float) __builtin_altivec_vmrghw ((vector signed int) a1, (vector signed int) a2);
2719 inline vector bool int
2720 vec_mergeh (vector bool int a1, vector bool int a2)
2722 return (vector bool int) __builtin_altivec_vmrghw ((vector signed int) a1, (vector signed int) a2);
2725 inline vector signed int
2726 vec_mergeh (vector signed int a1, vector signed int a2)
2728 return (vector signed int) __builtin_altivec_vmrghw ((vector signed int) a1, (vector signed int) a2);
2731 inline vector unsigned int
2732 vec_mergeh (vector unsigned int a1, vector unsigned int a2)
2734 return (vector unsigned int) __builtin_altivec_vmrghw ((vector signed int) a1, (vector signed int) a2);
2740 vec_vmrghw (vector float a1, vector float a2)
2742 return (vector float) __builtin_altivec_vmrghw ((vector signed int) a1, (vector signed int) a2);
2745 inline vector signed int
2746 vec_vmrghw (vector signed int a1, vector signed int a2)
2748 return (vector signed int) __builtin_altivec_vmrghw ((vector signed int) a1, (vector signed int) a2);
2751 inline vector unsigned int
2752 vec_vmrghw (vector unsigned int a1, vector unsigned int a2)
2754 return (vector unsigned int) __builtin_altivec_vmrghw ((vector signed int) a1, (vector signed int) a2);
2759 inline vector signed short
2760 vec_vmrghh (vector signed short a1, vector signed short a2)
2762 return (vector signed short) __builtin_altivec_vmrghh ((vector signed short) a1, (vector signed short) a2);
2765 inline vector unsigned short
2766 vec_vmrghh (vector unsigned short a1, vector unsigned short a2)
2768 return (vector unsigned short) __builtin_altivec_vmrghh ((vector signed short) a1, (vector signed short) a2);
2773 inline vector signed char
2774 vec_vmrghb (vector signed char a1, vector signed char a2)
2776 return (vector signed char) __builtin_altivec_vmrghb ((vector signed char) a1, (vector signed char) a2);
2779 inline vector unsigned char
2780 vec_vmrghb (vector unsigned char a1, vector unsigned char a2)
2782 return (vector unsigned char) __builtin_altivec_vmrghb ((vector signed char) a1, (vector signed char) a2);
2787 inline vector bool char
2788 vec_mergel (vector bool char a1, vector bool char a2)
2790 return (vector bool char) __builtin_altivec_vmrglb ((vector signed char) a1, (vector signed char) a2);
2793 inline vector signed char
2794 vec_mergel (vector signed char a1, vector signed char a2)
2796 return (vector signed char) __builtin_altivec_vmrglb ((vector signed char) a1, (vector signed char) a2);
2799 inline vector unsigned char
2800 vec_mergel (vector unsigned char a1, vector unsigned char a2)
2802 return (vector unsigned char) __builtin_altivec_vmrglb ((vector signed char) a1, (vector signed char) a2);
2805 inline vector bool short
2806 vec_mergel (vector bool short a1, vector bool short a2)
2808 return (vector bool short) __builtin_altivec_vmrglh ((vector signed short) a1, (vector signed short) a2);
2812 vec_mergel (vector pixel a1, vector pixel a2)
2814 return (vector pixel) __builtin_altivec_vmrglh ((vector signed short) a1, (vector signed short) a2);
2817 inline vector signed short
2818 vec_mergel (vector signed short a1, vector signed short a2)
2820 return (vector signed short) __builtin_altivec_vmrglh ((vector signed short) a1, (vector signed short) a2);
2823 inline vector unsigned short
2824 vec_mergel (vector unsigned short a1, vector unsigned short a2)
2826 return (vector unsigned short) __builtin_altivec_vmrglh ((vector signed short) a1, (vector signed short) a2);
2830 vec_mergel (vector float a1, vector float a2)
2832 return (vector float) __builtin_altivec_vmrglw ((vector signed int) a1, (vector signed int) a2);
2835 inline vector bool int
2836 vec_mergel (vector bool int a1, vector bool int a2)
2838 return (vector bool int) __builtin_altivec_vmrglw ((vector signed int) a1, (vector signed int) a2);
2841 inline vector signed int
2842 vec_mergel (vector signed int a1, vector signed int a2)
2844 return (vector signed int) __builtin_altivec_vmrglw ((vector signed int) a1, (vector signed int) a2);
2847 inline vector unsigned int
2848 vec_mergel (vector unsigned int a1, vector unsigned int a2)
2850 return (vector unsigned int) __builtin_altivec_vmrglw ((vector signed int) a1, (vector signed int) a2);
2856 vec_vmrglw (vector float a1, vector float a2)
2858 return (vector float) __builtin_altivec_vmrglw ((vector signed int) a1, (vector signed int) a2);
2861 inline vector signed int
2862 vec_vmrglw (vector signed int a1, vector signed int a2)
2864 return (vector signed int) __builtin_altivec_vmrglw ((vector signed int) a1, (vector signed int) a2);
2867 inline vector unsigned int
2868 vec_vmrglw (vector unsigned int a1, vector unsigned int a2)
2870 return (vector unsigned int) __builtin_altivec_vmrglw ((vector signed int) a1, (vector signed int) a2);
2875 inline vector signed short
2876 vec_vmrglh (vector signed short a1, vector signed short a2)
2878 return (vector signed short) __builtin_altivec_vmrglh ((vector signed short) a1, (vector signed short) a2);
2881 inline vector unsigned short
2882 vec_vmrglh (vector unsigned short a1, vector unsigned short a2)
2884 return (vector unsigned short) __builtin_altivec_vmrglh ((vector signed short) a1, (vector signed short) a2);
2889 inline vector signed char
2890 vec_vmrglb (vector signed char a1, vector signed char a2)
2892 return (vector signed char) __builtin_altivec_vmrglb ((vector signed char) a1, (vector signed char) a2);
2895 inline vector unsigned char
2896 vec_vmrglb (vector unsigned char a1, vector unsigned char a2)
2898 return (vector unsigned char) __builtin_altivec_vmrglb ((vector signed char) a1, (vector signed char) a2);
2903 inline vector unsigned short
2906 return (vector unsigned short) __builtin_altivec_mfvscr ();
2911 inline vector unsigned char
2912 vec_min (vector bool char a1, vector unsigned char a2)
2914 return (vector unsigned char) __builtin_altivec_vminub ((vector signed char) a1, (vector signed char) a2);
2917 inline vector unsigned char
2918 vec_min (vector unsigned char a1, vector bool char a2)
2920 return (vector unsigned char) __builtin_altivec_vminub ((vector signed char) a1, (vector signed char) a2);
2923 inline vector unsigned char
2924 vec_min (vector unsigned char a1, vector unsigned char a2)
2926 return (vector unsigned char) __builtin_altivec_vminub ((vector signed char) a1, (vector signed char) a2);
2929 inline vector signed char
2930 vec_min (vector bool char a1, vector signed char a2)
2932 return (vector signed char) __builtin_altivec_vminsb ((vector signed char) a1, (vector signed char) a2);
2935 inline vector signed char
2936 vec_min (vector signed char a1, vector bool char a2)
2938 return (vector signed char) __builtin_altivec_vminsb ((vector signed char) a1, (vector signed char) a2);
2941 inline vector signed char
2942 vec_min (vector signed char a1, vector signed char a2)
2944 return (vector signed char) __builtin_altivec_vminsb ((vector signed char) a1, (vector signed char) a2);
2947 inline vector unsigned short
2948 vec_min (vector bool short a1, vector unsigned short a2)
2950 return (vector unsigned short) __builtin_altivec_vminuh ((vector signed short) a1, (vector signed short) a2);
2953 inline vector unsigned short
2954 vec_min (vector unsigned short a1, vector bool short a2)
2956 return (vector unsigned short) __builtin_altivec_vminuh ((vector signed short) a1, (vector signed short) a2);
2959 inline vector unsigned short
2960 vec_min (vector unsigned short a1, vector unsigned short a2)
2962 return (vector unsigned short) __builtin_altivec_vminuh ((vector signed short) a1, (vector signed short) a2);
2965 inline vector signed short
2966 vec_min (vector bool short a1, vector signed short a2)
2968 return (vector signed short) __builtin_altivec_vminsh ((vector signed short) a1, (vector signed short) a2);
2971 inline vector signed short
2972 vec_min (vector signed short a1, vector bool short a2)
2974 return (vector signed short) __builtin_altivec_vminsh ((vector signed short) a1, (vector signed short) a2);
2977 inline vector signed short
2978 vec_min (vector signed short a1, vector signed short a2)
2980 return (vector signed short) __builtin_altivec_vminsh ((vector signed short) a1, (vector signed short) a2);
2983 inline vector unsigned int
2984 vec_min (vector bool int a1, vector unsigned int a2)
2986 return (vector unsigned int) __builtin_altivec_vminuw ((vector signed int) a1, (vector signed int) a2);
2989 inline vector unsigned int
2990 vec_min (vector unsigned int a1, vector bool int a2)
2992 return (vector unsigned int) __builtin_altivec_vminuw ((vector signed int) a1, (vector signed int) a2);
2995 inline vector unsigned int
2996 vec_min (vector unsigned int a1, vector unsigned int a2)
2998 return (vector unsigned int) __builtin_altivec_vminuw ((vector signed int) a1, (vector signed int) a2);
3001 inline vector signed int
3002 vec_min (vector bool int a1, vector signed int a2)
3004 return (vector signed int) __builtin_altivec_vminsw ((vector signed int) a1, (vector signed int) a2);
3007 inline vector signed int
3008 vec_min (vector signed int a1, vector bool int a2)
3010 return (vector signed int) __builtin_altivec_vminsw ((vector signed int) a1, (vector signed int) a2);
3013 inline vector signed int
3014 vec_min (vector signed int a1, vector signed int a2)
3016 return (vector signed int) __builtin_altivec_vminsw ((vector signed int) a1, (vector signed int) a2);
3020 vec_min (vector float a1, vector float a2)
3022 return (vector float) __builtin_altivec_vminfp ((vector float) a1, (vector float) a2);
3028 vec_vminfp (vector float a1, vector float a2)
3030 return (vector float) __builtin_altivec_vminfp ((vector float) a1, (vector float) a2);
3035 inline vector signed int
3036 vec_vminsw (vector signed int a1, vector signed int a2)
3038 return (vector signed int) __builtin_altivec_vminsw ((vector signed int) a1, (vector signed int) a2);
3043 inline vector unsigned int
3044 vec_vminuw (vector signed int a1, vector unsigned int a2)
3046 return (vector unsigned int) __builtin_altivec_vminuw ((vector signed int) a1, (vector signed int) a2);
3049 inline vector unsigned int
3050 vec_vminuw (vector unsigned int a1, vector signed int a2)
3052 return (vector unsigned int) __builtin_altivec_vminuw ((vector signed int) a1, (vector signed int) a2);
3055 inline vector unsigned int
3056 vec_vminuw (vector unsigned int a1, vector unsigned int a2)
3058 return (vector unsigned int) __builtin_altivec_vminuw ((vector signed int) a1, (vector signed int) a2);
3063 inline vector signed short
3064 vec_vminsh (vector signed short a1, vector signed short a2)
3066 return (vector signed short) __builtin_altivec_vminsh ((vector signed short) a1, (vector signed short) a2);
3071 inline vector unsigned short
3072 vec_vminuh (vector signed short a1, vector unsigned short a2)
3074 return (vector unsigned short) __builtin_altivec_vminuh ((vector signed short) a1, (vector signed short) a2);
3077 inline vector unsigned short
3078 vec_vminuh (vector unsigned short a1, vector signed short a2)
3080 return (vector unsigned short) __builtin_altivec_vminuh ((vector signed short) a1, (vector signed short) a2);
3083 inline vector unsigned short
3084 vec_vminuh (vector unsigned short a1, vector unsigned short a2)
3086 return (vector unsigned short) __builtin_altivec_vminuh ((vector signed short) a1, (vector signed short) a2);
3091 inline vector signed char
3092 vec_vminsb (vector signed char a1, vector signed char a2)
3094 return (vector signed char) __builtin_altivec_vminsb ((vector signed char) a1, (vector signed char) a2);
3099 inline vector unsigned char
3100 vec_vminub (vector signed char a1, vector unsigned char a2)
3102 return (vector unsigned char) __builtin_altivec_vminub ((vector signed char) a1, (vector signed char) a2);
3105 inline vector unsigned char
3106 vec_vminub (vector unsigned char a1, vector signed char a2)
3108 return (vector unsigned char) __builtin_altivec_vminub ((vector signed char) a1, (vector signed char) a2);
3111 inline vector unsigned char
3112 vec_vminub (vector unsigned char a1, vector unsigned char a2)
3114 return (vector unsigned char) __builtin_altivec_vminub ((vector signed char) a1, (vector signed char) a2);
3119 inline vector signed short
3120 vec_mladd (vector signed short a1, vector signed short a2, vector signed short a3)
3122 return (vector signed short) __builtin_altivec_vmladduhm ((vector signed short) a1, (vector signed short) a2, (vector signed short) a3);
3125 inline vector signed short
3126 vec_mladd (vector signed short a1, vector unsigned short a2, vector unsigned short a3)
3128 return (vector signed short) __builtin_altivec_vmladduhm ((vector signed short) a1, (vector signed short) a2, (vector signed short) a3);
3131 inline vector signed short
3132 vec_mladd (vector unsigned short a1, vector signed short a2, vector signed short a3)
3134 return (vector signed short) __builtin_altivec_vmladduhm ((vector signed short) a1, (vector signed short) a2, (vector signed short) a3);
3137 inline vector unsigned short
3138 vec_mladd (vector unsigned short a1, vector unsigned short a2, vector unsigned short a3)
3140 return (vector unsigned short) __builtin_altivec_vmladduhm ((vector signed short) a1, (vector signed short) a2, (vector signed short) a3);
3145 inline vector signed short
3146 vec_mradds (vector signed short a1, vector signed short a2, vector signed short a3)
3148 return (vector signed short) __builtin_altivec_vmhraddshs ((vector signed short) a1, (vector signed short) a2, (vector signed short) a3);
3153 inline vector unsigned int
3154 vec_msum (vector unsigned char a1, vector unsigned char a2, vector unsigned int a3)
3156 return (vector unsigned int) __builtin_altivec_vmsumubm ((vector signed char) a1, (vector signed char) a2, (vector signed int) a3);
3159 inline vector signed int
3160 vec_msum (vector signed char a1, vector unsigned char a2, vector signed int a3)
3162 return (vector signed int) __builtin_altivec_vmsummbm ((vector signed char) a1, (vector signed char) a2, (vector signed int) a3);
3165 inline vector unsigned int
3166 vec_msum (vector unsigned short a1, vector unsigned short a2, vector unsigned int a3)
3168 return (vector unsigned int) __builtin_altivec_vmsumuhm ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3171 inline vector signed int
3172 vec_msum (vector signed short a1, vector signed short a2, vector signed int a3)
3174 return (vector signed int) __builtin_altivec_vmsumshm ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3179 inline vector signed int
3180 vec_vmsumshm (vector signed short a1, vector signed short a2, vector signed int a3)
3182 return (vector signed int) __builtin_altivec_vmsumshm ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3187 inline vector unsigned int
3188 vec_vmsumuhm (vector unsigned short a1, vector unsigned short a2, vector unsigned int a3)
3190 return (vector unsigned int) __builtin_altivec_vmsumuhm ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3195 inline vector signed int
3196 vec_vmsummbm (vector signed char a1, vector unsigned char a2, vector signed int a3)
3198 return (vector signed int) __builtin_altivec_vmsummbm ((vector signed char) a1, (vector signed char) a2, (vector signed int) a3);
3203 inline vector unsigned int
3204 vec_vmsumubm (vector unsigned char a1, vector unsigned char a2, vector unsigned int a3)
3206 return (vector unsigned int) __builtin_altivec_vmsumubm ((vector signed char) a1, (vector signed char) a2, (vector signed int) a3);
3211 inline vector unsigned int
3212 vec_msums (vector unsigned short a1, vector unsigned short a2, vector unsigned int a3)
3214 return (vector unsigned int) __builtin_altivec_vmsumuhs ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3217 inline vector signed int
3218 vec_msums (vector signed short a1, vector signed short a2, vector signed int a3)
3220 return (vector signed int) __builtin_altivec_vmsumshs ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3225 inline vector signed int
3226 vec_vmsumshs (vector signed short a1, vector signed short a2, vector signed int a3)
3228 return (vector signed int) __builtin_altivec_vmsumshs ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3233 inline vector unsigned int
3234 vec_vmsumuhs (vector unsigned short a1, vector unsigned short a2, vector unsigned int a3)
3236 return (vector unsigned int) __builtin_altivec_vmsumuhs ((vector signed short) a1, (vector signed short) a2, (vector signed int) a3);
3242 vec_mtvscr (vector signed int a1)
3244 __builtin_altivec_mtvscr ((vector signed int) a1);
3248 vec_mtvscr (vector unsigned int a1)
3250 __builtin_altivec_mtvscr ((vector signed int) a1);
3254 vec_mtvscr (vector bool int a1)
3256 __builtin_altivec_mtvscr ((vector signed int) a1);
3260 vec_mtvscr (vector signed short a1)
3262 __builtin_altivec_mtvscr ((vector signed int) a1);
3266 vec_mtvscr (vector unsigned short a1)
3268 __builtin_altivec_mtvscr ((vector signed int) a1);
3272 vec_mtvscr (vector bool short a1)
3274 __builtin_altivec_mtvscr ((vector signed int) a1);
3278 vec_mtvscr (vector pixel a1)
3280 __builtin_altivec_mtvscr ((vector signed int) a1);
3284 vec_mtvscr (vector signed char a1)
3286 __builtin_altivec_mtvscr ((vector signed int) a1);
3290 vec_mtvscr (vector unsigned char a1)
3292 __builtin_altivec_mtvscr ((vector signed int) a1);
3296 vec_mtvscr (vector bool char a1)
3298 __builtin_altivec_mtvscr ((vector signed int) a1);
3303 inline vector unsigned short
3304 vec_mule (vector unsigned char a1, vector unsigned char a2)
3306 return (vector unsigned short) __builtin_altivec_vmuleub ((vector signed char) a1, (vector signed char) a2);
3309 inline vector signed short
3310 vec_mule (vector signed char a1, vector signed char a2)
3312 return (vector signed short) __builtin_altivec_vmulesb ((vector signed char) a1, (vector signed char) a2);
3315 inline vector unsigned int
3316 vec_mule (vector unsigned short a1, vector unsigned short a2)
3318 return (vector unsigned int) __builtin_altivec_vmuleuh ((vector signed short) a1, (vector signed short) a2);
3321 inline vector signed int
3322 vec_mule (vector signed short a1, vector signed short a2)
3324 return (vector signed int) __builtin_altivec_vmulesh ((vector signed short) a1, (vector signed short) a2);
3329 inline vector signed int
3330 vec_vmulesh (vector signed short a1, vector signed short a2)
3332 return (vector signed int) __builtin_altivec_vmulesh ((vector signed short) a1, (vector signed short) a2);
3337 inline vector unsigned int
3338 vec_vmuleuh (vector unsigned short a1, vector unsigned short a2)
3340 return (vector unsigned int) __builtin_altivec_vmuleuh ((vector signed short) a1, (vector signed short) a2);
3344 inline vector unsigned short
3345 vec_vmuleub (vector unsigned char a1, vector unsigned char a2)
3347 return (vector unsigned short) __builtin_altivec_vmuleub ((vector signed char) a1, (vector signed char) a2);
3352 inline vector unsigned short
3353 vec_mulo (vector unsigned char a1, vector unsigned char a2)
3355 return (vector unsigned short) __builtin_altivec_vmuloub ((vector signed char) a1, (vector signed char) a2);
3358 inline vector signed short
3359 vec_mulo (vector signed char a1, vector signed char a2)
3361 return (vector signed short) __builtin_altivec_vmulosb ((vector signed char) a1, (vector signed char) a2);
3364 inline vector unsigned int
3365 vec_mulo (vector unsigned short a1, vector unsigned short a2)
3367 return (vector unsigned int) __builtin_altivec_vmulouh ((vector signed short) a1, (vector signed short) a2);
3370 inline vector signed int
3371 vec_mulo (vector signed short a1, vector signed short a2)
3373 return (vector signed int) __builtin_altivec_vmulosh ((vector signed short) a1, (vector signed short) a2);
3378 inline vector signed int
3379 vec_vmulosh (vector signed short a1, vector signed short a2)
3381 return (vector signed int) __builtin_altivec_vmulosh ((vector signed short) a1, (vector signed short) a2);
3386 inline vector unsigned int
3387 vec_vmulouh (vector unsigned short a1, vector unsigned short a2)
3389 return (vector unsigned int) __builtin_altivec_vmulouh ((vector signed short) a1, (vector signed short) a2);
3394 inline vector signed short
3395 vec_vmulosb (vector signed char a1, vector signed char a2)
3397 return (vector signed short) __builtin_altivec_vmulosb ((vector signed char) a1, (vector signed char) a2);
3402 inline vector unsigned short
3403 vec_vmuloub (vector unsigned char a1, vector unsigned char a2)
3405 return (vector unsigned short) __builtin_altivec_vmuloub ((vector signed char) a1, (vector signed char) a2);
3411 vec_nmsub (vector float a1, vector float a2, vector float a3)
3413 return (vector float) __builtin_altivec_vnmsubfp ((vector float) a1, (vector float) a2, (vector float) a3);
3419 vec_nor (vector float a1, vector float a2)
3421 return (vector float) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3424 inline vector signed int
3425 vec_nor (vector signed int a1, vector signed int a2)
3427 return (vector signed int) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3430 inline vector unsigned int
3431 vec_nor (vector unsigned int a1, vector unsigned int a2)
3433 return (vector unsigned int) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3436 inline vector bool int
3437 vec_nor (vector bool int a1, vector bool int a2)
3439 return (vector bool int) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3442 inline vector signed short
3443 vec_nor (vector signed short a1, vector signed short a2)
3445 return (vector signed short) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3448 inline vector unsigned short
3449 vec_nor (vector unsigned short a1, vector unsigned short a2)
3451 return (vector unsigned short) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3454 inline vector bool short
3455 vec_nor (vector bool short a1, vector bool short a2)
3457 return (vector bool short) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3460 inline vector signed char
3461 vec_nor (vector signed char a1, vector signed char a2)
3463 return (vector signed char) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3466 inline vector unsigned char
3467 vec_nor (vector unsigned char a1, vector unsigned char a2)
3469 return (vector unsigned char) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3472 inline vector bool char
3473 vec_nor (vector bool char a1, vector bool char a2)
3475 return (vector bool char) __builtin_altivec_vnor ((vector signed int) a1, (vector signed int) a2);
3481 vec_or (vector float a1, vector float a2)
3483 return (vector float) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3487 vec_or (vector float a1, vector bool int a2)
3489 return (vector float) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3493 vec_or (vector bool int a1, vector float a2)
3495 return (vector float) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3498 inline vector bool int
3499 vec_or (vector bool int a1, vector bool int a2)
3501 return (vector bool int) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3504 inline vector signed int
3505 vec_or (vector bool int a1, vector signed int a2)
3507 return (vector signed int) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3510 inline vector signed int
3511 vec_or (vector signed int a1, vector bool int a2)
3513 return (vector signed int) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3516 inline vector signed int
3517 vec_or (vector signed int a1, vector signed int a2)
3519 return (vector signed int) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3522 inline vector unsigned int
3523 vec_or (vector bool int a1, vector unsigned int a2)
3525 return (vector unsigned int) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3528 inline vector unsigned int
3529 vec_or (vector unsigned int a1, vector bool int a2)
3531 return (vector unsigned int) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3534 inline vector unsigned int
3535 vec_or (vector unsigned int a1, vector unsigned int a2)
3537 return (vector unsigned int) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3540 inline vector bool short
3541 vec_or (vector bool short a1, vector bool short a2)
3543 return (vector bool short) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3546 inline vector signed short
3547 vec_or (vector bool short a1, vector signed short a2)
3549 return (vector signed short) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3552 inline vector signed short
3553 vec_or (vector signed short a1, vector bool short a2)
3555 return (vector signed short) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3558 inline vector signed short
3559 vec_or (vector signed short a1, vector signed short a2)
3561 return (vector signed short) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3564 inline vector unsigned short
3565 vec_or (vector bool short a1, vector unsigned short a2)
3567 return (vector unsigned short) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3570 inline vector unsigned short
3571 vec_or (vector unsigned short a1, vector bool short a2)
3573 return (vector unsigned short) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3576 inline vector unsigned short
3577 vec_or (vector unsigned short a1, vector unsigned short a2)
3579 return (vector unsigned short) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3582 inline vector signed char
3583 vec_or (vector bool char a1, vector signed char a2)
3585 return (vector signed char) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3588 inline vector bool char
3589 vec_or (vector bool char a1, vector bool char a2)
3591 return (vector bool char) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3594 inline vector signed char
3595 vec_or (vector signed char a1, vector bool char a2)
3597 return (vector signed char) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3600 inline vector signed char
3601 vec_or (vector signed char a1, vector signed char a2)
3603 return (vector signed char) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3606 inline vector unsigned char
3607 vec_or (vector bool char a1, vector unsigned char a2)
3609 return (vector unsigned char) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3612 inline vector unsigned char
3613 vec_or (vector unsigned char a1, vector bool char a2)
3615 return (vector unsigned char) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3618 inline vector unsigned char
3619 vec_or (vector unsigned char a1, vector unsigned char a2)
3621 return (vector unsigned char) __builtin_altivec_vor ((vector signed int) a1, (vector signed int) a2);
3626 inline vector signed char
3627 vec_pack (vector signed short a1, vector signed short a2)
3629 return (vector signed char) __builtin_altivec_vpkuhum ((vector signed short) a1, (vector signed short) a2);
3632 inline vector unsigned char
3633 vec_pack (vector unsigned short a1, vector unsigned short a2)
3635 return (vector unsigned char) __builtin_altivec_vpkuhum ((vector signed short) a1, (vector signed short) a2);
3638 inline vector bool char
3639 vec_pack (vector bool short a1, vector bool short a2)
3641 return (vector bool char) __builtin_altivec_vpkuhum ((vector signed short) a1, (vector signed short) a2);
3644 inline vector signed short
3645 vec_pack (vector signed int a1, vector signed int a2)
3647 return (vector signed short) __builtin_altivec_vpkuwum ((vector signed int) a1, (vector signed int) a2);
3650 inline vector unsigned short
3651 vec_pack (vector unsigned int a1, vector unsigned int a2)
3653 return (vector unsigned short) __builtin_altivec_vpkuwum ((vector signed int) a1, (vector signed int) a2);
3656 inline vector bool short
3657 vec_pack (vector bool int a1, vector bool int a2)
3659 return (vector bool short) __builtin_altivec_vpkuwum ((vector signed int) a1, (vector signed int) a2);
3664 inline vector signed short
3665 vec_vpkuwum (vector signed int a1, vector signed int a2)
3667 return (vector signed short) __builtin_altivec_vpkuwum ((vector signed int) a1, (vector signed int) a2);
3670 inline vector unsigned short
3671 vec_vpkuwum (vector unsigned int a1, vector unsigned int a2)
3673 return (vector unsigned short) __builtin_altivec_vpkuwum ((vector signed int) a1, (vector signed int) a2);
3678 inline vector signed char
3679 vec_vpkuhum (vector signed short a1, vector signed short a2)
3681 return (vector signed char) __builtin_altivec_vpkuhum ((vector signed short) a1, (vector signed short) a2);
3684 inline vector unsigned char
3685 vec_vpkuhum (vector unsigned short a1, vector unsigned short a2)
3687 return (vector unsigned char) __builtin_altivec_vpkuhum ((vector signed short) a1, (vector signed short) a2);
3693 vec_packpx (vector unsigned int a1, vector unsigned int a2)
3695 return (vector pixel) __builtin_altivec_vpkpx ((vector signed int) a1, (vector signed int) a2);
3700 inline vector unsigned char
3701 vec_packs (vector unsigned short a1, vector unsigned short a2)
3703 return (vector unsigned char) __builtin_altivec_vpkuhus ((vector signed short) a1, (vector signed short) a2);
3706 inline vector signed char
3707 vec_packs (vector signed short a1, vector signed short a2)
3709 return (vector signed char) __builtin_altivec_vpkshss ((vector signed short) a1, (vector signed short) a2);
3712 inline vector unsigned short
3713 vec_packs (vector unsigned int a1, vector unsigned int a2)
3715 return (vector unsigned short) __builtin_altivec_vpkuwus ((vector signed int) a1, (vector signed int) a2);
3718 inline vector signed short
3719 vec_packs (vector signed int a1, vector signed int a2)
3721 return (vector signed short) __builtin_altivec_vpkswss ((vector signed int) a1, (vector signed int) a2);
3726 inline vector signed short
3727 vec_vpkswss (vector signed int a1, vector signed int a2)
3729 return (vector signed short) __builtin_altivec_vpkswss ((vector signed int) a1, (vector signed int) a2);
3734 inline vector unsigned short
3735 vec_vpkuwus (vector unsigned int a1, vector unsigned int a2)
3737 return (vector unsigned short) __builtin_altivec_vpkuwus ((vector signed int) a1, (vector signed int) a2);
3742 inline vector signed char
3743 vec_vpkshss (vector signed short a1, vector signed short a2)
3745 return (vector signed char) __builtin_altivec_vpkshss ((vector signed short) a1, (vector signed short) a2);
3750 inline vector unsigned char
3751 vec_vpkuhus (vector unsigned short a1, vector unsigned short a2)
3753 return (vector unsigned char) __builtin_altivec_vpkuhus ((vector signed short) a1, (vector signed short) a2);
3758 inline vector unsigned char
3759 vec_packsu (vector unsigned short a1, vector unsigned short a2)
3761 return (vector unsigned char) __builtin_altivec_vpkuhus ((vector signed short) a1, (vector signed short) a2);
3764 inline vector unsigned char
3765 vec_packsu (vector signed short a1, vector signed short a2)
3767 return (vector unsigned char) __builtin_altivec_vpkshus ((vector signed short) a1, (vector signed short) a2);
3770 inline vector unsigned short
3771 vec_packsu (vector unsigned int a1, vector unsigned int a2)
3773 return (vector unsigned short) __builtin_altivec_vpkuwus ((vector signed int) a1, (vector signed int) a2);
3776 inline vector unsigned short
3777 vec_packsu (vector signed int a1, vector signed int a2)
3779 return (vector unsigned short) __builtin_altivec_vpkswus ((vector signed int) a1, (vector signed int) a2);
3784 inline vector unsigned short
3785 vec_vpkswus (vector signed int a1, vector signed int a2)
3787 return (vector unsigned short) __builtin_altivec_vpkswus ((vector signed int) a1, (vector signed int) a2);
3792 inline vector unsigned char
3793 vec_vpkshus (vector signed short a1, vector signed short a2)
3795 return (vector unsigned char) __builtin_altivec_vpkshus ((vector signed short) a1, (vector signed short) a2);
3801 vec_perm (vector float a1, vector float a2, vector unsigned char a3)
3803 return (vector float) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3806 inline vector signed int
3807 vec_perm (vector signed int a1, vector signed int a2, vector unsigned char a3)
3809 return (vector signed int) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3812 inline vector unsigned int
3813 vec_perm (vector unsigned int a1, vector unsigned int a2, vector unsigned char a3)
3815 return (vector unsigned int) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3818 inline vector bool int
3819 vec_perm (vector bool int a1, vector bool int a2, vector unsigned char a3)
3821 return (vector bool int) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3824 inline vector signed short
3825 vec_perm (vector signed short a1, vector signed short a2, vector unsigned char a3)
3827 return (vector signed short) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3830 inline vector unsigned short
3831 vec_perm (vector unsigned short a1, vector unsigned short a2, vector unsigned char a3)
3833 return (vector unsigned short) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3836 inline vector bool short
3837 vec_perm (vector bool short a1, vector bool short a2, vector unsigned char a3)
3839 return (vector bool short) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3843 vec_perm (vector pixel a1, vector pixel a2, vector unsigned char a3)
3845 return (vector pixel) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3848 inline vector signed char
3849 vec_perm (vector signed char a1, vector signed char a2, vector unsigned char a3)
3851 return (vector signed char) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3854 inline vector unsigned char
3855 vec_perm (vector unsigned char a1, vector unsigned char a2, vector unsigned char a3)
3857 return (vector unsigned char) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3860 inline vector bool char
3861 vec_perm (vector bool char a1, vector bool char a2, vector bool char a3)
3863 return (vector bool char) __builtin_altivec_vperm_4si ((vector signed int) a1, (vector signed int) a2, (vector signed char) a3);
3869 vec_re (vector float a1)
3871 return (vector float) __builtin_altivec_vrefp ((vector float) a1);
3876 inline vector signed char
3877 vec_rl (vector signed char a1, vector unsigned char a2)
3879 return (vector signed char) __builtin_altivec_vrlb ((vector signed char) a1, (vector signed char) a2);
3882 inline vector unsigned char
3883 vec_rl (vector unsigned char a1, vector unsigned char a2)
3885 return (vector unsigned char) __builtin_altivec_vrlb ((vector signed char) a1, (vector signed char) a2);
3888 inline vector signed short
3889 vec_rl (vector signed short a1, vector unsigned short a2)
3891 return (vector signed short) __builtin_altivec_vrlh ((vector signed short) a1, (vector signed short) a2);
3894 inline vector unsigned short
3895 vec_rl (vector unsigned short a1, vector unsigned short a2)
3897 return (vector unsigned short) __builtin_altivec_vrlh ((vector signed short) a1, (vector signed short) a2);
3900 inline vector signed int
3901 vec_rl (vector signed int a1, vector unsigned int a2)
3903 return (vector signed int) __builtin_altivec_vrlw ((vector signed int) a1, (vector signed int) a2);
3906 inline vector unsigned int
3907 vec_rl (vector unsigned int a1, vector unsigned int a2)
3909 return (vector unsigned int) __builtin_altivec_vrlw ((vector signed int) a1, (vector signed int) a2);
3914 inline vector signed int
3915 vec_vrlw (vector signed int a1, vector unsigned int a2)
3917 return (vector signed int) __builtin_altivec_vrlw ((vector signed int) a1, (vector signed int) a2);
3920 inline vector unsigned int
3921 vec_vrlw (vector unsigned int a1, vector unsigned int a2)
3923 return (vector unsigned int) __builtin_altivec_vrlw ((vector signed int) a1, (vector signed int) a2);
3928 inline vector signed short
3929 vec_vrlh (vector signed short a1, vector unsigned short a2)
3931 return (vector signed short) __builtin_altivec_vrlh ((vector signed short) a1, (vector signed short) a2);
3934 inline vector unsigned short
3935 vec_vrlh (vector unsigned short a1, vector unsigned short a2)
3937 return (vector unsigned short) __builtin_altivec_vrlh ((vector signed short) a1, (vector signed short) a2);
3942 inline vector signed char
3943 vec_vrlb (vector signed char a1, vector unsigned char a2)
3945 return (vector signed char) __builtin_altivec_vrlb ((vector signed char) a1, (vector signed char) a2);
3948 inline vector unsigned char
3949 vec_vrlb (vector unsigned char a1, vector unsigned char a2)
3951 return (vector unsigned char) __builtin_altivec_vrlb ((vector signed char) a1, (vector signed char) a2);
3957 vec_round (vector float a1)
3959 return (vector float) __builtin_altivec_vrfin ((vector float) a1);
3965 vec_rsqrte (vector float a1)
3967 return (vector float) __builtin_altivec_vrsqrtefp ((vector float) a1);
3973 vec_sel (vector float a1, vector float a2, vector bool int a3)
3975 return (vector float) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
3979 vec_sel (vector float a1, vector float a2, vector unsigned int a3)
3981 return (vector float) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
3984 inline vector signed int
3985 vec_sel (vector signed int a1, vector signed int a2, vector bool int a3)
3987 return (vector signed int) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
3990 inline vector signed int
3991 vec_sel (vector signed int a1, vector signed int a2, vector unsigned int a3)
3993 return (vector signed int) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
3996 inline vector unsigned int
3997 vec_sel (vector unsigned int a1, vector unsigned int a2, vector bool int a3)
3999 return (vector unsigned int) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4002 inline vector unsigned int
4003 vec_sel (vector unsigned int a1, vector unsigned int a2, vector unsigned int a3)
4005 return (vector unsigned int) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4008 inline vector bool int
4009 vec_sel (vector bool int a1, vector bool int a2, vector bool int a3)
4011 return (vector bool int) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4014 inline vector bool int
4015 vec_sel (vector bool int a1, vector bool int a2, vector unsigned int a3)
4017 return (vector bool int) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4020 inline vector signed short
4021 vec_sel (vector signed short a1, vector signed short a2, vector bool short a3)
4023 return (vector signed short) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4026 inline vector signed short
4027 vec_sel (vector signed short a1, vector signed short a2, vector unsigned short a3)
4029 return (vector signed short) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4032 inline vector unsigned short
4033 vec_sel (vector unsigned short a1, vector unsigned short a2, vector bool short a3)
4035 return (vector unsigned short) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4038 inline vector unsigned short
4039 vec_sel (vector unsigned short a1, vector unsigned short a2, vector unsigned short a3)
4041 return (vector unsigned short) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4044 inline vector bool short
4045 vec_sel (vector bool short a1, vector bool short a2, vector bool short a3)
4047 return (vector bool short) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4050 inline vector bool short
4051 vec_sel (vector bool short a1, vector bool short a2, vector unsigned short a3)
4053 return (vector bool short) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4056 inline vector signed char
4057 vec_sel (vector signed char a1, vector signed char a2, vector bool char a3)
4059 return (vector signed char) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4062 inline vector signed char
4063 vec_sel (vector signed char a1, vector signed char a2, vector unsigned char a3)
4065 return (vector signed char) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4068 inline vector unsigned char
4069 vec_sel (vector unsigned char a1, vector unsigned char a2, vector bool char a3)
4071 return (vector unsigned char) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4074 inline vector unsigned char
4075 vec_sel (vector unsigned char a1, vector unsigned char a2, vector unsigned char a3)
4077 return (vector unsigned char) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4080 inline vector bool char
4081 vec_sel (vector bool char a1, vector bool char a2, vector bool char a3)
4083 return (vector bool char) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4086 inline vector bool char
4087 vec_sel (vector bool char a1, vector bool char a2, vector unsigned char a3)
4089 return (vector bool char) __builtin_altivec_vsel_4si ((vector signed int) a1, (vector signed int) a2, (vector signed int) a3);
4094 inline vector signed char
4095 vec_sl (vector signed char a1, vector unsigned char a2)
4097 return (vector signed char) __builtin_altivec_vslb ((vector signed char) a1, (vector signed char) a2);
4100 inline vector unsigned char
4101 vec_sl (vector unsigned char a1, vector unsigned char a2)
4103 return (vector unsigned char) __builtin_altivec_vslb ((vector signed char) a1, (vector signed char) a2);
4106 inline vector signed short
4107 vec_sl (vector signed short a1, vector unsigned short a2)
4109 return (vector signed short) __builtin_altivec_vslh ((vector signed short) a1, (vector signed short) a2);
4112 inline vector unsigned short
4113 vec_sl (vector unsigned short a1, vector unsigned short a2)
4115 return (vector unsigned short) __builtin_altivec_vslh ((vector signed short) a1, (vector signed short) a2);
4118 inline vector signed int
4119 vec_sl (vector signed int a1, vector unsigned int a2)
4121 return (vector signed int) __builtin_altivec_vslw ((vector signed int) a1, (vector signed int) a2);
4124 inline vector unsigned int
4125 vec_sl (vector unsigned int a1, vector unsigned int a2)
4127 return (vector unsigned int) __builtin_altivec_vslw ((vector signed int) a1, (vector signed int) a2);
4132 inline vector signed int
4133 vec_vslw (vector signed int a1, vector unsigned int a2)
4135 return (vector signed int) __builtin_altivec_vslw ((vector signed int) a1, (vector signed int) a2);
4138 inline vector unsigned int
4139 vec_vslw (vector unsigned int a1, vector unsigned int a2)
4141 return (vector unsigned int) __builtin_altivec_vslw ((vector signed int) a1, (vector signed int) a2);
4146 inline vector signed short
4147 vec_vslh (vector signed short a1, vector unsigned short a2)
4149 return (vector signed short) __builtin_altivec_vslh ((vector signed short) a1, (vector signed short) a2);
4152 inline vector unsigned short
4153 vec_vslh (vector unsigned short a1, vector unsigned short a2)
4155 return (vector unsigned short) __builtin_altivec_vslh ((vector signed short) a1, (vector signed short) a2);
4160 inline vector signed char
4161 vec_vslb (vector signed char a1, vector unsigned char a2)
4163 return (vector signed char) __builtin_altivec_vslb ((vector signed char) a1, (vector signed char) a2);
4166 inline vector unsigned char
4167 vec_vslb (vector unsigned char a1, vector unsigned char a2)
4169 return (vector unsigned char) __builtin_altivec_vslb ((vector signed char) a1, (vector signed char) a2);
4175 vec_sld (vector float a1, vector float a2, const int a3)
4177 return (vector float) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4180 inline vector signed int
4181 vec_sld (vector signed int a1, vector signed int a2, const int a3)
4183 return (vector signed int) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4186 inline vector unsigned int
4187 vec_sld (vector unsigned int a1, vector unsigned int a2, const int a3)
4189 return (vector unsigned int) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4192 inline vector signed short
4193 vec_sld (vector signed short a1, vector signed short a2, const int a3)
4195 return (vector signed short) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4198 inline vector unsigned short
4199 vec_sld (vector unsigned short a1, vector unsigned short a2, const int a3)
4201 return (vector unsigned short) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4205 vec_sld (vector pixel a1, vector pixel a2, const int a3)
4207 return (vector pixel) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4210 inline vector signed char
4211 vec_sld (vector signed char a1, vector signed char a2, const int a3)
4213 return (vector signed char) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4216 inline vector unsigned char
4217 vec_sld (vector unsigned char a1, vector unsigned char a2, const int a3)
4219 return (vector unsigned char) __builtin_altivec_vsldoi_4si ((vector signed int) a1, (vector signed int) a2, a3);
4224 inline vector signed int
4225 vec_sll (vector signed int a1, vector unsigned int a2)
4227 return (vector signed int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4230 inline vector signed int
4231 vec_sll (vector signed int a1, vector unsigned short a2)
4233 return (vector signed int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4236 inline vector signed int
4237 vec_sll (vector signed int a1, vector unsigned char a2)
4239 return (vector signed int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4242 inline vector unsigned int
4243 vec_sll (vector unsigned int a1, vector unsigned int a2)
4245 return (vector unsigned int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4248 inline vector unsigned int
4249 vec_sll (vector unsigned int a1, vector unsigned short a2)
4251 return (vector unsigned int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4254 inline vector unsigned int
4255 vec_sll (vector unsigned int a1, vector unsigned char a2)
4257 return (vector unsigned int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4260 inline vector bool int
4261 vec_sll (vector bool int a1, vector unsigned int a2)
4263 return (vector bool int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4266 inline vector bool int
4267 vec_sll (vector bool int a1, vector unsigned short a2)
4269 return (vector bool int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4272 inline vector bool int
4273 vec_sll (vector bool int a1, vector unsigned char a2)
4275 return (vector bool int) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4278 inline vector signed short
4279 vec_sll (vector signed short a1, vector unsigned int a2)
4281 return (vector signed short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4284 inline vector signed short
4285 vec_sll (vector signed short a1, vector unsigned short a2)
4287 return (vector signed short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4290 inline vector signed short
4291 vec_sll (vector signed short a1, vector unsigned char a2)
4293 return (vector signed short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4296 inline vector unsigned short
4297 vec_sll (vector unsigned short a1, vector unsigned int a2)
4299 return (vector unsigned short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4302 inline vector unsigned short
4303 vec_sll (vector unsigned short a1, vector unsigned short a2)
4305 return (vector unsigned short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4308 inline vector unsigned short
4309 vec_sll (vector unsigned short a1, vector unsigned char a2)
4311 return (vector unsigned short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4314 inline vector bool short
4315 vec_sll (vector bool short a1, vector unsigned int a2)
4317 return (vector bool short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4320 inline vector bool short
4321 vec_sll (vector bool short a1, vector unsigned short a2)
4323 return (vector bool short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4326 inline vector bool short
4327 vec_sll (vector bool short a1, vector unsigned char a2)
4329 return (vector bool short) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4333 vec_sll (vector pixel a1, vector unsigned int a2)
4335 return (vector pixel) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4339 vec_sll (vector pixel a1, vector unsigned short a2)
4341 return (vector pixel) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4345 vec_sll (vector pixel a1, vector unsigned char a2)
4347 return (vector pixel) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4350 inline vector signed char
4351 vec_sll (vector signed char a1, vector unsigned int a2)
4353 return (vector signed char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4356 inline vector signed char
4357 vec_sll (vector signed char a1, vector unsigned short a2)
4359 return (vector signed char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4362 inline vector signed char
4363 vec_sll (vector signed char a1, vector unsigned char a2)
4365 return (vector signed char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4368 inline vector unsigned char
4369 vec_sll (vector unsigned char a1, vector unsigned int a2)
4371 return (vector unsigned char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4374 inline vector unsigned char
4375 vec_sll (vector unsigned char a1, vector unsigned short a2)
4377 return (vector unsigned char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4380 inline vector unsigned char
4381 vec_sll (vector unsigned char a1, vector unsigned char a2)
4383 return (vector unsigned char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4386 inline vector bool char
4387 vec_sll (vector bool char a1, vector unsigned int a2)
4389 return (vector bool char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4392 inline vector bool char
4393 vec_sll (vector bool char a1, vector unsigned short a2)
4395 return (vector bool char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4398 inline vector bool char
4399 vec_sll (vector bool char a1, vector unsigned char a2)
4401 return (vector bool char) __builtin_altivec_vsl ((vector signed int) a1, (vector signed int) a2);
4407 vec_slo (vector float a1, vector signed char a2)
4409 return (vector float) __builtin_altivec_vslo ((vector signed int) a1, (vector signed int) a2);
4413 vec_slo (vector float a1, vector unsigned char a2)
4415 return (vector float) __builtin_altivec_vslo ((vector signed int) a1, (vector signed int) a2);
4418 inline vector signed int
4419 vec_slo (vector signed int a1, vector signed char a2)
4421 return (vector signed int) __builtin_altivec_vslo ((vector signed int) a1, (vector signed int) a2);
4424 inline vector signed int
4425 vec_slo (vector signed int a1, vector unsigned char a2)
4427 return (vector signed int) __builtin_altivec_vslo ((vector signed int) a1, (vector signed int) a2);
4430 inline vector unsigned int
4431 vec_slo (vector unsigned int a1, vector signed char a2)
4433 return (vector unsigned int) __builtin_altivec_vslo ((vector signed int) a1, (vector signed int) a2);
4436 inline vector unsigned int
4437 vec_slo (vector unsigned int a1, vector unsigned char a2)
4439 return (vector unsigned int) __builtin_altivec_vslo ((vector signed int) a1, (vector signed int) a2);
4442 inline vector signed short
4443 vec_slo (vector signed short a1, vector signed char a2)
4445 return (vector signed short) __builtin_altivec_vslo ((vector signed int) a1, (vector signed int) a2);