1dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/*===---- altivec.h - Standard header for type generic math ---------------===*\
2dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner *
3dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * Permission is hereby granted, free of charge, to any person obtaining a copy
4dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * of this software and associated documentation files (the "Software"), to deal
5dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * in the Software without restriction, including without limitation the rights
6dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * copies of the Software, and to permit persons to whom the Software is
8dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * furnished to do so, subject to the following conditions:
9dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner *
10dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * The above copyright notice and this permission notice shall be included in
11dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * all copies or substantial portions of the Software.
12dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner *
13dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner * THE SOFTWARE.
20dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner *
21dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner\*===----------------------------------------------------------------------===*/
22dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
23dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#ifndef __ALTIVEC_H
24dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __ALTIVEC_H
25dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
26dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#ifndef __ALTIVEC__
27dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#error "AltiVec support not enabled"
28dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#endif
29dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
30dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* constants for mapping CR6 bits to predicate result. */
31dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
32dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __CR6_EQ     0
33dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __CR6_EQ_REV 1
34dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __CR6_LT     2
35dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __CR6_LT_REV 3
36dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __ATTRS_o_ai __attribute__((__overloadable__, __always_inline__))
384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c);
414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned char __a,
444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __b,
454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __c);
464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c);
49f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector short __a, vector short __b, vector unsigned char __c);
524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned short __a,
554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __b,
564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __c);
574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c);
60f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
61f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c);
63f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector int __a, vector int __b, vector unsigned char __c);
664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c);
694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c);
72f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector float __a, vector float __b, vector unsigned char __c);
75dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
76dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_abs */
77dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v16qi vec_abs
79dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v8hi  vec_abs
80dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v4si  vec_abs
81dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector signed char __a)
84dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, -__a);
86dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
87dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai
894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector signed short __a)
90dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, -__a);
92dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
93dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __ATTRS_o_ai
954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector signed int __a)
96dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, -__a);
98dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
99dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
1014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector float __a)
102dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a
1043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev                            & (vector unsigned int)(0x7FFFFFFF);
1054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
106dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
107dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_abss */
109dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
110dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v16qi vec_abss
111dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v8hi  vec_abss
112dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v4si  vec_abss
113dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
1154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abss(vector signed char __a)
116dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vmaxsb
1184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           (__a, __builtin_altivec_vsubsbs((vector signed char)(0), __a));
119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
120dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai
1224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abss(vector signed short __a)
123dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vmaxsh
1254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           (__a, __builtin_altivec_vsubshs((vector signed short)(0), __a));
126dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
127dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __ATTRS_o_ai
1294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abss(vector signed int __a)
130dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vmaxsw
1324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           (__a, __builtin_altivec_vsubsws((vector signed int)(0), __a));
133dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
134dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
135dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_add */
136dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
1384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector signed char __a, vector signed char __b)
139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
141dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
142dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
14305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
1444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool char __a, vector signed char __b)
14505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a + __b;
14705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
14805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
14905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
1504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector signed char __a, vector bool char __b)
15105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector signed char)__b;
15305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
15405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
1554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
1564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned char __a, vector unsigned char __b)
157dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
159dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
160dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
16105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
1624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool char __a, vector unsigned char __b)
16305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a + __b;
16505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
16605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
16705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
1684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned char __a, vector bool char __b)
16905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned char)__b;
17105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
17205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
1734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
1744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector short __a, vector short __b)
1754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
1774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
1784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
1804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool short __a, vector short __b)
18105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a + __b;
18305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
18405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
18505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
1864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector short __a, vector bool short __b)
18705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector short)__b;
18905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
19005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
1914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
1924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned short __a, vector unsigned short __b)
1934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
1954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
1964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
1984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool short __a, vector unsigned short __b)
19905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a + __b;
20105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
20205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
20305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
2044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned short __a, vector bool short __b)
20505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned short)__b;
20705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
20805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
2104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector int __a, vector int __b)
2114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
2164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool int __a, vector int __b)
21705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a + __b;
21905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
22005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
22105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
2224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector int __a, vector bool int __b)
22305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector int)__b;
22505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
22605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
2284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned int __a, vector unsigned int __b)
2294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
2344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool int __a, vector unsigned int __b)
23505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a + __b;
23705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
23805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
23905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
2404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned int __a, vector bool int __b)
24105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned int)__b;
24305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
24405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
2464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector float __a, vector float __b)
2474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddubm */
2524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vaddubm vec_vaddubm
2544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
2564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector signed char __a, vector signed char __b)
2574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
2624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector bool char __a, vector signed char __b)
26305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a + __b;
26505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
26605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
26705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
2684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector signed char __a, vector bool char __b)
26905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector signed char)__b;
27105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
27205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
2744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector unsigned char __a, vector unsigned char __b)
2754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
2804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector bool char __a, vector unsigned char __b)
28105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a + __b;
28305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
28405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
28505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
2864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector unsigned char __a, vector bool char __b)
28705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned char)__b;
28905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
29005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduhm */
2924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vadduhm vec_vadduhm
2944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
2964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector short __a, vector short __b)
2974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
30105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
3024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector bool short __a, vector short __b)
30305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a + __b;
30505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
30605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
30705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
3084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector short __a, vector bool short __b)
30905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector short)__b;
31105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
31205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
3144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector unsigned short __a, vector unsigned short __b)
3154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
31905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
3204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector bool short __a, vector unsigned short __b)
32105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a + __b;
32305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
32405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
32505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
3264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector unsigned short __a, vector bool short __b)
32705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned short)__b;
32905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
33005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduwm */
3324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vadduwm vec_vadduwm
3344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
3364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector int __a, vector int __b)
3374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
3424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector bool int __a, vector int __b)
34305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a + __b;
34505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
34605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
34705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
3484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector int __a, vector bool int __b)
34905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector int)__b;
35105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
35205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
3544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector unsigned int __a, vector unsigned int __b)
3554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
3604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector bool int __a, vector unsigned int __b)
36105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a + __b;
36305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
36405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
36505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
3664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector unsigned int __a, vector bool int __b)
36705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned int)__b;
36905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
37005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddfp */
3724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vaddfp  vec_vaddfp
3744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
3764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddfp(vector float __a, vector float __b)
3774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_addc */
3824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
3844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_addc(vector unsigned int __a, vector unsigned int __b)
3854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddcuw(__a, __b);
3874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddcuw */
3904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
3924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddcuw(vector unsigned int __a, vector unsigned int __b)
3934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddcuw(__a, __b);
3954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_adds */
3984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
4004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector signed char __a, vector signed char __b)
4014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, __b);
4034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
40505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
4064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool char __a, vector signed char __b)
40705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
40905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
41005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
41105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
4124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector signed char __a, vector bool char __b)
41305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
41505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
41605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
4184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned char __a, vector unsigned char __b)
4194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, __b);
4214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
4244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool char __a, vector unsigned char __b)
42505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
42705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
42805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
42905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
4304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned char __a, vector bool char __b)
43105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
43305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
43405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
4364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector short __a, vector short __b)
4374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, __b);
4394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
4424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool short __a, vector short __b)
44305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs((vector short)__a, __b);
44505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
44605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
44705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
4484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector short __a, vector bool short __b)
44905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, (vector short)__b);
45105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
45205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
4544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned short __a, vector unsigned short __b)
4554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, __b);
4574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
4604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool short __a, vector unsigned short __b)
46105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
46305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
46405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
46505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
4664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned short __a, vector bool short __b)
46705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
46905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
47005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
4724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector int __a, vector int __b)
4734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, __b);
4754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
4784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool int __a, vector int __b)
47905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws((vector int)__a, __b);
48105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
48205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
48305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
4844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector int __a, vector bool int __b)
48505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, (vector int)__b);
48705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
48805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
4904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned int __a, vector unsigned int __b)
4914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, __b);
4934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
4964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool int __a, vector unsigned int __b)
49705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
49905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
50005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
50105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
5024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned int __a, vector bool int __b)
50305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
50505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
50605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddsbs */
5084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
5104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsbs(vector signed char __a, vector signed char __b)
5114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, __b);
5134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
5164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsbs(vector bool char __a, vector signed char __b)
51705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
51905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
52005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
52105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
5224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsbs(vector signed char __a, vector bool char __b)
52305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
52505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
52605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddubs */
5284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
5304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubs(vector unsigned char __a, vector unsigned char __b)
5314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, __b);
5334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
5364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubs(vector bool char __a, vector unsigned char __b)
53705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
53905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
54005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
54105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
5424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubs(vector unsigned char __a, vector bool char __b)
54305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
54505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
54605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddshs */
5484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
5504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddshs(vector short __a, vector short __b)
5514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, __b);
5534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
5564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddshs(vector bool short __a, vector short __b)
55705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs((vector short)__a, __b);
55905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
56005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
56105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
5624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddshs(vector short __a, vector bool short __b)
56305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, (vector short)__b);
56505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
56605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduhs */
5684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
5704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhs(vector unsigned short __a, vector unsigned short __b)
5714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, __b);
5734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
5764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhs(vector bool short __a, vector unsigned short __b)
57705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
57905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
58005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
58105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
5824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhs(vector unsigned short __a, vector bool short __b)
58305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
58505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
58605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddsws */
5884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
5904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsws(vector int __a, vector int __b)
5914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, __b);
5934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
5964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsws(vector bool int __a, vector int __b)
59705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws((vector int)__a, __b);
59905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
60005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
60105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
6024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsws(vector int __a, vector bool int __b)
60305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, (vector int)__b);
60505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
60605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduws */
6084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
6104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduws(vector unsigned int __a, vector unsigned int __b)
6114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, __b);
6134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
6164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduws(vector bool int __a, vector unsigned int __b)
61705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
61905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
62005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
62105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
6224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduws(vector unsigned int __a, vector bool int __b)
62305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
62505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
62605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_and */
6284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vand vec_and
6304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
6324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector signed char __a, vector signed char __b)
6334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
6384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool char __a, vector signed char __b)
63905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & __b;
64105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
64205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
64305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
6444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector signed char __a, vector bool char __b)
64505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector signed char)__b;
64705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
64805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
6504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned char __a, vector unsigned char __b)
6514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
6564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool char __a, vector unsigned char __b)
65705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & __b;
65905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
66005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
66105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
6624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned char __a, vector bool char __b)
66305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned char)__b;
66505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
66605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
66705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
6684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool char __a, vector bool char __b)
66905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
67105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
67205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
6744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector short __a, vector short __b)
6754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
6804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool short __a, vector short __b)
68105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & __b;
68305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
68405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
68505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
6864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector short __a, vector bool short __b)
68705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector short)__b;
68905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
69005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
6924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned short __a, vector unsigned short __b)
6934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
6984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool short __a, vector unsigned short __b)
69905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & __b;
70105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
70205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
70305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
7044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned short __a, vector bool short __b)
70505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned short)__b;
70705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
70805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
70905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
7104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool short __a, vector bool short __b)
71105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
71305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
71405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
7164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector int __a, vector int __b)
7174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
7194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
7224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector int __b)
72305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & __b;
72505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
72605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
72705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
7284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector int __a, vector bool int __b)
72905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector int)__b;
73105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
73205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
7344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned int __a, vector unsigned int __b)
7354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
7374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
7404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector unsigned int __b)
74105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & __b;
74305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
74405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
74505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
7464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned int __a, vector bool int __b)
74705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned int)__b;
74905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
75005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
75105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
7524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector bool int __b)
75305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
75505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
75605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
7584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector float __a, vector float __b)
7594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
7614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
7624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
76405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
7654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector float __b)
76605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
7684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
76905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
77005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
77105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
7724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector float __a, vector bool int __b)
77305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
7754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
77605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
77705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vand */
7794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
7804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
7814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector signed char __a, vector signed char __b)
7824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
7844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
78605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
7874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool char __a, vector signed char __b)
78805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & __b;
79005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
79105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
79205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
7934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector signed char __a, vector bool char __b)
79405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector signed char)__b;
79605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
79705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
7994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned char __a, vector unsigned char __b)
8004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
80405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
8054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool char __a, vector unsigned char __b)
80605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & __b;
80805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
80905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
81005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
8114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned char __a, vector bool char __b)
81205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned char)__b;
81405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
81505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
81605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
8174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool char __a, vector bool char __b)
81805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
82005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
82105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
8234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector short __a, vector short __b)
8244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
82805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
8294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool short __a, vector short __b)
83005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & __b;
83205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
83305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
83405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
8354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector short __a, vector bool short __b)
83605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector short)__b;
83805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
83905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
8414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned short __a, vector unsigned short __b)
8424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
84605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
8474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool short __a, vector unsigned short __b)
84805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & __b;
85005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
85105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
85205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
8534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned short __a, vector bool short __b)
85405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned short)__b;
85605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
85705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
85805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
8594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool short __a, vector bool short __b)
86005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
86205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
86305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
8654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector int __a, vector int __b)
8664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
87005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
8714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector int __b)
87205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & __b;
87405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
87505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
87605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
8774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector int __a, vector bool int __b)
87805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector int)__b;
88005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
88105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
8834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned int __a, vector unsigned int __b)
8844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
88805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
8894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector unsigned int __b)
89005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & __b;
89205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
89305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
89405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
8954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned int __a, vector bool int __b)
89605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned int)__b;
89805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
89905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
90005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
9014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector bool int __b)
90205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
90405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
90505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
9074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector float __a, vector float __b)
9084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
9104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
9114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
91305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
9144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector float __b)
91505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
9174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
91805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
91905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
92005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
9214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector float __a, vector bool int __b)
92205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
9244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
92505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
92605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_andc */
9284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
9294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vandc vec_andc
9304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
9314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
9324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector signed char __a, vector signed char __b)
9334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
93705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
9384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool char __a, vector signed char __b)
93905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & ~__b;
94105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
94205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
94305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
9444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector signed char __a, vector bool char __b)
94505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector signed char)__b;
94705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
94805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
9504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned char __a, vector unsigned char __b)
9514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
95505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
9564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool char __a, vector unsigned char __b)
95705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & ~__b;
95905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
96005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
96105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
9624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned char __a, vector bool char __b)
96305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned char)__b;
96505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
96605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
96705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
9684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool char __a, vector bool char __b)
96905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
97105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
97205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
9744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector short __a, vector short __b)
9754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
97905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
9804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool short __a, vector short __b)
98105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & ~__b;
98305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
98405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
98505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
9864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector short __a, vector bool short __b)
98705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector short)__b;
98905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
99005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
9924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned short __a, vector unsigned short __b)
9934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
99705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
9984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool short __a, vector unsigned short __b)
99905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & ~__b;
100105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
100205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
100305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
10044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned short __a, vector bool short __b)
100505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned short)__b;
100705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
100805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
100905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
10104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool short __a, vector bool short __b)
101105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
101305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
101405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
10164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector int __a, vector int __b)
10174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
10194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
102105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
10224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector int __b)
102305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & ~__b;
102505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
102605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
102705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
10284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector int __a, vector bool int __b)
102905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector int)__b;
103105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
103205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
10344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned int __a, vector unsigned int __b)
10354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
10374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
103905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
10404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector unsigned int __b)
104105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & ~__b;
104305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
104405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
104505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
10464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned int __a, vector bool int __b)
104705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned int)__b;
104905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
105005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
105105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
10524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector bool int __b)
105305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
105505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
105605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
10584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector float __a, vector float __b)
10594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
10614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
10624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
106405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
10654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector float __b)
106605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
10684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
106905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
107005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
107105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
10724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector float __a, vector bool int __b)
107305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
10754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
107605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
107705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vandc */
10794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
10804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
10814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector signed char __a, vector signed char __b)
10824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
10844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
108605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
10874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool char __a, vector signed char __b)
108805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & ~__b;
109005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
109105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
109205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
10934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector signed char __a, vector bool char __b)
109405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector signed char)__b;
109605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
109705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
10994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned char __a, vector unsigned char __b)
11004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
110405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
11054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool char __a, vector unsigned char __b)
110605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & ~__b;
110805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
110905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
111005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
11114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned char __a, vector bool char __b)
111205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned char)__b;
111405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
111505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
111605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
11174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool char __a, vector bool char __b)
111805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
112005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
112105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
11234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector short __a, vector short __b)
11244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
112805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
11294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool short __a, vector short __b)
113005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & ~__b;
113205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
113305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
113405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
11354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector short __a, vector bool short __b)
113605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector short)__b;
113805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
113905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
11414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned short __a, vector unsigned short __b)
11424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
114605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
11474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool short __a, vector unsigned short __b)
114805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & ~__b;
115005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
115105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
115205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
11534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned short __a, vector bool short __b)
115405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned short)__b;
115605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
115705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
115805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
11594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool short __a, vector bool short __b)
116005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
116205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
116305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
11654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector int __a, vector int __b)
11664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
117005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
11714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector int __b)
117205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & ~__b;
117405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
117505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
117605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
11774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector int __a, vector bool int __b)
117805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector int)__b;
118005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
118105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
11834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned int __a, vector unsigned int __b)
11844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
118805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
11894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector unsigned int __b)
119005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & ~__b;
119205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
119305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
119405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
11954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned int __a, vector bool int __b)
119605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned int)__b;
119805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
119905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
120005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
12014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector bool int __b)
120205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
12034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
120405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
120505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
12064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
12074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector float __a, vector float __b)
12084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
12104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
12114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
121305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
12144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector float __b)
121505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
12164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
12174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
121805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
121905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
122005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
12214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector float __a, vector bool int __b)
122205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
12234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
12244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
122505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
122605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
12274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_avg */
12284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
12304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector signed char __a, vector signed char __b)
12314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsb(__a, __b);
12334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
12364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector unsigned char __a, vector unsigned char __b)
12374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgub(__a, __b);
12394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
12424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector short __a, vector short __b)
12434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsh(__a, __b);
12454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
12484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector unsigned short __a, vector unsigned short __b)
12494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguh(__a, __b);
12514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
12544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector int __a, vector int __b)
12554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsw(__a, __b);
12574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
12604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector unsigned int __a, vector unsigned int __b)
12614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguw(__a, __b);
12634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsb */
12664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __attribute__((__always_inline__))
12684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgsb(vector signed char __a, vector signed char __b)
12694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsb(__a, __b);
12714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgub */
12744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __attribute__((__always_inline__))
12764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgub(vector unsigned char __a, vector unsigned char __b)
12774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgub(__a, __b);
12794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsh */
12824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
12844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgsh(vector short __a, vector short __b)
12854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsh(__a, __b);
12874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavguh */
12904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
12924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavguh(vector unsigned short __a, vector unsigned short __b)
12934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguh(__a, __b);
12954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsw */
12984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
13004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgsw(vector int __a, vector int __b)
13014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsw(__a, __b);
13034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavguw */
13064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
13084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavguw(vector unsigned int __a, vector unsigned int __b)
13094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguw(__a, __b);
13114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ceil */
13144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
13164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ceil(vector float __a)
13174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfip(__a);
13194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfip */
13224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
13244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfip(vector float __a)
13254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfip(__a);
13274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpb */
13304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
13324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpb(vector float __a, vector float __b)
13334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp(__a, __b);
13354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpbfp */
13384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
13404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpbfp(vector float __a, vector float __b)
13414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp(__a, __b);
13434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpeq */
13464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
13484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector signed char __a, vector signed char __b)
13494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1350a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool char)
13514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
13524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1354a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
13554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector unsigned char __a, vector unsigned char __b)
13564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool char)
13584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
13594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1361a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
13624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector short __a, vector short __b)
13634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpequh(__a, __b);
13654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1367a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
13684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector unsigned short __a, vector unsigned short __b)
13694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1370a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool short)
13714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh((vector short)__a, (vector short)__b);
13724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1374a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
13754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector int __a, vector int __b)
13764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpequw(__a, __b);
13784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1380a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
13814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector unsigned int __a, vector unsigned int __b)
13824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1383a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool int)
13844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw((vector int)__a, (vector int)__b);
13854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1387a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
13884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector float __a, vector float __b)
13894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpeqfp(__a, __b);
13914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpge */
13944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1395a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
13964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpge(vector float __a, vector float __b)
13974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
13994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgefp */
14024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
14044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgefp(vector float __a, vector float __b)
14054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
14074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpgt */
14104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1411a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
14124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector signed char __a, vector signed char __b)
14134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
14154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
14184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector unsigned char __a, vector unsigned char __b)
14194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
14214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
14244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector short __a, vector short __b)
14254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
14274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
14304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector unsigned short __a, vector unsigned short __b)
14314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
14334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
14364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector int __a, vector int __b)
14374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
14394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
14424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector unsigned int __a, vector unsigned int __b)
14434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
14454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
14484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector float __a, vector float __b)
14494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
14514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsb */
14544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __attribute__((__always_inline__))
14564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtsb(vector signed char __a, vector signed char __b)
14574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
14594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtub */
14624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __attribute__((__always_inline__))
14644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtub(vector unsigned char __a, vector unsigned char __b)
14654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
14674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsh */
14704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __attribute__((__always_inline__))
14724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtsh(vector short __a, vector short __b)
14734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
14754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtuh */
14784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __attribute__((__always_inline__))
14804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtuh(vector unsigned short __a, vector unsigned short __b)
14814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
14834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsw */
14864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1487a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
14884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtsw(vector int __a, vector int __b)
14894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
14914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtuw */
14944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1495a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
14964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtuw(vector unsigned int __a, vector unsigned int __b)
14974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
14994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtfp */
15024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
15044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtfp(vector float __a, vector float __b)
15054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
15074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmple */
15104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1511a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
15124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmple(vector float __a, vector float __b)
15134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgefp(__b, __a);
15154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmplt */
15184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1519a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
15204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector signed char __a, vector signed char __b)
15214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtsb(__b, __a);
15234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1525a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
15264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector unsigned char __a, vector unsigned char __b)
15274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtub(__b, __a);
15294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1531a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
15324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector short __a, vector short __b)
15334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtsh(__b, __a);
15354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1537a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
15384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector unsigned short __a, vector unsigned short __b)
15394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtuh(__b, __a);
15414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
15444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector int __a, vector int __b)
15454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtsw(__b, __a);
15474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
15504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector unsigned int __a, vector unsigned int __b)
15514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtuw(__b, __a);
15534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1555a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
15564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector float __a, vector float __b)
15574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtfp(__b, __a);
15594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ctf */
15624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
15644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ctf(vector int __a, int __b)
15654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfsx(__a, __b);
15674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
15704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ctf(vector unsigned int __a, int __b)
15714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfux((vector int)__a, __b);
15734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcfsx */
15764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
15784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcfsx(vector int __a, int __b)
15794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfsx(__a, __b);
15814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcfux */
15844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
15864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcfux(vector unsigned int __a, int __b)
15874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfux((vector int)__a, __b);
15894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cts */
15924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
15944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cts(vector float __a, int __b)
15954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctsxs(__a, __b);
15974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vctsxs */
16004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
16024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vctsxs(vector float __a, int __b)
16034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctsxs(__a, __b);
16054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ctu */
16084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
16104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ctu(vector float __a, int __b)
16114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctuxs(__a, __b);
16134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vctuxs */
16164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
16184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vctuxs(vector float __a, int __b)
16194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctuxs(__a, __b);
16214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dss */
16244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dss(int __a)
16274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dss(__a);
16294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dssall */
16324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_dssall(void)
16354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov  __builtin_altivec_dssall();
16374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dst */
16404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dst(const void *__a, int __b, int __c)
16434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dst(__a, __b, __c);
16454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dstst */
16484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dstst(const void *__a, int __b, int __c)
16514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dstst(__a, __b, __c);
16534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dststt */
16564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dststt(const void *__a, int __b, int __c)
16594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dststt(__a, __b, __c);
16614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dstt */
16644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dstt(const void *__a, int __b, int __c)
16674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dstt(__a, __b, __c);
16694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_expte */
16724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
16744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_expte(vector float __a)
16754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vexptefp(__a);
16774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vexptefp */
16804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
16824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vexptefp(vector float __a)
16834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vexptefp(__a);
16854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_floor */
16884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
16904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_floor(vector float __a)
16914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfim(__a);
16934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfim */
16964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
16984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfim(vector float __a)
16994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfim(__a);
17014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ld */
17044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
17064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector signed char *__b)
17074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
17094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
17124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const signed char *__b)
17134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
17154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
17184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector unsigned char *__b)
17194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
17214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
17244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const unsigned char *__b)
17254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
17274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1729a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
17304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector bool char *__b)
1731a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
17324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvx(__a, __b);
1733a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
17354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
17364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector short *__b)
17374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
17394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
17424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const short *__b)
17434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
17454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
17484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector unsigned short *__b)
17494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
17514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
17544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const unsigned short *__b)
17554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
17574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1759a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
17604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector bool short *__b)
1761a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
17624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvx(__a, __b);
1763a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1764a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
1765a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
17664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector pixel *__b)
1767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
17684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_lvx(__a, __b);
1769a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1770a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
17714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
17724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector int *__b)
17734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
17754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
17784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const int *__b)
17794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
17814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
17844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector unsigned int *__b)
17854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
17874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
17904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const unsigned int *__b)
17914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
17934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1795a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
17964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector bool int *__b)
1797a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
17984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvx(__a, __b);
1799a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
18014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
18024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector float *__b)
18034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
18054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
18084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const float *__b)
18094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
18114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvx */
18144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
18164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector signed char *__b)
18174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
18194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
18224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const signed char *__b)
18234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
18254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
18284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector unsigned char *__b)
18294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
18314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
18344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const unsigned char *__b)
18354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
18374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1839a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
18404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector bool char *__b)
1841a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
18424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvx(__a, __b);
1843a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
18454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
18464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector short *__b)
18474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
18494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
18524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const short *__b)
18534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
18554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
18584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector unsigned short *__b)
18594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
18614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
18644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const unsigned short *__b)
18654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
18674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1869a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
18704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector bool short *__b)
1871a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
18724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvx(__a, __b);
1873a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1874a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
1875a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
18764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector pixel *__b)
1877a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
18784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_lvx(__a, __b);
1879a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1880a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
18814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
18824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector int *__b)
18834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
18854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
18884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const int *__b)
18894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
18914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
18944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector unsigned int *__b)
18954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
18974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
19004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const unsigned int *__b)
19014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
19034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
19064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector bool int *__b)
1907a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
19084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvx(__a, __b);
1909a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
19114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
19124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector float *__b)
19134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
19154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
19184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const float *__b)
19194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
19214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lde */
19244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
19263521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const signed char *__b)
19274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvebx(__a, __b);
19294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
19323521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const unsigned char *__b)
19334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
19354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
19383521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const short *__b)
19394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvehx(__a, __b);
19414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
19443521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const unsigned short *__b)
19454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
19474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
19503521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const int *__b)
19514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvewx(__a, __b);
19534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
19563521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const unsigned int *__b)
19574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
19594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
19623521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const float *__b)
19634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvewx(__a, __b);
19654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvebx */
19684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
19703521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvebx(int __a, const signed char *__b)
19714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvebx(__a, __b);
19734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
19763521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvebx(int __a, const unsigned char *__b)
19774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
19794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvehx */
19824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
19843521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvehx(int __a, const short *__b)
19854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvehx(__a, __b);
19874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
19903521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvehx(int __a, const unsigned short *__b)
19914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
19934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvewx */
19964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
19983521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvewx(int __a, const int *__b)
19994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvewx(__a, __b);
20014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
20043521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvewx(int __a, const unsigned int *__b)
20054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
20074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
20103521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvewx(int __a, const float *__b)
20114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvewx(__a, __b);
20134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ldl */
20164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
20184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector signed char *__b)
20194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
20214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
20244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const signed char *__b)
20254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
20274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
20304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector unsigned char *__b)
20314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
20334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
20364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const unsigned char *__b)
20374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
20394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
20424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector bool char *__b)
2043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
20444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
20474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
20484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector short *__b)
20494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
20514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
20544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const short *__b)
20554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
20574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
20604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector unsigned short *__b)
20614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
20634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
20664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const unsigned short *__b)
20674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
20694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
20724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector bool short *__b)
2073a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
20744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2075a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2077a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
20784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector pixel *__b)
2079a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
20804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel short)__builtin_altivec_lvxl(__a, __b);
2081a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2082a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
20834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
20844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector int *__b)
20854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
20874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
20904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const int *__b)
20914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
20934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
20964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector unsigned int *__b)
20974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
20994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
21024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const unsigned int *__b)
21034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
21054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
21084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector bool int *__b)
2109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
21134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
21144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector float *__b)
21154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
21174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
21204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const float *__b)
21214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
21234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvxl */
21264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
21284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector signed char *__b)
21294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
21314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
21344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const signed char *__b)
21354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
21374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
21404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector unsigned char *__b)
21414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
21434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
21464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const unsigned char *__b)
21474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
21494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
21524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector bool char *__b)
2153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
21574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
21584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector short *__b)
21594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
21614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
21644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const short *__b)
21654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
21674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
21704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector unsigned short *__b)
21714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
21734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
21764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const unsigned short *__b)
21774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
21794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
21824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector bool short *__b)
2183a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2185a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2186a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2187a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
21884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector pixel *__b)
2189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_lvxl(__a, __b);
2191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
21934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
21944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector int *__b)
21954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
21974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
22004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const int *__b)
22014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
22034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
22064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector unsigned int *__b)
22074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
22094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
22124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const unsigned int *__b)
22134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
22154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
22184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector bool int *__b)
2219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
22204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2221a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
22234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
22244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector float *__b)
22254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
22274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
22304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const float *__b)
22314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
22334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_loge */
22364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
22384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_loge(vector float __a)
22394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vlogefp(__a);
22414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vlogefp */
22444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
22464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vlogefp(vector float __a)
22474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vlogefp(__a);
22494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvsl */
22524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const signed char *__b)
22554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const unsigned char *__b)
22614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const short *__b)
22674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const unsigned short *__b)
22734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const int *__b)
22794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const unsigned int *__b)
22854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const float *__b)
22914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvsr */
22964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const signed char *__b)
22994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const unsigned char *__b)
23054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const short *__b)
23114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const unsigned short *__b)
23174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const int *__b)
23234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const unsigned int *__b)
23294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const float *__b)
23354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_madd */
23404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
23424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_madd(vector float __a, vector float __b, vector float __c)
23434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaddfp(__a, __b, __c);
23454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaddfp */
23484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
23504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaddfp(vector float __a, vector float __b, vector float __c)
23514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaddfp(__a, __b, __c);
23534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_madds */
23564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__))
23584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_madds(vector signed short __a, vector signed short __b, vector signed short __c)
23594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhaddshs(__a, __b, __c);
23614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmhaddshs */
23644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__))
23654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmhaddshs(vector signed short __a,
23664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector signed short __b,
23674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector signed short __c)
23684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhaddshs(__a, __b, __c);
23704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_max */
23734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
23754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector signed char __a, vector signed char __b)
23764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, __b);
23784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2380a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
23814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool char __a, vector signed char __b)
2382a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
23834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2384a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2385a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2386a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
23874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector signed char __a, vector bool char __b)
2388a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
23894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2390a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2391a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
23924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned char __a, vector unsigned char __b)
23944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, __b);
23964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
23994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool char __a, vector unsigned char __b)
2400a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
24054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned char __a, vector bool char __b)
2406a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2408a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2409a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
24114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector short __a, vector short __b)
24124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, __b);
24144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2416a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
24174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool short __a, vector short __b)
2418a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh((vector short)__a, __b);
2420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2421a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
24234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector short __a, vector bool short __b)
2424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
24294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned short __a, vector unsigned short __b)
24304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, __b);
24324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2434a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
24354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool short __a, vector unsigned short __b)
2436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
24414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned short __a, vector bool short __b)
2442a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2445a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
24474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector int __a, vector int __b)
24484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, __b);
24504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2452a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
24534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool int __a, vector int __b)
2454a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw((vector int)__a, __b);
2456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
24594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector int __a, vector bool int __b)
2460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
24654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned int __a, vector unsigned int __b)
24664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, __b);
24684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2470a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
24714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool int __a, vector unsigned int __b)
2472a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2474a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2475a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2476a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
24774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned int __a, vector bool int __b)
2478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
24834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector float __a, vector float __b)
24844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxfp(__a, __b);
24864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
24884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsb */
24894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2490a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
24914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsb(vector signed char __a, vector signed char __b)
24924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, __b);
24944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
24974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsb(vector bool char __a, vector signed char __b)
2498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
25034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsb(vector signed char __a, vector bool char __b)
2504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxub */
25094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2510a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
25114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxub(vector unsigned char __a, vector unsigned char __b)
25124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, __b);
25144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2516a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
25174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxub(vector bool char __a, vector unsigned char __b)
2518a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2520a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2521a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2522a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
25234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxub(vector unsigned char __a, vector bool char __b)
2524a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2526a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsh */
25294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2530a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
25314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsh(vector short __a, vector short __b)
25324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, __b);
25344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2536a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
25374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsh(vector bool short __a, vector short __b)
2538a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh((vector short)__a, __b);
2540a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2541a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2542a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
25434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsh(vector short __a, vector bool short __b)
2544a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2546a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxuh */
25494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2550a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
25514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuh(vector unsigned short __a, vector unsigned short __b)
25524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, __b);
25544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2556a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
25574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuh(vector bool short __a, vector unsigned short __b)
2558a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2560a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2561a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2562a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
25634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuh(vector unsigned short __a, vector bool short __b)
2564a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2566a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2567a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsw */
25694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2570a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
25714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsw(vector int __a, vector int __b)
25724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, __b);
25744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2576a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
25774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsw(vector bool int __a, vector int __b)
2578a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw((vector int)__a, __b);
2580a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2581a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2582a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
25834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsw(vector int __a, vector bool int __b)
2584a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2586a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2587a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxuw */
25894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2590a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
25914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuw(vector unsigned int __a, vector unsigned int __b)
25924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, __b);
25944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2596a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
25974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuw(vector bool int __a, vector unsigned int __b)
2598a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2600a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
26034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuw(vector unsigned int __a, vector bool int __b)
2604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
26054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
26084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxfp */
26094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
26114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxfp(vector float __a, vector float __b)
26124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxfp(__a, __b);
26144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mergeh */
26174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
26194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector signed char __a, vector signed char __b)
26204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
26234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
26244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
26274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector unsigned char __a, vector unsigned char __b)
26284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
26314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
26324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2634f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
26354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector bool char __a, vector bool char __b)
2636f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2638f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2639f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2640f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2641f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
26424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
26434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector short __a, vector short __b)
26444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
26474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
26484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
26514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector unsigned short __a, vector unsigned short __b)
26524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
26554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
26564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2658f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
26594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector bool short __a, vector bool short __b)
2660f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2662f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2663f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2664f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2665f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2666f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
26674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector pixel __a, vector pixel __b)
2668f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2670f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2671f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2672f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2673f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
26744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
26754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector int __a, vector int __b)
26764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
26794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
26804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
26834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector unsigned int __a, vector unsigned int __b)
26844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
26874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
26884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2690f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
26914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector bool int __a, vector bool int __b)
2692f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2694f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2695f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2696f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2697f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
26984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
26994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector float __a, vector float __b)
27004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
27034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
27044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghb */
27074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghb vec_vmrghb
27094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
27114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghb(vector signed char __a, vector signed char __b)
27124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
27154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
27164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
27194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghb(vector unsigned char __a, vector unsigned char __b)
27204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
27234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
27244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2726f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
27274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghb(vector bool char __a, vector bool char __b)
2728f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2730f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2731f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2732f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2733f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
27344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghh */
27354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghh vec_vmrghh
27374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
27394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector short __a, vector short __b)
27404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
27434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
27444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
27474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector unsigned short __a, vector unsigned short __b)
27484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
27514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
27524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2754f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
27554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector bool short __a, vector bool short __b)
2756f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2758f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2759f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2760f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2761f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2762f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
27634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector pixel __a, vector pixel __b)
2764f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2766f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2767f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2768f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2769f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
27704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghw */
27714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghw vec_vmrghw
27734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
27754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector int __a, vector int __b)
27764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
27794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
27804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
27834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector unsigned int __a, vector unsigned int __b)
27844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
27874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
27884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2790f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
27914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector bool int __a, vector bool int __b)
2792f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2794f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2795f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2796f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2797f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
27984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
27994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector float __a, vector float __b)
28004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
28034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
28044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mergel */
28074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
28094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector signed char __a, vector signed char __b)
28104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
28134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
28144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
28174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector unsigned char __a, vector unsigned char __b)
28184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
28214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
28224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2824f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
28254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector bool char __a, vector bool char __b)
2826f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2828f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2829f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2830f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2831f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
28324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
28334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector short __a, vector short __b)
28344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
28374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
28384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
28414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector unsigned short __a, vector unsigned short __b)
28424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
28454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
28464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2848f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
28494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector bool short __a, vector bool short __b)
2850f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2852f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2853f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2854f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2855f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2856f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
28574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector pixel __a, vector pixel __b)
2858f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2860f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2861f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2862f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2863f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
28644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
28654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector int __a, vector int __b)
28664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
28694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
28704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
28734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector unsigned int __a, vector unsigned int __b)
28744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
28774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
28784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2880f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
28814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector bool int __a, vector bool int __b)
2882f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2884f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2885f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2886f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2887f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
28884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
28894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector float __a, vector float __b)
28904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
28934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
28944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglb */
28974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglb vec_vmrglb
28994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
29014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglb(vector signed char __a, vector signed char __b)
29024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
29054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
29064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
29094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglb(vector unsigned char __a, vector unsigned char __b)
29104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
29134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
29144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2916f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
29174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglb(vector bool char __a, vector bool char __b)
2918f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2920f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2921f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2922f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2923f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
29244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglh */
29254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglh vec_vmrglh
29274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
29294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector short __a, vector short __b)
29304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
29334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
29344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
29374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector unsigned short __a, vector unsigned short __b)
29384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
29414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
29424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2944f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
29454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector bool short __a, vector bool short __b)
2946f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2948f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2949f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2950f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2951f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2952f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
29534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector pixel __a, vector pixel __b)
2954f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2956f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2957f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2958f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2959f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
29604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglw */
29614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglw vec_vmrglw
29634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
29654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector int __a, vector int __b)
29664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
29694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
29704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
29734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector unsigned int __a, vector unsigned int __b)
29744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
29774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
29784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2980f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
29814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector bool int __a, vector bool int __b)
2982f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2984f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2985f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2986f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2987f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
29884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
29894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector float __a, vector float __b)
29904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
29934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
29944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mfvscr */
29974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
29994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mfvscr(void)
30004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov  return __builtin_altivec_mfvscr();
30024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
30044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_min */
30054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
30064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
30074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector signed char __a, vector signed char __b)
30084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, __b);
30104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3012a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
30134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool char __a, vector signed char __b)
3014a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb((vector signed char)__a, __b);
3016a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3017a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3018a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
30194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector signed char __a, vector bool char __b)
3020a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3022a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
30254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned char __a, vector unsigned char __b)
30264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, __b);
30284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3030a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
30314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool char __a, vector unsigned char __b)
3032a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3035a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3036a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
30374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned char __a, vector bool char __b)
3038a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
30434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector short __a, vector short __b)
30444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, __b);
30464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3048a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
30494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool short __a, vector short __b)
3050a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh((vector short)__a, __b);
3052a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3054a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
30554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector short __a, vector bool short __b)
3056a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, (vector short)__b);
3058a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3059a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
30614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned short __a, vector unsigned short __b)
30624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, __b);
30644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3066a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
30674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool short __a, vector unsigned short __b)
3068a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3070a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3072a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
30734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned short __a, vector bool short __b)
3074a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3077a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
30794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector int __a, vector int __b)
30804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, __b);
30824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3084a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
30854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool int __a, vector int __b)
3086a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw((vector int)__a, __b);
3088a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3089a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3090a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
30914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector int __a, vector bool int __b)
3092a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, (vector int)__b);
3094a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3095a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
30974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned int __a, vector unsigned int __b)
30984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, __b);
31004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3102a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
31034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool int __a, vector unsigned int __b)
3104a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3108a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
31094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned int __a, vector bool int __b)
3110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
31144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
31154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector float __a, vector float __b)
31164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminfp(__a, __b);
31184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
31204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminsb */
31214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3122a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
31234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsb(vector signed char __a, vector signed char __b)
31244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, __b);
31264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3128a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
31294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsb(vector bool char __a, vector signed char __b)
3130a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb((vector signed char)__a, __b);
3132a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3134a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
31354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsb(vector signed char __a, vector bool char __b)
3136a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3138a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3139a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
31404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminub */
31414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3142a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
31434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminub(vector unsigned char __a, vector unsigned char __b)
31444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, __b);
31464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3148a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
31494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminub(vector bool char __a, vector unsigned char __b)
3150a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3152a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
31554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminub(vector unsigned char __a, vector bool char __b)
3156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3160a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_vminsh */
3161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3162a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
31634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsh(vector short __a, vector short __b)
31644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, __b);
31664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3168a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
31694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsh(vector bool short __a, vector short __b)
3170a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh((vector short)__a, __b);
3172a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3173a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3174a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
31754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsh(vector short __a, vector bool short __b)
3176a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, (vector short)__b);
3178a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
31804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminuh */
31814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
31834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuh(vector unsigned short __a, vector unsigned short __b)
31844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, __b);
31864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3188a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
31894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuh(vector bool short __a, vector unsigned short __b)
3190a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3194a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
31954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuh(vector unsigned short __a, vector bool short __b)
3196a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3198a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3199a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
32004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminsw */
32014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3202a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
32034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsw(vector int __a, vector int __b)
32044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, __b);
32064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3208a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
32094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsw(vector bool int __a, vector int __b)
3210a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw((vector int)__a, __b);
3212a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3214a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
32154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsw(vector int __a, vector bool int __b)
3216a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, (vector int)__b);
3218a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
32204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminuw */
32214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
32234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuw(vector unsigned int __a, vector unsigned int __b)
32244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, __b);
32264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
32294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuw(vector bool int __a, vector unsigned int __b)
3230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
32354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuw(vector unsigned int __a, vector bool int __b)
3236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3238a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
32404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminfp */
32414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
32434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminfp(vector float __a, vector float __b)
32444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminfp(__a, __b);
32464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mladd */
32494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmladduhm vec_mladd
32514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector short __a, vector short __b, vector short __c)
32544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
32564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector short __a, vector unsigned short __b, vector unsigned short __c)
32604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * (vector short)__b + (vector short)__c;
32624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector unsigned short __a, vector short __b, vector short __c)
32664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a * __b + __c;
32684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
32714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector unsigned short __a,
32724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __b,
32734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __c)
32744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
32764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmladduhm */
32794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector short __a, vector short __b, vector short __c)
32824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
32844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector short __a, vector unsigned short __b, vector unsigned short __c)
32884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * (vector short)__b + (vector short)__c;
32904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector unsigned short __a, vector short __b, vector short __c)
32944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a * __b + __c;
32964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
32994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector unsigned short __a,
33004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector unsigned short __b,
33014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector unsigned short __c)
33024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
33044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mradds */
33074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
33094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mradds(vector short __a, vector short __b, vector short __c)
33104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhraddshs(__a, __b, __c);
33124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmhraddshs */
33154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
33174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmhraddshs(vector short __a, vector short __b, vector short __c)
33184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhraddshs(__a, __b, __c);
33204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_msum */
33234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
33254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector signed char __a, vector unsigned char __b, vector int __c)
33264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsummbm(__a, __b, __c);
33284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
33314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector unsigned char __a, vector unsigned char __b, vector unsigned int __c)
33324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumubm(__a, __b, __c);
33344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
33374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector short __a, vector short __b, vector int __c)
33384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshm(__a, __b, __c);
33404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
33434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector unsigned short __a,
33444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __b,
33454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned int __c)
33464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhm(__a, __b, __c);
33484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsummbm */
33514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
33534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsummbm(vector signed char __a, vector unsigned char __b, vector int __c)
33544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsummbm(__a, __b, __c);
33564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumubm */
33594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
33614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumubm(vector unsigned char __a,
33624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned char __b,
33634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned int __c)
33644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumubm(__a, __b, __c);
33664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumshm */
33694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
33714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumshm(vector short __a, vector short __b, vector int __c)
33724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshm(__a, __b, __c);
33744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumuhm */
33774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
33794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumuhm(vector unsigned short __a,
33804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned short __b,
33814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned int __c)
33824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhm(__a, __b, __c);
33844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_msums */
33874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
33894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msums(vector short __a, vector short __b, vector int __c)
33904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshs(__a, __b, __c);
33924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
33954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msums(vector unsigned short __a,
33964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __b,
33974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned int __c)
33984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhs(__a, __b, __c);
34004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumshs */
34034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
34054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumshs(vector short __a, vector short __b, vector int __c)
34064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshs(__a, __b, __c);
34084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumuhs */
34114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
34134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumuhs(vector unsigned short __a,
34144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned short __b,
34154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned int __c)
34164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhs(__a, __b, __c);
34184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mtvscr */
34214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector signed char __a)
34244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector unsigned char __a)
34304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector bool char __a)
3436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector short __a)
34424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector unsigned short __a)
34484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector bool short __a)
3454a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector pixel __a)
3460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3464a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector int __a)
34664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector unsigned int __a)
34724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector bool int __a)
3478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3482a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector float __a)
34844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mule */
34894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
34914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector signed char __a, vector signed char __b)
34924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesb(__a, __b);
34944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
34974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector unsigned char __a, vector unsigned char __b)
34984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleub(__a, __b);
35004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
35034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector short __a, vector short __b)
35044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesh(__a, __b);
35064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
35094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector unsigned short __a, vector unsigned short __b)
35104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleuh(__a, __b);
35124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulesb */
35154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
35174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulesb(vector signed char __a, vector signed char __b)
35184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesb(__a, __b);
35204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuleub */
35234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
35254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmuleub(vector unsigned char __a, vector unsigned char __b)
35264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleub(__a, __b);
35284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulesh */
35314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
35334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulesh(vector short __a, vector short __b)
35344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesh(__a, __b);
35364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuleuh */
35394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
35414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmuleuh(vector unsigned short __a, vector unsigned short __b)
35424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleuh(__a, __b);
35444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mulo */
35474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
35494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector signed char __a, vector signed char __b)
35504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosb(__a, __b);
35524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
35554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector unsigned char __a, vector unsigned char __b)
35564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuloub(__a, __b);
35584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
35614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector short __a, vector short __b)
35624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosh(__a, __b);
35644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
35674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector unsigned short __a, vector unsigned short __b)
35684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulouh(__a, __b);
35704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulosb */
35734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
35754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulosb(vector signed char __a, vector signed char __b)
35764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosb(__a, __b);
35784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuloub */
35814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
35834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmuloub(vector unsigned char __a, vector unsigned char __b)
35844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuloub(__a, __b);
35864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulosh */
35894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
35914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulosh(vector short __a, vector short __b)
35924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
35934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosh(__a, __b);
35944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulouh */
35974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
35994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulouh(vector unsigned short __a, vector unsigned short __b)
36004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulouh(__a, __b);
36024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_nmsub */
36054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
36074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nmsub(vector float __a, vector float __b, vector float __c)
36084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vnmsubfp(__a, __b, __c);
36104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vnmsubfp */
36134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
36154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnmsubfp(vector float __a, vector float __b, vector float __c)
36164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vnmsubfp(__a, __b, __c);
36184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_nor */
36214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vnor vec_nor
36234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
36254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector signed char __a, vector signed char __b)
36264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
36314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector unsigned char __a, vector unsigned char __b)
36324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3636a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
36374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector bool char __a, vector bool char __b)
3638a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
36394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3640a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3641a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
36424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
36434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector short __a, vector short __b)
36444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
36494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector unsigned short __a, vector unsigned short __b)
36504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3654a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
36554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector bool short __a, vector bool short __b)
3656a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
36574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3658a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3659a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
36604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
36614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector int __a, vector int __b)
36624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
36674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector unsigned int __a, vector unsigned int __b)
36684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3672a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
36734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector bool int __a, vector bool int __b)
3674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
36754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3676a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3677a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
36784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
36794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector float __a, vector float __b)
36804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
36824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
36834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vnor */
36864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
36884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector signed char __a, vector signed char __b)
36894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
36944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector unsigned char __a, vector unsigned char __b)
36954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3699a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
37004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector bool char __a, vector bool char __b)
3701a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3704a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
37064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector short __a, vector short __b)
37074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
37124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector unsigned short __a, vector unsigned short __b)
37134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3717a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
37184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector bool short __a, vector bool short __b)
3719a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3721a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3722a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
37244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector int __a, vector int __b)
37254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
37304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector unsigned int __a, vector unsigned int __b)
37314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
37364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector bool int __a, vector bool int __b)
3737a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3739a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3740a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
37424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector float __a, vector float __b)
37434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
37454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
37464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_or */
37494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vor vec_or
37514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
37534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector signed char __a, vector signed char __b)
37544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
37564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3758a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
37594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool char __a, vector signed char __b)
3760a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a | __b;
3762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3763a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3764a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
37654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector signed char __a, vector bool char __b)
3766a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector signed char)__b;
3768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3769a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
37714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned char __a, vector unsigned char __b)
37724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
37744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3776a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
37774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool char __a, vector unsigned char __b)
3778a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a | __b;
3780a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3781a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3782a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
37834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned char __a, vector bool char __b)
3784a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned char)__b;
3786a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3787a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3788a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
37894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool char __a, vector bool char __b)
3790a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3792a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3793a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
37954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector short __a, vector short __b)
37964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
37984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
38014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool short __a, vector short __b)
3802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a | __b;
3804a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3805a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3806a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
38074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector short __a, vector bool short __b)
3808a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector short)__b;
3810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3811a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
38134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned short __a, vector unsigned short __b)
38144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
38164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3818a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
38194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool short __a, vector unsigned short __b)
3820a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a | __b;
3822a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3823a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3824a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
38254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned short __a, vector bool short __b)
3826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned short)__b;
3828a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3829a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
38314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool short __a, vector bool short __b)
3832a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3834a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3835a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
38374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector int __a, vector int __b)
38384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
38404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3842a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
38434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector int __b)
3844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a | __b;
3846a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3847a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3848a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
38494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector int __a, vector bool int __b)
3850a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector int)__b;
3852a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3853a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
38554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned int __a, vector unsigned int __b)
38564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
38584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3860a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
38614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector unsigned int __b)
3862a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a | __b;
3864a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3865a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3866a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
38674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned int __a, vector bool int __b)
3868a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned int)__b;
3870a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3871a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
38734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector bool int __b)
3874a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3876a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3877a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
38794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector float __a, vector float __b)
38804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
38824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
38834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3885a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
38864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector float __b)
3887a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
38894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
3890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3891a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3892a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
38934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector float __a, vector bool int __b)
3894a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
38964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
3897a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3898a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vor */
39004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
39014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
39024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector signed char __a, vector signed char __b)
39034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3907a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
39084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool char __a, vector signed char __b)
3909a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a | __b;
3911a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3912a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3913a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
39144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector signed char __a, vector bool char __b)
3915a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector signed char)__b;
3917a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3918a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
39204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned char __a, vector unsigned char __b)
39214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3925a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
39264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool char __a, vector unsigned char __b)
3927a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a | __b;
3929a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3930a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3931a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
39324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned char __a, vector bool char __b)
3933a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned char)__b;
3935a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3936a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3937a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
39384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool char __a, vector bool char __b)
3939a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3941a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3942a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
39444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector short __a, vector short __b)
39454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3949a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
39504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool short __a, vector short __b)
3951a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a | __b;
3953a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3954a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3955a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
39564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector short __a, vector bool short __b)
3957a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector short)__b;
3959a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3960a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
39624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned short __a, vector unsigned short __b)
39634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3967a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
39684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool short __a, vector unsigned short __b)
3969a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a | __b;
3971a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3972a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3973a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
39744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned short __a, vector bool short __b)
3975a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned short)__b;
3977a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3978a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3979a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
39804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool short __a, vector bool short __b)
3981a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3983a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3984a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
39864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector int __a, vector int __b)
39874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3991a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
39924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector int __b)
3993a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a | __b;
3995a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3996a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3997a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
39984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector int __a, vector bool int __b)
3999a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector int)__b;
4001a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4002a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
40044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned int __a, vector unsigned int __b)
40054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
40074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4009a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
40104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector unsigned int __b)
4011a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a | __b;
4013a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4014a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
40164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned int __a, vector bool int __b)
4017a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned int)__b;
4019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4020a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
40224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector bool int __b)
4023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
4025a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4026a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
40284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector float __a, vector float __b)
40294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
40314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
40324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
40354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector float __b)
4036a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
40384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
4039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
40424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector float __a, vector bool int __b)
4043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
40454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
4046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4047a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_pack */
40494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
40504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
40514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector signed short __a, vector signed short __b)
40524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
40544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
40554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
40564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
40584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
40594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector unsigned short __a, vector unsigned short __b)
40604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
40624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
40634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
40644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4066f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
40674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector bool short __a, vector bool short __b)
4068f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
40694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4070f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4071f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4072f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4073f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
40744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
40754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector int __a, vector int __b)
40764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)vec_perm(__a, __b, (vector unsigned char)
40784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
40794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
40804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
40824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
40834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector unsigned int __a, vector unsigned int __b)
40844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
40864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
40874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
40884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4090f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
40914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector bool int __a, vector bool int __b)
4092f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
40934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4094f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4095f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4096f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4097f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
40984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuhum */
40994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vpkuhum vec_vpkuhum
41014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
41034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhum(vector signed short __a, vector signed short __b)
41044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
41064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
41074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
41084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
41114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhum(vector unsigned short __a, vector unsigned short __b)
41124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
41144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
41154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
41164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4118f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
41194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhum(vector bool short __a, vector bool short __b)
4120f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
41214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4122f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4123f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4124f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4125f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
41264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuwum */
41274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vpkuwum vec_vpkuwum
41294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
41314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwum(vector int __a, vector int __b)
41324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)vec_perm(__a, __b, (vector unsigned char)
41344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
41354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
41364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
41394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwum(vector unsigned int __a, vector unsigned int __b)
41404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
41424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
41434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
41444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4146f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
41474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwum(vector bool int __a, vector bool int __b)
4148f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
41494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4150f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4151f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4152f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4153f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
41544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packpx */
41554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector pixel __attribute__((__always_inline__))
41574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packpx(vector unsigned int __a, vector unsigned int __b)
41584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
41604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkpx */
41634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector pixel __attribute__((__always_inline__))
41654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkpx(vector unsigned int __a, vector unsigned int __b)
41664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
41684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packs */
41714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
41734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector short __a, vector short __b)
41744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshss(__a, __b);
41764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
41794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector unsigned short __a, vector unsigned short __b)
41804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
41824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai
41854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector int __a, vector int __b)
41864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswss(__a, __b);
41884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
41914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector unsigned int __a, vector unsigned int __b)
41924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
41944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkshss */
41974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __attribute__((__always_inline__))
41994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkshss(vector short __a, vector short __b)
42004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshss(__a, __b);
42024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuhus */
42054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __attribute__((__always_inline__))
42074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhus(vector unsigned short __a, vector unsigned short __b)
42084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
42104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkswss */
42134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__))
42154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkswss(vector int __a, vector int __b)
42164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswss(__a, __b);
42184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuwus */
42214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
42234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwus(vector unsigned int __a, vector unsigned int __b)
42244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
42264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packsu */
42294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
42314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector short __a, vector short __b)
42324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshus(__a, __b);
42344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
42374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector unsigned short __a, vector unsigned short __b)
42384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
42404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
42434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector int __a, vector int __b)
42444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswus(__a, __b);
42464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
42494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector unsigned int __a, vector unsigned int __b)
42504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
42524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkshus */
42554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
42574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkshus(vector short __a, vector short __b)
42584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshus(__a, __b);
42604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
42634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkshus(vector unsigned short __a, vector unsigned short __b)
42644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
42664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkswus */
42694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
42714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkswus(vector int __a, vector int __b)
42724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswus(__a, __b);
42744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
42774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkswus(vector unsigned int __a, vector unsigned int __b)
42784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
42804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_perm */
42834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector signed char __ATTRS_o_ai
42854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
42864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42873ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
42884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
42894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned char __ATTRS_o_ai
42924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned char __a,
42934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __b,
42944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __c)
42954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
42963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
42974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
42984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4300f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool char __ATTRS_o_ai
43014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4302f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
43033ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool char)
43044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4305f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4306f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
43074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector short __ATTRS_o_ai
43084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector short __a, vector short __b, vector unsigned char __c)
43094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector short)
43114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
43124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned short __ATTRS_o_ai
43154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned short __a,
43164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __b,
43174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __c)
43184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
43204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
43214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4323f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool short __ATTRS_o_ai
43244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4325f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
43263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool short)
43274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4328f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4329f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
4330f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector pixel __ATTRS_o_ai
43314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4332f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
43333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector pixel)
43344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4335f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4336f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
43374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector int __ATTRS_o_ai
43384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector int __a, vector int __b, vector unsigned char __c)
43394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vperm_4si(__a, __b, __c);
43414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned int __ATTRS_o_ai
43444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
43454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
43474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
43484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4350f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool int __ATTRS_o_ai
43514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4352f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
43533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool int)
43544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4355f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4356f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
43574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector float __ATTRS_o_ai
43584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector float __a, vector float __b, vector unsigned char __c)
43594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector float)
43614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
43624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vperm */
43654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
436660c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector signed char __ATTRS_o_ai
43674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector signed char __a, vector signed char __b, vector unsigned char __c)
43684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
43704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
43714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
437360c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector unsigned char __ATTRS_o_ai
43744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector unsigned char __a,
43754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned char __b,
43764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned char __c)
43774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
43794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
43804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
438260c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector bool char __ATTRS_o_ai
43834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4384f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
43853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool char)
43864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4387f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4388f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
438960c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector short __ATTRS_o_ai
43904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector short __a, vector short __b, vector unsigned char __c)
43914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
43923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector short)
43934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
43944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
439660c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector unsigned short __ATTRS_o_ai
43974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector unsigned short __a,
43984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __b,
43994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned char __c)
44004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44013ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
44024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
44034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
440560c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector bool short __ATTRS_o_ai
44064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4407f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
44083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool short)
44094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4410f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4411f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
441260c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector pixel __ATTRS_o_ai
44134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4414f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
44153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector pixel)
44164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4417f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4418f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
441960c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector int __ATTRS_o_ai
44204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector int __a, vector int __b, vector unsigned char __c)
44214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vperm_4si(__a, __b, __c);
44234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
442560c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector unsigned int __ATTRS_o_ai
44264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
44274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
44294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
44304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
443260c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector bool int __ATTRS_o_ai
44334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4434f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
44353ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool int)
44364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4437f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4438f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
443960c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector float __ATTRS_o_ai
44404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector float __a, vector float __b, vector unsigned char __c)
44414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44423ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector float)
44434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
44444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_re */
44474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
444860c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector float __attribute__((__always_inline__))
44494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_re(vector float __a)
44504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrefp(__a);
44524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrefp */
44554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
445660c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector float __attribute__((__always_inline__))
44574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrefp(vector float __a)
44584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrefp(__a);
44604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_rl */
44634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
44654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector signed char __a, vector unsigned char __b)
44664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
44684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
44714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector unsigned char __a, vector unsigned char __b)
44724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
44744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
44774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector short __a, vector unsigned short __b)
44784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlh(__a, __b);
44804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
44834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector unsigned short __a, vector unsigned short __b)
44844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
44864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
44894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector int __a, vector unsigned int __b)
44904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlw(__a, __b);
44924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
44954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector unsigned int __a, vector unsigned int __b)
44964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
44974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
44984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlb */
45014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
45034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlb(vector signed char __a, vector unsigned char __b)
45044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
45064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
45094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlb(vector unsigned char __a, vector unsigned char __b)
45104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
45124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlh */
45154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
45174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlh(vector short __a, vector unsigned short __b)
45184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlh(__a, __b);
45204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
45234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlh(vector unsigned short __a, vector unsigned short __b)
45244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
45264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlw */
45294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
45314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlw(vector int __a, vector unsigned int __b)
45324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlw(__a, __b);
45344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
45374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlw(vector unsigned int __a, vector unsigned int __b)
45384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
45404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_round */
45434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
45454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_round(vector float __a)
45464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfin(__a);
45484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfin */
45514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
45534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfin(vector float __a)
45544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfin(__a);
45564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_rsqrte */
45594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic __vector float __attribute__((__always_inline__))
45614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rsqrte(vector float __a)
45624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrsqrtefp(__a);
45644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrsqrtefp */
45674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic __vector float __attribute__((__always_inline__))
45694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrsqrtefp(vector float __a)
45704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrsqrtefp(__a);
45724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sel */
45754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsel_4si vec_sel
45774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
45794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
45804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
45824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4584a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
45854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector signed char __a, vector signed char __b, vector bool char __c)
4586a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
45874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
4588a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4589a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
45904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
45914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
45924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
45934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
45944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4596a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
45974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
4598a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
45994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
4600a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
46034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool char __a, vector bool char __b, vector unsigned char __c)
4604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
4606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4608a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
46094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool char __a, vector bool char __b, vector bool char __c)
4610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4612a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4613a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4614a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
46154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector short __a, vector short __b, vector unsigned short __c)
4616a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
4618a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4619a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4620a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
46214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector short __a, vector short __b, vector bool short __c)
46224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
46234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
46244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
46264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
46274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned short __a,
46284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie        vector unsigned short __b,
46294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie        vector unsigned short __c)
46304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
46314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
46324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4634a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
46354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
4636a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
4638a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4639a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4640a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
46414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool short __a, vector bool short __b, vector unsigned short __c)
4642a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
4644a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4645a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4646a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
46474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool short __a, vector bool short __b, vector bool short __c)
4648a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
46524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
46534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector int __a, vector int __b, vector unsigned int __c)
46544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
46554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
46564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4658a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
46594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector int __a, vector int __b, vector bool int __c)
4660a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
4662a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4663a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
46644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
46654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
46664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
46674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
46684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4670a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
46714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
4672a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
4674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4675a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4676a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
46774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool int __a, vector bool int __b, vector unsigned int __c)
4678a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
4680a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4681a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4682a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
46834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool int __a, vector bool int __b, vector bool int __c)
4684a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4686a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4687a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
46884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
46894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector float __a, vector float __b, vector unsigned int __c)
46904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
46914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
46924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
46934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
46944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4696a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
46974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector float __a, vector float __b, vector bool int __c)
4698a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
46994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
47004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
47014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
4702a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
47044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsel */
47054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
47074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector signed char __a, vector signed char __b, vector unsigned char __c)
47084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
47104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4712a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
47134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector signed char __a, vector signed char __b, vector bool char __c)
4714a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
4716a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4717a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
47184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
47194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
47204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
47224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4724a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
47254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
4726a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
4728a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4729a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4730a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
47314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool char __a, vector bool char __b, vector unsigned char __c)
4732a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
4734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4736a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
47374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool char __a, vector bool char __b, vector bool char __c)
4738a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4740a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4741a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
47424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
47434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector short __a, vector short __b, vector unsigned short __c)
47444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
47464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4748a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
47494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector short __a, vector short __b, vector bool short __c)
4750a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
4752a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4753a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
47544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
47554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned short __a,
47564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __b,
47574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __c)
47584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
47604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
47634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
4764a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
4766a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
47694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool short __a, vector bool short __b, vector unsigned short __c)
4770a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
4772a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4773a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4774a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
47754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool short __a, vector bool short __b, vector bool short __c)
4776a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4778a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4779a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
47804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
47814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector int __a, vector int __b, vector unsigned int __c)
47824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
47844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4786a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
47874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector int __a, vector int __b, vector bool int __c)
4788a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
47894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
4790a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4791a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
47924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
47934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
47944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
47964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
47994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
4800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
48014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
4802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4803a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4804a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
48054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool int __a, vector bool int __b, vector unsigned int __c)
4806a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
48074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
4808a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4809a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
48114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool int __a, vector bool int __b, vector bool int __c)
4812a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
48134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4814a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4815a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
48164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
48174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector float __a, vector float __b, vector unsigned int __c)
48184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
48204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
48214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
48224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4824a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
48254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector float __a, vector float __b, vector bool int __c)
4826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
48274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
48284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
48294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
4830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
48324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sl */
48334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
48354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector signed char __a, vector unsigned char __b)
48364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << (vector signed char)__b;
48384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
48414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector unsigned char __a, vector unsigned char __b)
48424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << __b;
48444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
48474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector short __a, vector unsigned short __b)
48484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << (vector short)__b;
48504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
48534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector unsigned short __a, vector unsigned short __b)
48544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << __b;
48564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
48594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector int __a, vector unsigned int __b)
48604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << (vector int)__b;
48624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
48654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector unsigned int __a, vector unsigned int __b)
48664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << __b;
48684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslb */
48714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslb vec_vslb
48734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
48754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslb(vector signed char __a, vector unsigned char __b)
48764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
48784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
48814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslb(vector unsigned char __a, vector unsigned char __b)
48824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
48844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslh */
48874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslh vec_vslh
48894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
48914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslh(vector short __a, vector unsigned short __b)
48924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
48944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
48974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslh(vector unsigned short __a, vector unsigned short __b)
48984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
49004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslw */
49034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslw vec_vslw
49054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
49074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslw(vector int __a, vector unsigned int __b)
49084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
49104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
49134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslw(vector unsigned int __a, vector unsigned int __b)
49144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
49164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sld */
49194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsldoi_4si vec_sld
49214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
49234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector signed char __a, vector signed char __b, unsigned char __c)
49244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
49314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
49324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
49394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector short __a, vector short __b, unsigned char __c)
49404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
49474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
49484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
4952f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4953f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
4954f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
49554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector pixel __a, vector pixel __b, unsigned char __c)
4956f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
49574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
49634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector int __a, vector int __b, unsigned char __c)
49644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
49714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
49724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
49794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector float __a, vector float __b, unsigned char __c)
49804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsldoi */
49874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
49894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector signed char __a, vector signed char __b, unsigned char __c)
49904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
49924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
49934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
49944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
49974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
49984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
50004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
50014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
50024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
50054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector short __a, vector short __b, unsigned char __c)
50064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
50084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
50094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
50104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
50134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
50144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
50164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
50174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5018f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5019f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5020f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
50214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector pixel __a, vector pixel __b, unsigned char __c)
5022f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
50234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
50244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
50254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
50264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
50294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector int __a, vector int __b, unsigned char __c)
50304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
50324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
50334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
50344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
50374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
50384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
50404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
50414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
50424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
50454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector float __a, vector float __b, unsigned char __c)
50464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
50484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
50494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
50504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sll */
50534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
50554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector signed char __a, vector unsigned char __b)
50564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50573ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
50584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
50594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
50624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector signed char __a, vector unsigned short __b)
50634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
50654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
50664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
50694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector signed char __a, vector unsigned int __b)
50704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
50724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
50734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
50764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned char __a, vector unsigned char __b)
50774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
50794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
50804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
50834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned char __a, vector unsigned short __b)
50844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
50864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
50874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
50904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned char __a, vector unsigned int __b)
50914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
50934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
50944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5096a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
50974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool char __a, vector unsigned char __b)
5098a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5100a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5101a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5102a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
51034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool char __a, vector unsigned short __b)
5104a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5108a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
51094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool char __a, vector unsigned int __b)
5110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
51144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
51154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector short __a, vector unsigned char __b)
51164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
51184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
51214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector short __a, vector unsigned short __b)
51224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
51244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
51274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector short __a, vector unsigned int __b)
51284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
51304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
51334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned short __a, vector unsigned char __b)
51344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51353ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
51364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
51374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
51404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned short __a, vector unsigned short __b)
51414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51423ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
51434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
51444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
51474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned short __a, vector unsigned int __b)
51484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51493ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
51504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
51514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
51544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool short __a, vector unsigned char __b)
5155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
51604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool short __a, vector unsigned short __b)
5161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5163a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5164a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5165a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
51664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool short __a, vector unsigned int __b)
5167a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5169a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5170a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5171a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
51724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector pixel __a, vector unsigned char __b)
5173a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5175a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5176a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
51784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector pixel __a, vector unsigned short __b)
5179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5183a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
51844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector pixel __a, vector unsigned int __b)
5185a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5187a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5188a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
51894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
51904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector int __a, vector unsigned char __b)
51914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
51934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
51964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector int __a, vector unsigned short __b)
51974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
51994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
52024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector int __a, vector unsigned int __b)
52034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
52054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
52084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned int __a, vector unsigned char __b)
52094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
52114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
52154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned int __a, vector unsigned short __b)
52164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
52184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
52224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned int __a, vector unsigned int __b)
52234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
52254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
52294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool int __a, vector unsigned char __b)
5230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
52314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
52354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool int __a, vector unsigned short __b)
5236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
52374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5238a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5240a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
52414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool int __a, vector unsigned int __b)
5242a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
52434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5244a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
52464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsl */
52474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
52494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector signed char __a, vector unsigned char __b)
52504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52513ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
52524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
52564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector signed char __a, vector unsigned short __b)
52574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
52594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
52634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector signed char __a, vector unsigned int __b)
52644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
52664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
52704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned char __a, vector unsigned char __b)
52714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
52734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
52774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned char __a, vector unsigned short __b)
52784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
52804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
52844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned char __a, vector unsigned int __b)
52854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52863ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
52874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
52884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5290a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
52914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool char __a, vector unsigned char __b)
5292a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
52934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5294a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5295a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5296a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
52974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool char __a, vector unsigned short __b)
5298a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
52994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5300a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5301a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5302a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
53034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool char __a, vector unsigned int __b)
5304a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
53054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5306a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5307a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
53084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
53094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector short __a, vector unsigned char __b)
53104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
53124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
53154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector short __a, vector unsigned short __b)
53164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
53184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
53214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector short __a, vector unsigned int __b)
53224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
53244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
53274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned short __a, vector unsigned char __b)
53284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
53304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
53314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
53344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned short __a, vector unsigned short __b)
53354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
53374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
53384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
53414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned short __a, vector unsigned int __b)
53424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
53444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
53454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
53484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool short __a, vector unsigned char __b)
5349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
53504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5352a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5353a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
53544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool short __a, vector unsigned short __b)
5355a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
53564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5358a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5359a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
53604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool short __a, vector unsigned int __b)
5361a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
53624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5363a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5364a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5365a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
53664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector pixel __a, vector unsigned char __b)
5367a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
53684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5369a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5370a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5371a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
53724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector pixel __a, vector unsigned short __b)
5373a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
53744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5375a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5376a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5377a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
53784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector pixel __a, vector unsigned int __b)
5379a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
53804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5381a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5382a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
53834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
53844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector int __a, vector unsigned char __b)
53854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
53874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
53904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector int __a, vector unsigned short __b)
53914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
53934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
53964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector int __a, vector unsigned int __b)
53974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
53984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
53994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
54024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned int __a, vector unsigned char __b)
54034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
54054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
54094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned int __a, vector unsigned short __b)
54104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
54124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
54164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned int __a, vector unsigned int __b)
54174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54183ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
54194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
54234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool int __a, vector unsigned char __b)
5424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
54254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5428a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
54294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool int __a, vector unsigned short __b)
5430a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
54314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5432a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5433a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5434a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
54354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool int __a, vector unsigned int __b)
5436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
54374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
54404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_slo */
54414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
54434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector signed char __a, vector signed char __b)
54444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
54464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
54474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
54504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector signed char __a, vector unsigned char __b)
54514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
54534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
54544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
54574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned char __a, vector signed char __b)
54584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
54604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
54614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
54644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned char __a, vector unsigned char __b)
54654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
54674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
54684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
54714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector short __a, vector signed char __b)
54724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
54744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
54774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector short __a, vector unsigned char __b)
54784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
54804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
54834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned short __a, vector signed char __b)
54844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
54864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
54874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
54904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned short __a, vector unsigned char __b)
54914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
54934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
54944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
54974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector pixel __a, vector signed char __b)
5498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
54994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
55034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector pixel __a, vector unsigned char __b)
5504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
55084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
55094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector int __a, vector signed char __b)
55104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
55124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
55154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector int __a, vector unsigned char __b)
55164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
55184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
55214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned int __a, vector signed char __b)
55224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
55244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
55254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
55284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned int __a, vector unsigned char __b)
55294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
55314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
55324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
55354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector float __a, vector signed char __b)
55364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
55384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
55414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector float __a, vector unsigned char __b)
55424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
55444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslo */
55474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
55494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector signed char __a, vector signed char __b)
55504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55513ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
55524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
55534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
55564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector signed char __a, vector unsigned char __b)
55574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
55594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
55604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
55634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned char __a, vector signed char __b)
55644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
55664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
55674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
55704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned char __a, vector unsigned char __b)
55714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
55734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
55744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
55774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector short __a, vector signed char __b)
55784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
55804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
55834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector short __a, vector unsigned char __b)
55844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
55864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
55894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned short __a, vector signed char __b)
55904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55913ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
55924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
55934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
55964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned short __a, vector unsigned char __b)
55974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
55994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
56004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
56034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector pixel __a, vector signed char __b)
5604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
56054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5608a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
56094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector pixel __a, vector unsigned char __b)
5610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
56114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5612a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5613a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
56144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
56154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector int __a, vector signed char __b)
56164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
56184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
56214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector int __a, vector unsigned char __b)
56224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
56244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
56274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned int __a, vector signed char __b)
56284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
56304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
56314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
56344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned int __a, vector unsigned char __b)
56354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
56374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
56384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
56414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector float __a, vector signed char __b)
56424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
56444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
56474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector float __a, vector unsigned char __b)
56484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
56504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat */
56534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
56554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector signed char __a, unsigned char __b)
56564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
56584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
56614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector unsigned char __a, unsigned char __b)
56624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
5664f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5665f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5666f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
56674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector bool char __a, unsigned char __b)
5668f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
56694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
56704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
56734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector short __a, unsigned char __b)
56744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
56764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
56774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
56784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
56794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
56824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector unsigned short __a, unsigned char __b)
56834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
56854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
56864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
56874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
5688f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5689f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5690f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
56914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector bool short __a, unsigned char __b)
5692f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
56934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
56944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
56954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
56964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
5697f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5698f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5699f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
57004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector pixel __a, unsigned char __b)
5701f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
57024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
57034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
57044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
57064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
57094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector int __a, unsigned char __b)
57104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
57124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
57134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
57154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
57184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector unsigned int __a, unsigned char __b)
57194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
57214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
57224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
5724f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5725f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5726f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
57274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector bool int __a, unsigned char __b)
5728f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
57294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
57304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
57314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
57334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
57364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector float __a, unsigned char __b)
57374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
57394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
57404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
57424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltb */
57454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltb vec_vspltb
57474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
57494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltb(vector signed char __a, unsigned char __b)
57504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
57524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
57554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltb(vector unsigned char __a, unsigned char __b)
57564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
5758f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5759f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5760f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
57614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltb(vector bool char __a, unsigned char __b)
5762f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
57634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
57644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsplth */
57674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsplth vec_vsplth
57694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
57714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector short __a, unsigned char __b)
57724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
57744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
57754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
57774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
57804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector unsigned short __a, unsigned char __b)
57814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
57834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
57844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
5786f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5787f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5788f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
57894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector bool short __a, unsigned char __b)
5790f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
57914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
57924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
57934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
57944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
5795f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5796f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5797f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
57984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector pixel __a, unsigned char __b)
5799f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
58004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
58014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
58024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
58034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
58044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltw */
58074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltw vec_vspltw
58094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
58114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector int __a, unsigned char __b)
58124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
58144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
58154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
58164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
58174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
58204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector unsigned int __a, unsigned char __b)
58214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
58234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
58244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
58254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
5826f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5827f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5828f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
58294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector bool int __a, unsigned char __b)
5830f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
58314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
58324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
58334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
58344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
58354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
58384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector float __a, unsigned char __b)
58394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
58414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
58424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
58434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
58444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s8 */
58474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltisb vec_splat_s8
58494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
58514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
58524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_s8(signed char __a)
58534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)(__a);
58554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltisb */
58584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
58604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
58614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltisb(signed char __a)
58624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)(__a);
58644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s16 */
58674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltish vec_splat_s16
58694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
58714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
58724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_s16(signed char __a)
58734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)(__a);
58754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltish */
58784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
58804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
58814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltish(signed char __a)
58824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)(__a);
58844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s32 */
58874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltisw vec_splat_s32
58894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
58914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
58924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_s32(signed char __a)
58934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)(__a);
58954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltisw */
58984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
59004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
59014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltisw(signed char __a)
59024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)(__a);
59044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u8 */
59074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
59094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
59104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_u8(unsigned char __a)
59114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)(__a);
59134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u16 */
59164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
59184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
59194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_u16(signed char __a)
59204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)(__a);
59224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u32 */
59254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
59274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
59284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_u32(signed char __a)
59294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)(__a);
59314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sr */
59344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
59364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector signed char __a, vector unsigned char __b)
59374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector signed char)__b;
59394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
59424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector unsigned char __a, vector unsigned char __b)
59434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
59454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
59484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector short __a, vector unsigned short __b)
59494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector short)__b;
59514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
59544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector unsigned short __a, vector unsigned short __b)
59554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
59574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
59604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector int __a, vector unsigned int __b)
59614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector int)__b;
59634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
59664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector unsigned int __a, vector unsigned int __b)
59674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
59694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrb */
59724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrb vec_vsrb
59744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
59764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrb(vector signed char __a, vector unsigned char __b)
59774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector signed char)__b;
59794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
59824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrb(vector unsigned char __a, vector unsigned char __b)
59834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
59854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrh */
59884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrh vec_vsrh
59904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
59924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrh(vector short __a, vector unsigned short __b)
59934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector short)__b;
59954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
59984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrh(vector unsigned short __a, vector unsigned short __b)
59994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
60014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrw */
60044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrw vec_vsrw
60064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
60084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrw(vector int __a, vector unsigned int __b)
60094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector int)__b;
60114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
60144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrw(vector unsigned int __a, vector unsigned int __b)
60154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
60174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sra */
60204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
60224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector signed char __a, vector unsigned char __b)
60234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
60254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
60284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector unsigned char __a, vector unsigned char __b)
60294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
60314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
60344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector short __a, vector unsigned short __b)
60354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
60374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
60404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector unsigned short __a, vector unsigned short __b)
60414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
60434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
60464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector int __a, vector unsigned int __b)
60474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsraw(__a, __b);
60494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
60524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector unsigned int __a, vector unsigned int __b)
60534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
60554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrab */
60584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
60604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrab(vector signed char __a, vector unsigned char __b)
60614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
60634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
60664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrab(vector unsigned char __a, vector unsigned char __b)
60674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
60694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrah */
60724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
60744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrah(vector short __a, vector unsigned short __b)
60754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
60774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
60804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrah(vector unsigned short __a, vector unsigned short __b)
60814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
60834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsraw */
60864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
60884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsraw(vector int __a, vector unsigned int __b)
60894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsraw(__a, __b);
60914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
60944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsraw(vector unsigned int __a, vector unsigned int __b)
60954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
60974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_srl */
61004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
61024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector signed char __a, vector unsigned char __b)
61034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
61054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
61094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector signed char __a, vector unsigned short __b)
61104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
61124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
61164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector signed char __a, vector unsigned int __b)
61174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61183ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
61194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
61234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned char __a, vector unsigned char __b)
61244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61253ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
61264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
61304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned char __a, vector unsigned short __b)
61314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
61334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
61374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned char __a, vector unsigned int __b)
61384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61393ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
61404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6143a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
61444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool char __a, vector unsigned char __b)
6145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
61464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6147a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6148a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6149a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
61504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool char __a, vector unsigned short __b)
6151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
61524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
61564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool char __a, vector unsigned int __b)
6157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
61584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6160a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
61614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
61624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector short __a, vector unsigned char __b)
61634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
61654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
61684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector short __a, vector unsigned short __b)
61694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
61714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
61744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector short __a, vector unsigned int __b)
61754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
61774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
61804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned short __a, vector unsigned char __b)
61814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61823ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
61834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
61874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned short __a, vector unsigned short __b)
61884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61893ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
61904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
61944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned short __a, vector unsigned int __b)
61954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
61974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
61984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6200a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
62014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool short __a, vector unsigned char __b)
62024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
62044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6206a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
62074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool short __a, vector unsigned short __b)
62084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
62104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6212a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
62134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool short __a, vector unsigned int __b)
62144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
62164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6218a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
62194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector pixel __a, vector unsigned char __b)
6220a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6223a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6224a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
62254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector pixel __a, vector unsigned short __b)
6226a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
62314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector pixel __a, vector unsigned int __b)
6232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6235a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
62374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector int __a, vector unsigned char __b)
6238a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6240a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6241a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6242a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
62434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector int __a, vector unsigned short __b)
6244a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6246a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6247a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6248a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
62494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector int __a, vector unsigned int __b)
6250a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6252a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6253a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6254a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
62554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned int __a, vector unsigned char __b)
62564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62573ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
62584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
62594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
62624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned int __a, vector unsigned short __b)
62634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
62654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
62664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
62694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned int __a, vector unsigned int __b)
62704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
62724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
62734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6275a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
62764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool int __a, vector unsigned char __b)
6277a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6279a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6280a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6281a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
62824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool int __a, vector unsigned short __b)
6283a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6285a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6286a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6287a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
62884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool int __a, vector unsigned int __b)
6289a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
62904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6292a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
62934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsr */
62944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
62964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector signed char __a, vector unsigned char __b)
62974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
62994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
63034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector signed char __a, vector unsigned short __b)
63044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
63064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
63104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector signed char __a, vector unsigned int __b)
63114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
63134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
63174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned char __a, vector unsigned char __b)
63184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
63204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
63244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned char __a, vector unsigned short __b)
63254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
63274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
63314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned char __a, vector unsigned int __b)
63324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
63344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6337a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
63384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool char __a, vector unsigned char __b)
6339a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
63404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6341a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6342a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6343a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
63444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool char __a, vector unsigned short __b)
6345a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
63464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6348a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
63504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool char __a, vector unsigned int __b)
6351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
63524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6353a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6354a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
63554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
63564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector short __a, vector unsigned char __b)
63574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
63594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
63624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector short __a, vector unsigned short __b)
63634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
63654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
63684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector short __a, vector unsigned int __b)
63694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
63714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
63744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned short __a, vector unsigned char __b)
63754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
63774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
63814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned short __a, vector unsigned short __b)
63824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
63844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
63884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned short __a, vector unsigned int __b)
63894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
63914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
63924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6394a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
63954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool short __a, vector unsigned char __b)
6396a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
63974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6400a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
64014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool short __a, vector unsigned short __b)
6402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6406a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
64074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool short __a, vector unsigned int __b)
6408a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6410a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6411a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6412a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
64134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector pixel __a, vector unsigned char __b)
6414a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6416a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6418a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
64194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector pixel __a, vector unsigned short __b)
6420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
64254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector pixel __a, vector unsigned int __b)
6426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6428a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
64304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
64314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector int __a, vector unsigned char __b)
64324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
64344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
64374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector int __a, vector unsigned short __b)
64384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
64404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
64434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector int __a, vector unsigned int __b)
64444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
64464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
64494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned int __a, vector unsigned char __b)
64504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64513ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
64524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
64534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
64564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned int __a, vector unsigned short __b)
64574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
64594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
64604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
64634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned int __a, vector unsigned int __b)
64644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
64664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
64674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6469a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
64704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool int __a, vector unsigned char __b)
6471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6473a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6474a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6475a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
64764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool int __a, vector unsigned short __b)
6477a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
64824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool int __a, vector unsigned int __b)
6483a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
64844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6485a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6486a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
64874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sro */
64884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
64904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector signed char __a, vector signed char __b)
64914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
64934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
64944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
64974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector signed char __a, vector unsigned char __b)
64984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
65004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
65014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
65044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned char __a, vector signed char __b)
65054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
65074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
65084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
65114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned char __a, vector unsigned char __b)
65124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
65144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
65154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
65184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector short __a, vector signed char __b)
65194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
65214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
65244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector short __a, vector unsigned char __b)
65254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
65274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
65304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned short __a, vector signed char __b)
65314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
65334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
65344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
65374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned short __a, vector unsigned char __b)
65384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65393ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
65404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
65414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
65444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector pixel __a, vector signed char __b)
6545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
65464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6548a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
65504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector pixel __a, vector unsigned char __b)
6551a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
65524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6554a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
65554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
65564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector int __a, vector signed char __b)
65574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
65594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
65624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector int __a, vector unsigned char __b)
65634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
65654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
65684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned int __a, vector signed char __b)
65694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
65714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
65724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
65754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned int __a, vector unsigned char __b)
65764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
65784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
65794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
65824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector float __a, vector signed char __b)
65834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
65854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
65884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector float __a, vector unsigned char __b)
65894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
65914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsro */
65944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
65964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector signed char __a, vector signed char __b)
65974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
65994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
66034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector signed char __a, vector unsigned char __b)
66044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
66064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
66104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned char __a, vector signed char __b)
66114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
66134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
66174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned char __a, vector unsigned char __b)
66184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
66204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
66244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector short __a, vector signed char __b)
66254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
66274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
66304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector short __a, vector unsigned char __b)
66314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
66334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
66364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned short __a, vector signed char __b)
66374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
66394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
66434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned short __a, vector unsigned char __b)
66444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
66464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6649a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
66504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector pixel __a, vector signed char __b)
6651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6653a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6654a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6655a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
66564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector pixel __a, vector unsigned char __b)
6657a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6659a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6660a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
66614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
66624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector int __a, vector signed char __b)
66634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
66654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
66684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector int __a, vector unsigned char __b)
66694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
66714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
66744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned int __a, vector signed char __b)
66754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
66774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
66814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned int __a, vector unsigned char __b)
66824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
66844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
66854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
66884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector float __a, vector signed char __b)
66894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
66914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
66944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector float __a, vector unsigned char __b)
66954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
66974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_st */
67004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector signed char __a, int __b, vector signed char *__c)
67034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector signed char __a, int __b, signed char *__c)
67094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned char __a, int __b, vector unsigned char *__c)
67154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned char __a, int __b, unsigned char *__c)
67214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool char __a, int __b, signed char *__c)
67274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool char __a, int __b, unsigned char *__c)
67334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool char __a, int __b, vector bool char *__c)
67394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector short __a, int __b, vector short *__c)
67454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector short __a, int __b, short *__c)
67514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned short __a, int __b, vector unsigned short *__c)
67574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned short __a, int __b, unsigned short *__c)
67634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool short __a, int __b, short *__c)
67694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool short __a, int __b, unsigned short *__c)
67754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool short __a, int __b, vector bool short *__c)
67814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector pixel __a, int __b, short *__c)
67874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector pixel __a, int __b, unsigned short *__c)
67934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
67954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
67984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector pixel __a, int __b, vector pixel *__c)
67994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector int __a, int __b, vector int *__c)
68054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
68074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector int __a, int __b, int *__c)
68114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
68134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned int __a, int __b, vector unsigned int *__c)
68174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned int __a, int __b, unsigned int *__c)
68234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool int __a, int __b, int *__c)
68294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool int __a, int __b, unsigned int *__c)
68354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool int __a, int __b, vector bool int *__c)
68414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector float __a, int __b, vector float *__c)
68474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector float __a, int __b, float *__c)
68534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6857a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvx */
6858a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
68594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector signed char __a, int __b, vector signed char *__c)
68614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector signed char __a, int __b, signed char *__c)
68674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned char __a, int __b, vector unsigned char *__c)
68734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned char __a, int __b, unsigned char *__c)
68794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool char __a, int __b, signed char *__c)
68854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool char __a, int __b, unsigned char *__c)
68914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
68964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool char __a, int __b, vector bool char *__c)
68974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
68994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector short __a, int __b, vector short *__c)
69034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector short __a, int __b, short *__c)
69094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned short __a, int __b, vector unsigned short *__c)
69154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned short __a, int __b, unsigned short *__c)
69214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool short __a, int __b, short *__c)
69274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool short __a, int __b, unsigned short *__c)
69334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool short __a, int __b, vector bool short *__c)
69394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector pixel __a, int __b, short *__c)
69454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector pixel __a, int __b, unsigned short *__c)
69514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector pixel __a, int __b, vector pixel *__c)
69574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector int __a, int __b, vector int *__c)
69634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
69654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector int __a, int __b, int *__c)
69694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
69714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned int __a, int __b, vector unsigned int *__c)
69754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned int __a, int __b, unsigned int *__c)
69814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool int __a, int __b, int *__c)
69874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool int __a, int __b, unsigned int *__c)
69934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
69954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
69984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool int __a, int __b, vector bool int *__c)
69994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
70014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
70044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector float __a, int __b, vector float *__c)
70054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
70074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
70104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector float __a, int __b, float *__c)
70114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
70134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
7015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_ste */
7016a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
70174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
70184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector signed char __a, int __b, signed char *__c)
7019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7022a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector unsigned char __a, int __b, unsigned char *__c)
7025a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7027a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7028a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7029a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool char __a, int __b, signed char *__c)
7031a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7033a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7035a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool char __a, int __b, unsigned char *__c)
7037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector short __a, int __b, short *__c)
7043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx(__a, __b, __c);
7045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7047a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector unsigned short __a, int __b, unsigned short *__c)
7049a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7051a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7052a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool short __a, int __b, short *__c)
7055a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7057a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7058a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7059a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool short __a, int __b, unsigned short *__c)
7061a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7063a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7064a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7065a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector pixel __a, int __b, short *__c)
7067a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7069a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7070a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector pixel __a, int __b, unsigned short *__c)
7073a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7075a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7077a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector int __a, int __b, int *__c)
7079a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx(__a, __b, __c);
7081a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7082a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7083a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector unsigned int __a, int __b, unsigned int *__c)
7085a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7087a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7088a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7089a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool int __a, int __b, int *__c)
7091a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7093a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7094a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7095a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
70964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool int __a, int __b, unsigned int *__c)
7097a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7099a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7100a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7101a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector float __a, int __b, float *__c)
7103a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7105a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvebx */
7108a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector signed char __a, int __b, signed char *__c)
7111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7114a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7115a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector unsigned char __a, int __b, unsigned char *__c)
7117a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7119a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7120a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7121a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector bool char __a, int __b, signed char *__c)
7123a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7125a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7126a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7127a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector bool char __a, int __b, unsigned char *__c)
7129a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7131a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7132a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvehx */
7134a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7135a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector short __a, int __b, short *__c)
7137a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx(__a, __b, __c);
7139a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7140a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7141a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector unsigned short __a, int __b, unsigned short *__c)
7143a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7146a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7147a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector bool short __a, int __b, short *__c)
7149a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7152a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector bool short __a, int __b, unsigned short *__c)
7155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector pixel __a, int __b, short *__c)
7161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7163a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7164a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7165a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector pixel __a, int __b, unsigned short *__c)
7167a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7169a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7170a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7171a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvewx */
7172a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7173a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector int __a, int __b, int *__c)
7175a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx(__a, __b, __c);
7177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7178a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector unsigned int __a, int __b, unsigned int *__c)
7181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7183a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7184a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7185a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector bool int __a, int __b, int *__c)
7187a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7190a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector bool int __a, int __b, unsigned int *__c)
7193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
71944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7196a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7197a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
71984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector float __a, int __b, float *__c)
7199a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7201a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7202a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7203a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stl */
7204a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7205a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector signed char __a, int __b, vector signed char *__c)
7207a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7209a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7210a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7211a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector signed char __a, int __b, signed char *__c)
7213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7215a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7216a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned char __a, int __b, vector unsigned char *__c)
7219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7221a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7223a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned char __a, int __b, unsigned char *__c)
7225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7227a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool char __a, int __b, signed char *__c)
7231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7235a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool char __a, int __b, unsigned char *__c)
7237a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7240a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7241a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool char __a, int __b, vector bool char *__c)
7243a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7246a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7247a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector short __a, int __b, vector short *__c)
7249a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7251a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7252a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7253a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector short __a, int __b, short *__c)
7255a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7257a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7258a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7259a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned short __a, int __b, vector unsigned short *__c)
7261a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7263a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7264a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7265a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned short __a, int __b, unsigned short *__c)
7267a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7269a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7270a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7271a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool short __a, int __b, short *__c)
7273a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7275a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7276a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7277a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool short __a, int __b, unsigned short *__c)
7279a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7281a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7282a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7283a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool short __a, int __b, vector bool short *__c)
7285a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7287a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7288a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7289a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector pixel __a, int __b, short *__c)
7291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7293a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7294a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7295a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
72964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector pixel __a, int __b, unsigned short *__c)
7297a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
72984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7299a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7300a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7301a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector pixel __a, int __b, vector pixel *__c)
7303a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7305a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7306a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7307a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector int __a, int __b, vector int *__c)
7309a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7311a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7312a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7313a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector int __a, int __b, int *__c)
7315a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7317a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7318a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7319a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned int __a, int __b, vector unsigned int *__c)
73214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
73234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned int __a, int __b, unsigned int *__c)
73274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
73294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool int __a, int __b, int *__c)
7333a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7335a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7336a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7337a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool int __a, int __b, unsigned int *__c)
7339a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7341a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7342a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7343a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool int __a, int __b, vector bool int *__c)
7345a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7348a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector float __a, int __b, vector float *__c)
73514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
73534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector float __a, int __b, float *__c)
73574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
73594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_stvxl */
73624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector signed char __a, int __b, vector signed char *__c)
73654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
73674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector signed char __a, int __b, signed char *__c)
73714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
73734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned char __a, int __b, vector unsigned char *__c)
73774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
73794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned char __a, int __b, unsigned char *__c)
7383dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
73844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7385dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7386dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
73874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool char __a, int __b, signed char *__c)
7389a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7391a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7392a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7393a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
73944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool char __a, int __b, unsigned char *__c)
7395a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
73964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7397a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool char __a, int __b, vector bool char *__c)
7401a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector short __a, int __b, vector short *__c)
7407dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7409dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7410dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector short __a, int __b, short *__c)
7413dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7415dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7416dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned short __a, int __b, vector unsigned short *__c)
7419dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7421dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7422dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned short __a, int __b, unsigned short *__c)
7425dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7427dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7428dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool short __a, int __b, short *__c)
7431a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7433a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7434a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool short __a, int __b, unsigned short *__c)
7437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool short __a, int __b, vector bool short *__c)
7443a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7445a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7446a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector pixel __a, int __b, short *__c)
7449a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7451a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7452a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7453a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector pixel __a, int __b, unsigned short *__c)
7455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector pixel __a, int __b, vector pixel *__c)
7461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7464a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7465a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector int __a, int __b, vector int *__c)
7467dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7469dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7470dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector int __a, int __b, int *__c)
7473dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7475dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7476dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned int __a, int __b, vector unsigned int *__c)
7479dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7481dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7482dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned int __a, int __b, unsigned int *__c)
7485dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
74864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7487dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7488dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
74894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool int __a, int __b, int *__c)
7491a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7493a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7494a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7495a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool int __a, int __b, unsigned int *__c)
7497a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool int __a, int __b, vector bool int *__c)
7503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector float __a, int __b, vector float *__c)
7509dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
75104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7511dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7512dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
75134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
75144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector float __a, int __b, float *__c)
7515dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
75164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7517dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7518dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7519dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_sub */
7520dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
75214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
75224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector signed char __a, vector signed char __b)
7523dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
75244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7525dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7526dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
75284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool char __a, vector signed char __b)
7529a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a - __b;
7531a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7532a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7533a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
75344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector signed char __a, vector bool char __b)
7535a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector signed char)__b;
7537a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7538a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
75394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
75404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned char __a, vector unsigned char __b)
7541dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
75424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7543dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7544dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
75464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool char __a, vector unsigned char __b)
7547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a - __b;
7549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7550a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7551a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
75524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned char __a, vector bool char __b)
7553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned char)__b;
7555a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7556a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
75574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
75584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector short __a, vector short __b)
7559dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
75604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7561dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7562dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7563a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
75644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool short __a, vector short __b)
7565a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a - __b;
7567a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7568a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7569a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
75704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector short __a, vector bool short __b)
7571a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector short)__b;
7573a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7574a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
75754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
75764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned short __a, vector unsigned short __b)
7577dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
75784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7579dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7580dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7581a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
75824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool short __a, vector unsigned short __b)
7583a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a - __b;
7585a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7586a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7587a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
75884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned short __a, vector bool short __b)
7589a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned short)__b;
7591a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7592a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
75934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
75944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector int __a, vector int __b)
7595dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
75964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7597dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7598dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7599a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
76004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool int __a, vector int __b)
7601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a - __b;
7603a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7605a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
76064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector int __a, vector bool int __b)
7607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector int)__b;
7609a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
76114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
76124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned int __a, vector unsigned int __b)
7613dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
76144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7615dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7616dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7617a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
76184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool int __a, vector unsigned int __b)
7619a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a - __b;
7621a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7622a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7623a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
76244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned int __a, vector bool int __b)
7625a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned int)__b;
7627a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7628a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
76294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
76304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector float __a, vector float __b)
7631dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
76324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7633dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7634dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
76354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsububm */
7636dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
76374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsububm vec_vsububm
7638dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
76394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
76404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector signed char __a, vector signed char __b)
7641dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
76424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7643dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7644dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7645a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
76464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector bool char __a, vector signed char __b)
7647a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a - __b;
7649a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
76524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector signed char __a, vector bool char __b)
7653a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector signed char)__b;
7655a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7656a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
76574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
76584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector unsigned char __a, vector unsigned char __b)
7659dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
76604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7661dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7662dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7663a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
76644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector bool char __a, vector unsigned char __b)
7665a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a - __b;
7667a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7668a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7669a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
76704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector unsigned char __a, vector bool char __b)
7671a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned char)__b;
7673a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
76754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuhm */
7676dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
76774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubuhm vec_vsubuhm
76784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
76794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
76804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector short __a, vector short __b)
7681dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
76824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7683dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7684dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7685a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
76864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector bool short __a, vector short __b)
7687a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a - __b;
7689a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7690a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7691a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
76924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector short __a, vector bool short __b)
7693a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector short)__b;
7695a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7696a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
76974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
76984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector unsigned short __a, vector unsigned short __b)
7699dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7701dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7702dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
77044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector bool short __a, vector unsigned short __b)
7705a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a - __b;
7707a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7708a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7709a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
77104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector unsigned short __a, vector bool short __b)
7711a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned short)__b;
7713a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7714a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
77154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuwm */
7716dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubuwm vec_vsubuwm
7718dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
77204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector int __a, vector int __b)
7721dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7723dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7724dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7725a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
77264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector bool int __a, vector int __b)
7727a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a - __b;
7729a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7730a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7731a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
77324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector int __a, vector bool int __b)
7733a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector int)__b;
7735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7736a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
77374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
77384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector unsigned int __a, vector unsigned int __b)
7739dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7741dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7742dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7743a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
77444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector bool int __a, vector unsigned int __b)
7745a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a - __b;
7747a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7748a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7749a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
77504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector unsigned int __a, vector bool int __b)
7751a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned int)__b;
7753a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7754a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
77554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubfp */
7756dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubfp vec_vsubfp
77584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
77604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubfp(vector float __a, vector float __b)
7761dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7763dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7764dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_subc */
77664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
77684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subc(vector unsigned int __a, vector unsigned int __b)
7769dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubcuw(__a, __b);
7771dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7772dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubcuw */
7774dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
77764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubcuw(vector unsigned int __a, vector unsigned int __b)
7777dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubcuw(__a, __b);
7779dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7780dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_subs */
77824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
77844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector signed char __a, vector signed char __b)
7785dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, __b);
7787dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7788dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7789a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
77904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool char __a, vector signed char __b)
7791a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
7793a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7794a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7795a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
77964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector signed char __a, vector bool char __b)
7797a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
7799a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
78014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
78024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned char __a, vector unsigned char __b)
7803dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, __b);
7805dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7806dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7807a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
78084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool char __a, vector unsigned char __b)
7809a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
7811a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7812a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7813a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
78144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned char __a, vector bool char __b)
7815a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
7817a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7818a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
78194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
78204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector short __a, vector short __b)
7821dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, __b);
7823dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7824dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7825a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
78264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool short __a, vector short __b)
7827a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs((vector short)__a, __b);
7829a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
78324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector short __a, vector bool short __b)
7833a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, (vector short)__b);
7835a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7836a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
78374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
78384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned short __a, vector unsigned short __b)
7839dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, __b);
7841dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7842dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7843a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
78444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool short __a, vector unsigned short __b)
7845a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
7847a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7848a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7849a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
78504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned short __a, vector bool short __b)
7851a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
7853a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7854a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
78554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
78564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector int __a, vector int __b)
7857dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, __b);
7859dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7860dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7861a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
78624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool int __a, vector int __b)
7863a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws((vector int)__a, __b);
7865a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7866a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7867a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
78684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector int __a, vector bool int __b)
7869a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, (vector int)__b);
7871a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
78734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
78744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned int __a, vector unsigned int __b)
7875dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, __b);
7877dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7878dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7879a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
78804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool int __a, vector unsigned int __b)
7881a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
7883a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7884a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7885a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
78864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned int __a, vector bool int __b)
7887a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
7889a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
78914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubsbs */
7892dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7893a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
78944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsbs(vector signed char __a, vector signed char __b)
7895dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, __b);
7897dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7898dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7899a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
79004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsbs(vector bool char __a, vector signed char __b)
7901a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
7903a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7904a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
79064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsbs(vector signed char __a, vector bool char __b)
7907a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
7909a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsububs */
7912dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7913a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
79144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububs(vector unsigned char __a, vector unsigned char __b)
7915dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, __b);
7917dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7918dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7919a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
79204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububs(vector bool char __a, vector unsigned char __b)
7921a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
7923a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7924a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7925a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
79264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububs(vector unsigned char __a, vector bool char __b)
7927a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
7929a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7930a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubshs */
7932dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7933a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
79344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubshs(vector short __a, vector short __b)
7935dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, __b);
7937dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7938dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7939a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
79404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubshs(vector bool short __a, vector short __b)
7941a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs((vector short)__a, __b);
7943a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7944a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7945a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
79464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubshs(vector short __a, vector bool short __b)
7947a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, (vector short)__b);
7949a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7950a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuhs */
7952dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7953a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
79544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhs(vector unsigned short __a, vector unsigned short __b)
7955dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, __b);
7957dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7958dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7959a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
79604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhs(vector bool short __a, vector unsigned short __b)
7961a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
7963a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7964a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7965a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
79664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhs(vector unsigned short __a, vector bool short __b)
7967a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
7969a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7970a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubsws */
7972dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7973a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
79744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsws(vector int __a, vector int __b)
7975dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, __b);
7977dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7978dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7979a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
79804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsws(vector bool int __a, vector int __b)
7981a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws((vector int)__a, __b);
7983a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7984a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7985a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
79864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsws(vector int __a, vector bool int __b)
7987a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, (vector int)__b);
7989a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7990a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuws */
7992dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7993a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
79944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuws(vector unsigned int __a, vector unsigned int __b)
7995dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, __b);
7997dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7998dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7999a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
80004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuws(vector bool int __a, vector unsigned int __b)
8001a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
8003a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8004a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8005a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
80064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuws(vector unsigned int __a, vector bool int __b)
8007a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
8009a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8010a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
80114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sum4s */
8012dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
80144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum4s(vector signed char __a, vector int __b)
8015dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4sbs(__a, __b);
8017dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8018dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
80204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum4s(vector unsigned char __a, vector unsigned int __b)
8021dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4ubs(__a, __b);
8023dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8024dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
80264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum4s(vector signed short __a, vector int __b)
8027dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4shs(__a, __b);
8029dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8030dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4sbs */
8032dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
80344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum4sbs(vector signed char __a, vector int __b)
8035dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4sbs(__a, __b);
8037dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8038dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4ubs */
8040dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
80424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum4ubs(vector unsigned char __a, vector unsigned int __b)
8043dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4ubs(__a, __b);
8045dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8046dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4shs */
8048dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
80504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum4shs(vector signed short __a, vector int __b)
8051dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4shs(__a, __b);
8053dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8054dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sum2s */
8056dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
80584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum2s(vector int __a, vector int __b)
8059dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum2sws(__a, __b);
8061dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8062dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum2sws */
8064dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
80664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum2sws(vector int __a, vector int __b)
8067dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum2sws(__a, __b);
8069dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8070dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sums */
8072dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
80744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sums(vector signed int __a, vector signed int __b)
8075dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsumsws(__a, __b);
8077dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8078dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsumsws */
8080dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
80824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsumsws(vector signed int __a, vector signed int __b)
8083dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsumsws(__a, __b);
8085dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8086dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_trunc */
8088dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
80904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_trunc(vector float __a)
8091dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfiz(__a);
8093dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8094dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfiz */
8096dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
80984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfiz(vector float __a)
8099dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfiz(__a);
8101dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8102dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_unpackh */
8104dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
81064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector signed char __a)
8107dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsb((vector char)__a);
8109dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8110dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
81124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector bool char __a)
8113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8115a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8116a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
81184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector short __a)
8119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsh(__a);
8121dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8122dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8123a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
81244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector bool short __a)
8125a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8127a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8128a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8129a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
81304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector pixel __a)
8131a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vupkhsh((vector short)__a);
8133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8134a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupkhsb */
8136dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8137a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
81384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsb(vector signed char __a)
8139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsb((vector char)__a);
8141dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8142dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8143a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
81444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsb(vector bool char __a)
8145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8147a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8148a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupkhsh */
81504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
8151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
81524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsh(vector short __a)
8153dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsh(__a);
8155dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8156dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
81584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsh(vector bool short __a)
8159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8162a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8163a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
81644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsh(vector pixel __a)
8165a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vupkhsh((vector short)__a);
8167a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8168a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_unpackl */
81704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
81714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
81724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector signed char __a)
8173dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsb((vector char)__a);
8175dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8176dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
81784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector bool char __a)
8179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
81844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector short __a)
8185dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsh(__a);
8187dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8188dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
81904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector bool short __a)
8191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8194a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
81964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector pixel __a)
8197a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vupklsh((vector short)__a);
8199a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8200a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupklsb */
8202dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8203a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
82044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsb(vector signed char __a)
8205dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsb((vector char)__a);
8207dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8208dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8209a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
82104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsb(vector bool char __a)
8211a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8214a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupklsh */
8216dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
82184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsh(vector short __a)
8219dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsh(__a);
8221dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8222dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8223a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
82244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsh(vector bool short __a)
8225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8227a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
82304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsh(vector pixel __a)
8231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vupklsh((vector short)__a);
8233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_xor */
82364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
82374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vxor vec_xor
82384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
82394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
82404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector signed char __a, vector signed char __b)
8241dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8243dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8244dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
82464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool char __a, vector signed char __b)
8247a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a ^ __b;
8249a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8250a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8251a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
82524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector signed char __a, vector bool char __b)
8253a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector signed char)__b;
8255a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8256a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
82584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned char __a, vector unsigned char __b)
8259dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8261dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8262dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8263a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
82644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool char __a, vector unsigned char __b)
8265a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a ^ __b;
8267a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8268a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8269a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
82704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned char __a, vector bool char __b)
8271a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned char)__b;
8273a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8274a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8275a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
82764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool char __a, vector bool char __b)
8277a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8279a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8280a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
82824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector short __a, vector short __b)
8283dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8285dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8286dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8287a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
82884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool short __a, vector short __b)
8289a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a ^ __b;
8291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8292a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8293a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
82944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector short __a, vector bool short __b)
8295a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector short)__b;
8297a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8298a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
83004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned short __a, vector unsigned short __b)
8301dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8303dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8304dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8305a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
83064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool short __a, vector unsigned short __b)
8307a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a ^ __b;
8309a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8310a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8311a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
83124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned short __a, vector bool short __b)
8313a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned short)__b;
8315a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8316a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8317a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
83184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool short __a, vector bool short __b)
8319a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8321a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8322a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
83244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector int __a, vector int __b)
8325dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8327dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8328dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8329a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
83304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector int __b)
8331a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a ^ __b;
8333a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8334a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8335a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
83364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector int __a, vector bool int __b)
8337a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector int)__b;
8339a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8340a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
83424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned int __a, vector unsigned int __b)
8343dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8345dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8346dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
83484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector unsigned int __b)
8349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a ^ __b;
8351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8352a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8353a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
83544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned int __a, vector bool int __b)
8355a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned int)__b;
8357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8358a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8359a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
83604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector bool int __b)
8361a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8363a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8364a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
83664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector float __a, vector float __b)
8367dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
83694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8370dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8371dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8372a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
83734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector float __b)
8374a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
83764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8377a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8378a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8379a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
83804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector float __a, vector bool int __b)
8381a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
83834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8384a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8385a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vxor */
83874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
83884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
83894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector signed char __a, vector signed char __b)
8390dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8392dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8393dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8394a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
83954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool char __a, vector signed char __b)
8396a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a ^ __b;
8398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8400a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
84014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector signed char __a, vector bool char __b)
8402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector signed char)__b;
8404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
84064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
84074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned char __a, vector unsigned char __b)
8408dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8410dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8411dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8412a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
84134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool char __a, vector unsigned char __b)
8414a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a ^ __b;
8416a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8418a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
84194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned char __a, vector bool char __b)
8420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned char)__b;
8422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
84254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool char __a, vector bool char __b)
8426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8428a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
84304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
84314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector short __a, vector short __b)
8432dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8434dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8435dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
84374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool short __a, vector short __b)
8438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a ^ __b;
8440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8442a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
84434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector short __a, vector bool short __b)
8444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector short)__b;
8446a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
84484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
84494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned short __a, vector unsigned short __b)
8450dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8452dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8453dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8454a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
84554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool short __a, vector unsigned short __b)
8456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a ^ __b;
8458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
84614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned short __a, vector bool short __b)
8462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned short)__b;
8464a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8465a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8466a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
84674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool short __a, vector bool short __b)
8468a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8470a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
84724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
84734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector int __a, vector int __b)
8474dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8476dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8477dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
84794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector int __b)
8480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a ^ __b;
8482a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8483a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8484a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
84854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector int __a, vector bool int __b)
8486a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector int)__b;
8488a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8489a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
84904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
84914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned int __a, vector unsigned int __b)
8492dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8494dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8495dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
84974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector unsigned int __b)
8498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a ^ __b;
8500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
85034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned int __a, vector bool int __b)
8504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
85054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned int)__b;
8506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8508a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
85094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector bool int __b)
8510a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
85114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8512a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8513a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
85144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
85154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector float __a, vector float __b)
8516dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
85174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
85184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8519dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8520dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8521a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
85224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector float __b)
8523a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
85244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
85254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8526a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8528a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
85294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector float __a, vector bool int __b)
8530a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
85314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
85324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8533a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8534a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
85353ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev/* ------------------------ extensions for CBEA ----------------------------- */
853644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
853744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_extract */
853844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
853944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic signed char __ATTRS_o_ai
85404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector signed char __a, int __b)
854144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
854344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
854444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
854544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned char __ATTRS_o_ai
85464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector unsigned char __a, int __b)
854744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
854944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
855044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
855144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic short __ATTRS_o_ai
85524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector short __a, int __b)
855344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
855544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
855644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
855744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned short __ATTRS_o_ai
85584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector unsigned short __a, int __b)
855944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
856144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
856244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
856344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic int __ATTRS_o_ai
85644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector int __a, int __b)
856544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
856744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
856844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
856944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned int __ATTRS_o_ai
85704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector unsigned int __a, int __b)
857144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
857344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
857444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
857544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic float __ATTRS_o_ai
85764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector float __a, int __b)
857744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
857944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
858044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
858144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_insert */
858244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
858344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
85844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(signed char __a, vector signed char __b, int __c)
858544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
85874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
858844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
858944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
859044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
85914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(unsigned char __a, vector unsigned char __b, int __c)
859244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
85934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
85944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
859544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
859644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
859744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
85984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(short __a, vector short __b, int __c)
859944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
86014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
860244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
860344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
860444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
86054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(unsigned short __a, vector unsigned short __b, int __c)
860644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
86084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
860944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
861044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
861144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
86124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(int __a, vector int __b, int __c)
861344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
86154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
861644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
861744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
861844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
86194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(unsigned int __a, vector unsigned int __b, int __c)
862044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
86224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
862344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
862444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
862544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
86264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(float __a, vector float __b, int __c)
862744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
86294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
863044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
863144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
863244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvlx */
863344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
863444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
86354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const signed char *__b)
863644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
863844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
86394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
864044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
864144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
864244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
86434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector signed char *__b)
864444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
864644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
86474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
864844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
864944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
865044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
86514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const unsigned char *__b)
865244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
865444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
86554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
865644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
865744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
865844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
86594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector unsigned char *__b)
866044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
866244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
86634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
866444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
866544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
866644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
86674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector bool char *__b)
866844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
867044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool char)(0),
86714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
867244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
867344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
867444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
86754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const short *__b)
867644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
867844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
86794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
868044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
868144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
868244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
86834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector short *__b)
868444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
868644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
86874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
868844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
868944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
869044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
86914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const unsigned short *__b)
869244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
86934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
869444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
86954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
869644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
869744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
869844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
86994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector unsigned short *__b)
870044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
870244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
87034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
870444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
870544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
870644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
87074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector bool short *__b)
870844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
871044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool short)(0),
87114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
871244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
871344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
871444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
87154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector pixel *__b)
871644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
871844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector pixel)(0),
87194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
872044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
872144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
872244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
87234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const int *__b)
872444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
872644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
87274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
872844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
872944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
873044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
87314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector int *__b)
873244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
873444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
87354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
873644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
873744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
873844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
87394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const unsigned int *__b)
874044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
874244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
87434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
874444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
874544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
874644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
87474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector unsigned int *__b)
874844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
875044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
87514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
875244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
875344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
875444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
87554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector bool int *__b)
875644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
875844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool int)(0),
87594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
876044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
876144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
876244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
87634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const float *__b)
876444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
876644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
87674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
876844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
876944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
877044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
87714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector float *__b)
877244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
877444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
87754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
877644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
877744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
877844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvlxl */
877944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
878044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
87814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const signed char *__b)
878244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
878444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
87854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
878644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
878744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
878844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
87894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector signed char *__b)
879044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
879244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
87934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
879444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
879544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
879644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
87974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const unsigned char *__b)
879844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
87994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
880044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
88014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
880244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
880344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
880444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
88054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector unsigned char *__b)
880644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
880844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
88094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
881044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
881144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
881244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
88134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector bool char *__b)
881444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
881644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool char)(0),
88174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
881844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
881944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
882044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
88214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const short *__b)
882244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
882444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
88254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
882644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
882744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
882844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
88294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector short *__b)
883044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
883244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
88334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
883444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
883544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
883644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
88374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const unsigned short *__b)
883844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
884044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
88414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
884244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
884344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
884444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
88454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector unsigned short *__b)
884644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
884844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
88494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
885044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
885144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
885244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
88534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector bool short *__b)
885444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
885644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool short)(0),
88574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
885844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
885944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
886044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
88614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector pixel *__b)
886244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
886444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector pixel)(0),
88654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
886644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
886744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
886844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
88694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const int *__b)
887044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
887244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
88734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
887444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
887544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
887644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
88774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector int *__b)
887844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
888044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
88814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
888244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
888344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
888444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
88854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const unsigned int *__b)
888644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
888844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
88894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
889044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
889144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
889244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
88934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector unsigned int *__b)
889444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
88954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
889644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
88974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
889844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
889944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
890044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
89014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector bool int *__b)
890244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
89034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
890444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool int)(0),
89054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
890644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
890744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
890844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
89094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const float *__b)
891044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
89114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
891244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
89134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
891444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
891544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
891644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
89174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, vector float *__b)
891844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
89194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
892044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
89214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
892244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
892344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
892444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvrx */
892544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
892644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
89274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const signed char *__b)
892844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
892944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
89304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
893244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
893344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
893444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
89354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector signed char *__b)
893644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
893744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
89384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
894044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
894144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
894244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
89434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const unsigned char *__b)
894444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
894544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
89464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
894844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
894944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
895044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
89514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector unsigned char *__b)
895244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
895344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
89544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
895644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
895744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
895844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
89594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector bool char *__b)
896044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
896144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool char)(0),
89624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
896444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
896544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
896644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
89674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const short *__b)
896844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
896944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
89704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
897244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
897344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
897444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
89754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector short *__b)
897644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
897744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
89784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
898044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
898144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
898244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
89834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const unsigned short *__b)
898444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
898544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
89864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
898844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
898944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
899044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
89914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector unsigned short *__b)
899244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
899344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
89944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
89954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
899644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
899744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
899844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
89994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector bool short *__b)
900044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
900144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool short)(0),
90024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
900444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
900544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
900644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
90074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector pixel *__b)
900844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
900944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector pixel)(0),
90104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
901244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
901344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
901444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
90154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const int *__b)
901644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
901744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
90184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
902044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
902144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
902244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
90234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector int *__b)
902444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
902544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
90264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
902844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
902944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
903044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
90314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const unsigned int *__b)
903244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
903344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
90344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
903644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
903744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
903844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
90394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector unsigned int *__b)
904044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
904144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
90424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
904444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
904544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
904644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
90474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector bool int *__b)
904844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
904944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool int)(0),
90504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
905244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
905344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
905444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
90554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const float *__b)
905644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
905744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
90584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
906044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
906144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
906244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
90634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector float *__b)
906444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
906544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
90664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
90674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
906844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
906944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
907044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvrxl */
907144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
907244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
90734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const signed char *__b)
907444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
907544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
90764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
90774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
907844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
907944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
908044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
90814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector signed char *__b)
908244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
908344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
90844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
90854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
908644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
908744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
908844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
90894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const unsigned char *__b)
909044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
909144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
90924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
90934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
909444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
909544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
909644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
90974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector unsigned char *__b)
909844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
909944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
91004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
910244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
910344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
910444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
91054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector bool char *__b)
910644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
910744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool char)(0),
91084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
911044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
911144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
911244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
91134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const short *__b)
911444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
911544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
91164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
911844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
911944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
912044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
91214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector short *__b)
912244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
912344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
91244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
912644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
912744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
912844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
91294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const unsigned short *__b)
913044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
913144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
91324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
913444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
913544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
913644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
91374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector unsigned short *__b)
913844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
913944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
91404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
914244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
914344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
914444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
91454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector bool short *__b)
914644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
914744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool short)(0),
91484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
915044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
915144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
915244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
91534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector pixel *__b)
915444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
915544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector pixel)(0),
91564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
915844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
915944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
916044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
91614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const int *__b)
916244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
916344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
91644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
916644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
916744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
916844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
91694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector int *__b)
917044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
917144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
91724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
917444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
917544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
917644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
91774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const unsigned int *__b)
917844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
917944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
91804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
918244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
918344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
918444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
91854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector unsigned int *__b)
918644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
918744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
91884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
919044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
919144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
919244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
91934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector bool int *__b)
919444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
919544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool int)(0),
91964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
91974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
919844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
919944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
920044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
92014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const float *__b)
920244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
920344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
92044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
92054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
920644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
920744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
920844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
92094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector float *__b)
921044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
921144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
92124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
92134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
921444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
921544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
921644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvlx */
921744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
921844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector signed char __a, int __b, signed char *__c)
922044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
92244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
922544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
922644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
922744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector signed char __a, int __b, vector signed char *__c)
922944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
92334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
923444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
923544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
923644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned char __a, int __b, unsigned char *__c)
923844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
92424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
924344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
924444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
924544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned char __a, int __b, vector unsigned char *__c)
924744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
92514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
925244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
925344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
925444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector bool char __a, int __b, vector bool char *__c)
925644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
92604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
926144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
926244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
926344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector short __a, int __b, short *__c)
926544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
92694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
927044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
927144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
927244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector short __a, int __b, vector short *__c)
927444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
92784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
927944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
928044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
928144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned short __a, int __b, unsigned short *__c)
928344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
92874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
928844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
928944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
929044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
92914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned short __a, int __b, vector unsigned short *__c)
929244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
92944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
92954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
92964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
929744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
929844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
929944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector bool short __a, int __b, vector bool short *__c)
930144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
93054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
930644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
930744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
930844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector pixel __a, int __b, vector pixel *__c)
931044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
93144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
931544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
931644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
931744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector int __a, int __b, int *__c)
931944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
93234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
932444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
932544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
932644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector int __a, int __b, vector int *__c)
932844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
93324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
933344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
933444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
933544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned int __a, int __b, unsigned int *__c)
933744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
93414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
934244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
934344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
934444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned int __a, int __b, vector unsigned int *__c)
934644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
93504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
935144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
935244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
935344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector bool int __a, int __b, vector bool int *__c)
935544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
93594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
936044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
936144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
936244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector float __a, int __b, vector float *__c)
936444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
93664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
93674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
93684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
936944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
937044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
937144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvlxl */
937244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
937344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector signed char __a, int __b, signed char *__c)
937544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
93774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
93784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
93794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
938044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
938144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
938244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector signed char __a, int __b, vector signed char *__c)
938444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
93864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
93874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
93884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
938944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
939044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
939144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
93924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned char __a, int __b, unsigned char *__c)
939344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
93954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
93964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
93974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
939844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
939944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
940044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned char __a, int __b, vector unsigned char *__c)
940244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
94064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
940744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
940844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
940944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector bool char __a, int __b, vector bool char *__c)
941144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
94154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
941644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
941744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
941844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector short __a, int __b, short *__c)
942044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
94244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
942544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
942644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
942744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector short __a, int __b, vector short *__c)
942944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
94334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
943444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
943544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
943644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned short __a, int __b, unsigned short *__c)
943844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
94424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
944344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
944444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
944544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned short __a, int __b, vector unsigned short *__c)
944744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
94514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
945244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
945344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
945444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector bool short __a, int __b, vector bool short *__c)
945644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
94604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
946144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
946244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
946344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector pixel __a, int __b, vector pixel *__c)
946544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
94694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
947044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
947144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
947244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector int __a, int __b, int *__c)
947444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
94784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
947944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
948044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
948144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector int __a, int __b, vector int *__c)
948344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
94874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
948844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
948944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
949044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
94914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned int __a, int __b, unsigned int *__c)
949244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
94944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
94954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
94964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
949744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
949844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
949944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned int __a, int __b, vector unsigned int *__c)
950144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
95034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
95044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
95054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
950644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
950744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
950844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector bool int __a, int __b, vector bool int *__c)
951044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
95124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
95134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
95144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
951544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
951644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
951744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector float __a, int __b, vector float *__c)
951944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
95214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
95224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
95234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
952444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
952544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
952644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvrx */
952744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
952844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector signed char __a, int __b, signed char *__c)
953044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
95344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
953544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
953644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
953744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector signed char __a, int __b, vector signed char *__c)
953944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
95434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
954444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
954544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
954644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned char __a, int __b, unsigned char *__c)
954844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
95524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
955344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
955444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
955544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned char __a, int __b, vector unsigned char *__c)
955744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
95614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
956244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
956344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
956444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector bool char __a, int __b, vector bool char *__c)
956644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
95704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
957144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
957244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
957344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector short __a, int __b, short *__c)
957544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
95794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
958044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
958144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
958244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector short __a, int __b, vector short *__c)
958444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
95884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
958944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
959044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
959144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
95924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned short __a, int __b, unsigned short *__c)
959344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
95944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
95954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
95964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
95974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
959844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
959944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
960044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned short __a, int __b, vector unsigned short *__c)
960244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
96064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
960744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
960844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
960944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector bool short __a, int __b, vector bool short *__c)
961144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
96154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
961644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
961744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
961844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector pixel __a, int __b, vector pixel *__c)
962044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
96244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
962544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
962644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
962744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector int __a, int __b, int *__c)
962944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
96334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
963444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
963544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
963644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector int __a, int __b, vector int *__c)
963844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
96424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
964344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
964444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
964544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned int __a, int __b, unsigned int *__c)
964744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
96514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
965244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
965344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
965444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned int __a, int __b, vector unsigned int *__c)
965644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
96604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
966144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
966244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
966344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector bool int __a, int __b, vector bool int *__c)
966544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
96694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
967044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
967144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
967244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector float __a, int __b, vector float *__c)
967444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
96764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
96774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
96784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
967944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
968044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
968144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvrxl */
968244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
968344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector signed char __a, int __b, signed char *__c)
968544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
96874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
96884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
96894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
969044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
969144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
969244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
96934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector signed char __a, int __b, vector signed char *__c)
969444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
96954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
96964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
96974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
96984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
969944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
970044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
970144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned char __a, int __b, unsigned char *__c)
970344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
97074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
970844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
970944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
971044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned char __a, int __b, vector unsigned char *__c)
971244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
97164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
971744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
971844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
971944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector bool char __a, int __b, vector bool char *__c)
972144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
97254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
972644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
972744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
972844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector short __a, int __b, short *__c)
973044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
97344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
973544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
973644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
973744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector short __a, int __b, vector short *__c)
973944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
97434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
974444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
974544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
974644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned short __a, int __b, unsigned short *__c)
974844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
97524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
975344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
975444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
975544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned short __a, int __b, vector unsigned short *__c)
975744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
97614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
976244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
976344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
976444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector bool short __a, int __b, vector bool short *__c)
976644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
97704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
977144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
977244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
977344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector pixel __a, int __b, vector pixel *__c)
977544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
97794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
978044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
978144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
978244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector int __a, int __b, int *__c)
978444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
97884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
978944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
979044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
979144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector int __a, int __b, vector int *__c)
979344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
97954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
97964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
97974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
979844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
979944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
980044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned int __a, int __b, unsigned int *__c)
980244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
98044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
98054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
98064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
980744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
980844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
980944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned int __a, int __b, vector unsigned int *__c)
981144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
98134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
98144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
98154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
981644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
981744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
981844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector bool int __a, int __b, vector bool int *__c)
982044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
98224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
98234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
98244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
982544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
982644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
982744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector float __a, int __b, vector float *__c)
982944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
98314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
98324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
98334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
983444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
983544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
983644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_promote */
983744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
983844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
98394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(signed char __a, int __b)
984044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector signed char __res = (vector signed char)(0);
98424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
98434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
984444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
984544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
984644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
98474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(unsigned char __a, int __b)
984844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned char __res = (vector unsigned char)(0);
98504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
98514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
985244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
985344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
985444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
98554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(short __a, int __b)
985644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector short __res = (vector short)(0);
98584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
98594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
986044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
986144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
986244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
98634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(unsigned short __a, int __b)
986444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned short __res = (vector unsigned short)(0);
98664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
98674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
986844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
986944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
987044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
98714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(int __a, int __b)
987244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = (vector int)(0);
98744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
98754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
987644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
987744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
987844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
98794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(unsigned int __a, int __b)
988044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)(0);
98824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
98834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
988444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
988544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
988644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
98874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(float __a, int __b)
988844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector float __res = (vector float)(0);
98904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
98914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
989244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
989344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
989444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_splats */
989544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
989644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
98974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(signed char __a)
989844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)(__a);
990044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
990144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
990244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
99034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(unsigned char __a)
990444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)(__a);
990644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
990744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
990844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
99094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(short __a)
991044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)(__a);
991244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
991344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
991444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
99154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(unsigned short __a)
991644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)(__a);
991844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
991944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
992044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
99214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(int __a)
992244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)(__a);
992444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
992544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
992644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
99274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(unsigned int __a)
992844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)(__a);
993044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
993144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
993244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
99334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(float __a)
993444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)(__a);
993644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
993744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
99383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev/* ----------------------------- predicates --------------------------------- */
99394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
9940dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_all_eq */
9941dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector signed char __a, vector signed char __b)
9944dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
9946dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9947dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector signed char __a, vector bool char __b)
9950dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
9952dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9953dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned char __a, vector unsigned char __b)
9956dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
9958dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9959dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned char __a, vector bool char __b)
9962dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
9964dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9965dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool char __a, vector signed char __b)
9968dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
9970dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9971dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool char __a, vector unsigned char __b)
9974dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
9976dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9977dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool char __a, vector bool char __b)
9980dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
9982dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9983dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector short __a, vector short __b)
9986dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, __b);
9988dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9989dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector short __a, vector bool short __b)
9992dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, (vector short)__b);
9994dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9995dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
99964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
99974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned short __a, vector unsigned short __b)
9998dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
99993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
100004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10001dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10002dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned short __a, vector bool short __b)
10005dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
100074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10008dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10009dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool short __a, vector short __b)
10012dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
100144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10015dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10016dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool short __a, vector unsigned short __b)
10019dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
100214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10022dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10023dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool short __a, vector bool short __b)
10026dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
100284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10029dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10030dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector pixel __a, vector pixel __b)
10033dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
100354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10036dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10037dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector int __a, vector int __b)
10040dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, __b);
10042dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10043dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector int __a, vector bool int __b)
10046dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, (vector int)__b);
10048dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10049dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned int __a, vector unsigned int __b)
10052dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10054dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10055dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned int __a, vector bool int __b)
10058dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10060dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10061dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool int __a, vector int __b)
10064dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10066dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10067dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool int __a, vector unsigned int __b)
10070dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10072dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10073dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10074a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
100754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool int __a, vector bool int __b)
10076a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
100774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10078a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10079dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10080a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
100814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector float __a, vector float __b)
10082dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __b);
10084dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10085dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10086a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ge */
10087dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector signed char __a, vector signed char __b)
10090dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __b, __a);
10092dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10093dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
100944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
100954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector signed char __a, vector bool char __b)
10096dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
100974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, (vector signed char)__b, __a);
10098dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10099dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned char __a, vector unsigned char __b)
10102dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, __a);
10104dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10105dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned char __a, vector bool char __b)
10108dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__b, __a);
10110dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10111dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool char __a, vector signed char __b)
10114dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
101164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
101174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
10118dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool char __a, vector unsigned char __b)
10122dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, (vector unsigned char)__a);
10124dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10125dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool char __a, vector bool char __b)
10128dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
101304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
101314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
10132dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10133dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector short __a, vector short __b)
10136dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __b, __a);
10138dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector short __a, vector bool short __b)
10142dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, (vector short)__b, __a);
10144dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10145dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned short __a, vector unsigned short __b)
10148dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, __a);
10150dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10151dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned short __a, vector bool short __b)
10154dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__b, __a);
10156dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10157dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool short __a, vector short __b)
10160dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
101624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
101634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
10164dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10165dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool short __a, vector unsigned short __b)
10168dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, (vector unsigned short)__a);
10170dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10171dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool short __a, vector bool short __b)
10174dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
101764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
101774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
10178dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10179dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10180a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
101814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector int __a, vector int __b)
10182dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __b, __a);
10184dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10185dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector int __a, vector bool int __b)
10188dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, (vector int)__b, __a);
10190dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10191dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned int __a, vector unsigned int __b)
10194dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
101954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, __a);
10196dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10197dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
101984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
101994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned int __a, vector bool int __b)
10200dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__b, __a);
10202dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10203dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool int __a, vector int __b)
10206dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
102084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
102094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
10210dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10211dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool int __a, vector unsigned int __b)
10214dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, (vector unsigned int)__a);
10216dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10217dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool int __a, vector bool int __b)
10220dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
102224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
102234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
10224dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10225dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector float __a, vector float __b)
10228dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT, __a, __b);
10230dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10231dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10232a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_gt */
10233dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10234a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
102354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector signed char __a, vector signed char __b)
10236dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, __b);
10238dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10239dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10240a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
102414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector signed char __a, vector bool char __b)
10242dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, (vector signed char)__b);
10244dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10245dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10246a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
102474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned char __a, vector unsigned char __b)
10248dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, __b);
10250dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10251dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10252a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
102534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned char __a, vector bool char __b)
10254dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, (vector unsigned char)__b);
10256dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10257dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10258a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
102594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool char __a, vector signed char __b)
10260dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
102624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
102634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10264dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10265dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool char __a, vector unsigned char __b)
10268dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__a, __b);
10270dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10271dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool char __a, vector bool char __b)
10274dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
102764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
102774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10278dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10279dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector short __a, vector short __b)
10282dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, __b);
10284dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10285dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector short __a, vector bool short __b)
10288dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, (vector short)__b);
10290dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10291dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned short __a, vector unsigned short __b)
10294dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
102954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, __b);
10296dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10297dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
102984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
102994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned short __a, vector bool short __b)
10300dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, (vector unsigned short)__b);
10302dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10303dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool short __a, vector short __b)
10306dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
103084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
103094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
10310dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10311dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool short __a, vector unsigned short __b)
10314dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__a, __b);
10316dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10317dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool short __a, vector bool short __b)
10320dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
103224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
103234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
10324dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10325dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector int __a, vector int __b)
10328dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, __b);
10330dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10331dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector int __a, vector bool int __b)
10334dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, (vector int)__b);
10336dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10337dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned int __a, vector unsigned int __b)
10340dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, __b);
10342dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10343dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned int __a, vector bool int __b)
10346dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, (vector unsigned int)__b);
10348dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10349dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool int __a, vector int __b)
10352dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
103544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
103554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
10356dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10357dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool int __a, vector unsigned int __b)
10360dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__a, __b);
10362dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10363dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool int __a, vector bool int __b)
10366dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
103684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
103694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
10370dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10371dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector float __a, vector float __b)
10374dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __a, __b);
10376dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10377dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10378a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_in */
10379a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10380a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
103814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_in(vector float __a, vector float __b)
10382dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp_p(__CR6_EQ, __a, __b);
10384dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10385dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10386a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_le */
10387a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
103884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector signed char __a, vector signed char __b)
10390dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, __b);
10392dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10393dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
103944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
103954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector signed char __a, vector bool char __b)
10396dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
103974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, (vector signed char)__b);
10398dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10399dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned char __a, vector unsigned char __b)
10402dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, __b);
10404dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10405dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned char __a, vector bool char __b)
10408dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, (vector unsigned char)__b);
10410dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10411dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool char __a, vector signed char __b)
10414dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
104164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
104174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10418dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10419dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool char __a, vector unsigned char __b)
10422dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__a, __b);
10424a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10425a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10426a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool char __a, vector bool char __b)
10428a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
104304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
104314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10432a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10433a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10434a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector short __a, vector short __b)
10436a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, __b);
10438a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10439a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10440a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector short __a, vector bool short __b)
10442a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, (vector short)__b);
10444a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10445a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10446a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned short __a, vector unsigned short __b)
10448a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, __b);
10450a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10451a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10452a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned short __a, vector bool short __b)
10454a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, (vector unsigned short)__b);
10456a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10457a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10458a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool short __a, vector short __b)
10460a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
104624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
104634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
10464a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10465a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10466a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool short __a, vector unsigned short __b)
10468a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__a, __b);
10470a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10471a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10472a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool short __a, vector bool short __b)
10474a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
104764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
104774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
10478a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10479a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10480a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector int __a, vector int __b)
10482a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, __b);
10484a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10485a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10486a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector int __a, vector bool int __b)
10488a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, (vector int)__b);
10490a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10491a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10492a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned int __a, vector unsigned int __b)
10494a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
104954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, __b);
10496a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10497a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10498a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
104994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned int __a, vector bool int __b)
10500a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, (vector unsigned int)__b);
10502a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10503a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10504a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool int __a, vector int __b)
10506a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
105084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
105094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
10510a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10511a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10512a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool int __a, vector unsigned int __b)
10514a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__a, __b);
10516a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10517a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10518a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool int __a, vector bool int __b)
10520a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
105224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
105234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
10524a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10525a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10526a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector float __a, vector float __b)
10528a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT, __b, __a);
10530a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10531a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10532a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_lt */
10533a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10534a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector signed char __a, vector signed char __b)
10536a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __b, __a);
10538a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10539a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10540a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector signed char __a, vector bool char __b)
10542a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, (vector signed char)__b, __a);
10544a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10545a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10546a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned char __a, vector unsigned char __b)
10548a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, __a);
10550a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10551a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10552a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned char __a, vector bool char __b)
10554a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__b, __a);
10556a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10557a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10558a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool char __a, vector signed char __b)
10560a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
105624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
105634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
10564a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10565a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10566a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool char __a, vector unsigned char __b)
10568a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, (vector unsigned char)__a);
10570a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10571a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10572a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool char __a, vector bool char __b)
10574a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
105764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
105774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
10578a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10579a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10580a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector short __a, vector short __b)
10582a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __b, __a);
10584a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10585a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10586a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector short __a, vector bool short __b)
10588a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, (vector short)__b, __a);
10590a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10591a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10592a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned short __a, vector unsigned short __b)
10594a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
105954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, __a);
10596a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10597a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10598a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
105994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned short __a, vector bool short __b)
10600a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__b, __a);
10602a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10603a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10604a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool short __a, vector short __b)
10606a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
106084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
106094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
10610a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10611a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10612a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool short __a, vector unsigned short __b)
10614a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, (vector unsigned short)__a);
10616a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10617a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10618a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool short __a, vector bool short __b)
10620a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
106224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
106234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
10624a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10625a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10626a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector int __a, vector int __b)
10628a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __b, __a);
10630a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10631a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10632a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector int __a, vector bool int __b)
10634a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, (vector int)__b, __a);
10636a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10637a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10638a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned int __a, vector unsigned int __b)
10640a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, __a);
10642a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10643a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10644a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned int __a, vector bool int __b)
10646a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__b, __a);
10648a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10649a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10650a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool int __a, vector int __b)
10652a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
106544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
106554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
10656a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10657a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10658a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool int __a, vector unsigned int __b)
10660a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, (vector unsigned int)__a);
10662a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10663a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10664a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool int __a, vector bool int __b)
10666a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
106684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
106694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
10670a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10671a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10672a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector float __a, vector float __b)
10674a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __b, __a);
10676a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10677a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10678a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nan */
10679a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10680a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
106814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nan(vector float __a)
10682a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __a);
10684a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10685a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10686a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ne */
10687a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10688a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector signed char __a, vector signed char __b)
10690a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
10692a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10693a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10694a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector signed char __a, vector bool char __b)
10696a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
10698a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10699a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10700a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned char __a, vector unsigned char __b)
10702a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
10704a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10705a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10706a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned char __a, vector bool char __b)
10708a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
10710a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10711a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10712a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool char __a, vector signed char __b)
10714a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
10716a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10717a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10718a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool char __a, vector unsigned char __b)
10720a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
10722a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10723a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10724a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool char __a, vector bool char __b)
10726a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
10728a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10729a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10730a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector short __a, vector short __b)
10732a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, __b);
10734a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10735a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10736a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector short __a, vector bool short __b)
10738a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, (vector short)__b);
10740a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10741a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10742a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned short __a, vector unsigned short __b)
10744a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
107464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
10747a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10748a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10749a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned short __a, vector bool short __b)
10751a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
107534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
10754a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10755a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10756a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool short __a, vector short __b)
10758a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
107604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
10761a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10762a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10763a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool short __a, vector unsigned short __b)
10765a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
107674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
10768a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10769a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10770a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool short __a, vector bool short __b)
10772a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
107744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
10775a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10776a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10777a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector pixel __a, vector pixel __b)
10779a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
107814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
10782a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10783a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10784a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector int __a, vector int __b)
10786a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, __b);
10788a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10789a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10790a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector int __a, vector bool int __b)
10792a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, (vector int)__b);
10794a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10795a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10796a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned int __a, vector unsigned int __b)
10798a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
107994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
10800a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10801a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10802a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned int __a, vector bool int __b)
10804a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
10806a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10807a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10808a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool int __a, vector int __b)
10810a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
10812a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10813a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10814a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool int __a, vector unsigned int __b)
10816a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
10818a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10819a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10820a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool int __a, vector bool int __b)
10822a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
10824a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10825a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10826a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector float __a, vector float __b)
10828a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __b);
10830a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10831a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10832a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nge */
10833a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10834a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
108354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nge(vector float __a, vector float __b)
10836a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __a, __b);
10838a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10839a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10840a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ngt */
10841a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10842a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
108434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ngt(vector float __a, vector float __b)
10844a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __a, __b);
10846a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10847a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10848a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nle */
10849a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10850a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
108514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nle(vector float __a, vector float __b)
10852a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __b, __a);
10854a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10855a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10856a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nlt */
10857a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10858a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
108594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nlt(vector float __a, vector float __b)
10860a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __b, __a);
10862a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10863a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10864a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_numeric */
10865a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10866a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
108674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_numeric(vector float __a)
10868a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __a);
10870a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10871a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10872a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_eq */
10873a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10874a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector signed char __a, vector signed char __b)
10876a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
108784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
10879a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10880a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10881a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector signed char __a, vector bool char __b)
10883a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108843ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
108854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
10886a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10887a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10888a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned char __a, vector unsigned char __b)
10890a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108913ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
108924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
10893a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10894a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10895a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
108964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned char __a, vector bool char __b)
10897a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
108983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
108994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
10900a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10901a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10902a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool char __a, vector signed char __b)
10904a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
109064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
10907a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10908a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10909a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool char __a, vector unsigned char __b)
10911a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
109134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
10914a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10915a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10916a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool char __a, vector bool char __b)
10918a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
109204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
10921a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10922a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10923a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector short __a, vector short __b)
10925a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, __b);
10927a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10928a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10929a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector short __a, vector bool short __b)
10931a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, (vector short)__b);
10933a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10934a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10935a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned short __a, vector unsigned short __b)
10937a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
109394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
109404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
10941a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10942a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10943a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned short __a, vector bool short __b)
10945a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
109474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
109484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
10949a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10950a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10951a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool short __a, vector short __b)
10953a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
109554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
109564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
10957a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10958a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10959a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool short __a, vector unsigned short __b)
10961a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
109634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
109644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
10965a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10966a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10967a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool short __a, vector bool short __b)
10969a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
109714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
109724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
10973a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10974a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10975a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector pixel __a, vector pixel __b)
10977a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
109794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
109804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
10981a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10982a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10983a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector int __a, vector int __b)
10985a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, __b);
10987a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10988a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10989a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector int __a, vector bool int __b)
10991a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, (vector int)__b);
10993a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10994a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10995a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned int __a, vector unsigned int __b)
10997a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
109994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11000a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11001a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11002a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned int __a, vector bool int __b)
11004a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
110064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11007a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11008a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11009a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool int __a, vector int __b)
11011a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
110134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11014a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11015a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11016a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool int __a, vector unsigned int __b)
11018a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
110204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11021a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11022a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11023a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool int __a, vector bool int __b)
11025a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
110274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11028a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11029a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11030a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector float __a, vector float __b)
11032a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __b);
11034a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11035a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11036a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_ge */
11037a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11038a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector signed char __a, vector signed char __b)
11040a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __b, __a);
11042a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11043a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11044a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector signed char __a, vector bool char __b)
11046a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, (vector signed char)__b, __a);
11048a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11049a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11050a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned char __a, vector unsigned char __b)
11052a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, __a);
11054a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11055a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11056a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned char __a, vector bool char __b)
11058a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__b, __a);
11060a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11061a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11062a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool char __a, vector signed char __b)
11064a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
110664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
110674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11068a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11069a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11070a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool char __a, vector unsigned char __b)
11072a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, (vector unsigned char)__a);
11074a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11075a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11076a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool char __a, vector bool char __b)
11078a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
110804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
110814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11082a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11083a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11084a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector short __a, vector short __b)
11086a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __b, __a);
11088a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11089a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11090a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector short __a, vector bool short __b)
11092a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, (vector short)__b, __a);
11094a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11095a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11096a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned short __a, vector unsigned short __b)
11098a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, __a);
11100a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11101a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11102a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned short __a, vector bool short __b)
11104a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
111064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__b, __a);
11107a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11108a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11109a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool short __a, vector short __b)
11111a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
111134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
111144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11115a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11116a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11117a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool short __a, vector unsigned short __b)
11119a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11120a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
111214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, (vector unsigned short)__a);
11122a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11123a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11124a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool short __a, vector bool short __b)
11126a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
111284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
111294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11130a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11131a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11132a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector int __a, vector int __b)
11134a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __b, __a);
11136a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11137a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11138a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector int __a, vector bool int __b)
11140a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, (vector int)__b, __a);
11142a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11143a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11144a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned int __a, vector unsigned int __b)
11146a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, __a);
11148a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11149a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11150a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned int __a, vector bool int __b)
11152a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__b, __a);
11154a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11155a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11156a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool int __a, vector int __b)
11158a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
111604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
111614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11162a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11163a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11164a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool int __a, vector unsigned int __b)
11166a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, (vector unsigned int)__a);
11168a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11169a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11170a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool int __a, vector bool int __b)
11172a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
111744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
111754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11176a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11177a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11178a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector float __a, vector float __b)
11180a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __a, __b);
11182a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11183a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11184a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_gt */
11185a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11186a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector signed char __a, vector signed char __b)
11188a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, __b);
11190a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11191a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11192a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector signed char __a, vector bool char __b)
11194a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, (vector signed char)__b);
11196a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11197a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11198a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned char __a, vector unsigned char __b)
11200a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, __b);
11202a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11203a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11204a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned char __a, vector bool char __b)
11206a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11207a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
112084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, (vector unsigned char)__b);
11209a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11210a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11211a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool char __a, vector signed char __b)
11213a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
112154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
112164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11217a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11218a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11219a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool char __a, vector unsigned char __b)
11221a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11222a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
112234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__a, __b);
11224a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11225a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11226a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool char __a, vector bool char __b)
11228a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
112304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
112314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11232a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11233a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11234a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector short __a, vector short __b)
11236a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, __b);
11238a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11239a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11240a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector short __a, vector bool short __b)
11242a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, (vector short)__b);
11244a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11245a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11246a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned short __a, vector unsigned short __b)
11248a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, __b);
11250a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11251a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11252a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned short __a, vector bool short __b)
11254a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11255a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
112564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, (vector unsigned short)__b);
11257a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11258a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11259a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool short __a, vector short __b)
11261a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
112634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
112644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11265a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11266a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11267a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool short __a, vector unsigned short __b)
11269a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
112714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__a, __b);
11272a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11273a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11274a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool short __a, vector bool short __b)
11276a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
112784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
112794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11280a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11281a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11282a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector int __a, vector int __b)
11284a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, __b);
11286a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11287a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11288a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector int __a, vector bool int __b)
11290a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, (vector int)__b);
11292a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11293a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11294a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned int __a, vector unsigned int __b)
11296a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, __b);
11298a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11299a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11300a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned int __a, vector bool int __b)
11302a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, (vector unsigned int)__b);
11304a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11305a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11306a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool int __a, vector int __b)
11308a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
113104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
113114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11312a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11313a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11314a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool int __a, vector unsigned int __b)
11316a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__a, __b);
11318a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11319a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11320a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool int __a, vector bool int __b)
11322a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
113244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
113254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11326a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11327a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11328a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector float __a, vector float __b)
11330a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __a, __b);
11332a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11333a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11334a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_le */
11335a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11336a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector signed char __a, vector signed char __b)
11338a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, __b);
11340a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11341a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11342a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector signed char __a, vector bool char __b)
11344a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, (vector signed char)__b);
11346a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11347a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11348a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned char __a, vector unsigned char __b)
11350a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, __b);
11352a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11353a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11354a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned char __a, vector bool char __b)
11356a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11357a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
113584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, (vector unsigned char)__b);
11359a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11360a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11361a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool char __a, vector signed char __b)
11363a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
113654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
113664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11367a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11368a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11369a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool char __a, vector unsigned char __b)
11371a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11372a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
113734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__a, __b);
11374a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11375a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11376a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool char __a, vector bool char __b)
11378a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
113804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
113814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11382a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11383a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11384a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector short __a, vector short __b)
11386a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, __b);
11388a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11389a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11390a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector short __a, vector bool short __b)
11392a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, (vector short)__b);
11394dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11395dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
113964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
113974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned short __a, vector unsigned short __b)
11398dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
113994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, __b);
11400dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11401dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
114024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
114034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned short __a, vector bool short __b)
11404a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11405a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
114064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, (vector unsigned short)__b);
11407a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11408a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11409a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool short __a, vector short __b)
11411a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
114134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
114144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11415a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11416a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11417a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool short __a, vector unsigned short __b)
11419a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11420a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
114214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__a, __b);
11422a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11423a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11424a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool short __a, vector bool short __b)
11426a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
114284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
114294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11430a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11431a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11432a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector int __a, vector int __b)
11434dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
114354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, __b);
11436dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11437dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
114384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
114394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector int __a, vector bool int __b)
11440a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, (vector int)__b);
11442a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11443a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11444a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned int __a, vector unsigned int __b)
11446dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
114474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, __b);
11448dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11449dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
114504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
114514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned int __a, vector bool int __b)
11452a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, (vector unsigned int)__b);
11454a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11455a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11456a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool int __a, vector int __b)
11458a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
114604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
114614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11462a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11463a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11464a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool int __a, vector unsigned int __b)
11466a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__a, __b);
11468a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11469a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11470a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool int __a, vector bool int __b)
11472a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
114744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
114754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11476a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11477a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11478a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector float __a, vector float __b)
11480dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
114814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __b, __a);
11482dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11483dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11484dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_lt */
11485dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
114864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
114874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector signed char __a, vector signed char __b)
11488dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
114894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __b, __a);
11490dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11491dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
114924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
114934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector signed char __a, vector bool char __b)
11494a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, (vector signed char)__b, __a);
11496a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11497a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11498a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned char __a, vector unsigned char __b)
11500dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
115014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, __a);
11502dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11503dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
115044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
115054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned char __a, vector bool char __b)
11506a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11507a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
115084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__b, __a);
11509a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11510a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11511a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool char __a, vector signed char __b)
11513a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
115154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
115164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11517a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11518a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11519a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool char __a, vector unsigned char __b)
11521a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11522a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
115234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, (vector unsigned char)__a);
11524a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11525a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11526a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool char __a, vector bool char __b)
11528a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
115304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
115314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11532a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11533a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11534a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector short __a, vector short __b)
11536dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
115374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __b, __a);
11538dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11539dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
115404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
115414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector short __a, vector bool short __b)
11542a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, (vector short)__b, __a);
11544a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11545a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11546a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned short __a, vector unsigned short __b)
11548dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
115494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, __a);
11550dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11551dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
115524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
115534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned short __a, vector bool short __b)
11554a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11555a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
115564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__b, __a);
11557a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11558a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11559a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool short __a, vector short __b)
11561a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
115634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
115644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11565a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11566a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11567a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool short __a, vector unsigned short __b)
11569a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11570a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
115714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, (vector unsigned short)__a);
11572a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11573a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11574a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool short __a, vector bool short __b)
11576a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
115784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
115794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11580a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11581a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11582a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector int __a, vector int __b)
11584dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
115854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __b, __a);
11586dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11587dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
115884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
115894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector int __a, vector bool int __b)
11590a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, (vector int)__b, __a);
11592a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11593a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11594a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned int __a, vector unsigned int __b)
11596dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
115974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, __a);
11598dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11599dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
116004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
116014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned int __a, vector bool int __b)
11602a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__b, __a);
11604a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11605a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11606a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool int __a, vector int __b)
11608a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
116104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
116114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11612a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11613a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11614a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool int __a, vector unsigned int __b)
11616a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, (vector unsigned int)__a);
11618a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11619a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11620a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool int __a, vector bool int __b)
11622a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
116244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
116254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11626a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11627a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11628a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector float __a, vector float __b)
11630dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
116314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __b, __a);
11632dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11633dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11634dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nan */
11635dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11636dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
116374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nan(vector float __a)
11638dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
116394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __a);
11640dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11641dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11642dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_ne */
11643dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
116444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
116454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector signed char __a, vector signed char __b)
11646dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
116473ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
11649dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11650dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
116514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
116524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector signed char __a, vector bool char __b)
11653a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
11656a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11657a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11658a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned char __a, vector unsigned char __b)
11660dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
116613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
11663dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11664dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
116654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
116664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned char __a, vector bool char __b)
11667a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
11670a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11671a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11672a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool char __a, vector signed char __b)
11674a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
11677a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11678a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11679a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool char __a, vector unsigned char __b)
11681a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116823ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
11684a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11685a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11686a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool char __a, vector bool char __b)
11688a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116893ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
11691a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11692a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11693a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector short __a, vector short __b)
11695dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
116964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, __b);
11697dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11698dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
116994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
117004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector short __a, vector bool short __b)
11701a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, (vector short)__b);
11703a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11704a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11705a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned short __a, vector unsigned short __b)
11707dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
117083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
117094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
117104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11711dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11712dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
117134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
117144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned short __a, vector bool short __b)
11715a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
117174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
117184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11719a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11720a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11721a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool short __a, vector short __b)
11723a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
117254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
117264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11727a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11728a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11729a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool short __a, vector unsigned short __b)
11731a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
117334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
117344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11735a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11736a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11737a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool short __a, vector bool short __b)
11739a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
117414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
117424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11743a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11744a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11745a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector pixel __a, vector pixel __b)
11747a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117483ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
117494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
117504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11751a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11752a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11753a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector int __a, vector int __b)
11755dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
117564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, __b);
11757dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11758dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
117594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
117604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector int __a, vector bool int __b)
11761a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, (vector int)__b);
11763a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11764a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11765a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned int __a, vector unsigned int __b)
11767dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
117683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
117694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
11770dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11771dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
117724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
117734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned int __a, vector bool int __b)
11774a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
117764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
11777a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11778a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11779a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool int __a, vector int __b)
11781a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117823ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
117834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
11784a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11785a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11786a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool int __a, vector unsigned int __b)
11788a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117893ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
117904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
11791a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11792a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11793a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool int __a, vector bool int __b)
11795a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
117974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
11798a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11799a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11800a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector float __a, vector float __b)
11802dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
118034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __b);
11804dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11805dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11806dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nge */
11807dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11808dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
118094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nge(vector float __a, vector float __b)
11810dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
118114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __a, __b);
11812dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11813dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11814dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_ngt */
11815dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11816dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
118174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ngt(vector float __a, vector float __b)
11818dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
118194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __a, __b);
11820dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11821dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11822dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nle */
11823dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11824dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
118254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nle(vector float __a, vector float __b)
11826dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
118274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __b, __a);
11828dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11829dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11830dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nlt */
11831dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11832dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
118334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nlt(vector float __a, vector float __b)
11834dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
118354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __b, __a);
11836dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11837dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11838dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_numeric */
11839dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11840dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
118414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_numeric(vector float __a)
11842dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
118434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __a);
11844dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11845dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11846dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_out */
11847dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11848dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
118494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_out(vector float __a, vector float __b)
11850dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
118514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp_p(__CR6_EQ_REV, __a, __b);
11852dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11853dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
118544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#undef __ATTRS_o_ai
11855dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
11856dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#endif /* __ALTIVEC_H */
11857