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
76ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesstatic vector unsigned char __ATTRS_o_ai
77ef8225444452a1486bd721f3285301fe84643b00Stephen Hinesvec_xor(vector unsigned char __a, vector unsigned char __b);
78ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
79dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_abs */
80dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v16qi vec_abs
82dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v8hi  vec_abs
83dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v4si  vec_abs
84dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector signed char __a)
87dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, -__a);
89dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
90dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai
924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector signed short __a)
93dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, -__a);
95dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
96dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __ATTRS_o_ai
984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector signed int __a)
99dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, -__a);
101dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
102dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
1044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abs(vector float __a)
105dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a
1073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev                            & (vector unsigned int)(0x7FFFFFFF);
1084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
109dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
110dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
111dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_abss */
112dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
113dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v16qi vec_abss
114dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v8hi  vec_abss
115dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v4si  vec_abss
116dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
1184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abss(vector signed char __a)
119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vmaxsb
1214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           (__a, __builtin_altivec_vsubsbs((vector signed char)(0), __a));
122dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
123dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai
1254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abss(vector signed short __a)
126dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vmaxsh
1284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           (__a, __builtin_altivec_vsubshs((vector signed short)(0), __a));
129dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
130dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __ATTRS_o_ai
1324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_abss(vector signed int __a)
133dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vmaxsw
1354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           (__a, __builtin_altivec_vsubsws((vector signed int)(0), __a));
136dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
137dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
138dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_add */
139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
1404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
1414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector signed char __a, vector signed char __b)
142dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
144dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
145dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
14605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
1474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool char __a, vector signed char __b)
14805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a + __b;
15005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
15105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
15205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
1534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector signed char __a, vector bool char __b)
15405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector signed char)__b;
15605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
15705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
1584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
1594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned char __a, vector unsigned char __b)
160dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
1614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
162dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
163dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
16405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
1654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool char __a, vector unsigned char __b)
16605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a + __b;
16805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
16905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
17005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
1714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned char __a, vector bool char __b)
17205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned char)__b;
17405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
17505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
1764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
1774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector short __a, vector short __b)
1784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
1804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
1814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
1834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool short __a, vector short __b)
18405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a + __b;
18605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
18705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
18805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
1894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector short __a, vector bool short __b)
19005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
1914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector short)__b;
19205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
19305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
1944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
1954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned short __a, vector unsigned short __b)
1964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
1984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
1994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
2014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool short __a, vector unsigned short __b)
20205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a + __b;
20405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
20505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
20605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
2074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned short __a, vector bool short __b)
20805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned short)__b;
21005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
21105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
2134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector int __a, vector int __b)
2144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
2194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool int __a, vector int __b)
22005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a + __b;
22205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
22305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
22405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
2254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector int __a, vector bool int __b)
22605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector int)__b;
22805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
22905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
2314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned int __a, vector unsigned int __b)
2324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
2374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector bool int __a, vector unsigned int __b)
23805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a + __b;
24005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
24105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
24205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
2434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector unsigned int __a, vector bool int __b)
24405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned int)__b;
24605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
24705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
2494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_add(vector float __a, vector float __b)
2504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddubm */
2554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vaddubm vec_vaddubm
2574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
2594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector signed char __a, vector signed char __b)
2604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
2654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector bool char __a, vector signed char __b)
26605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a + __b;
26805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
26905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
27005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
2714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector signed char __a, vector bool char __b)
27205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector signed char)__b;
27405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
27505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
2774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector unsigned char __a, vector unsigned char __b)
2784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
2794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
2804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
2814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
2834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector bool char __a, vector unsigned char __b)
28405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a + __b;
28605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
28705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
28805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
2894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubm(vector unsigned char __a, vector bool char __b)
29005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
2914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned char)__b;
29205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
29305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
2944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduhm */
2954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vadduhm vec_vadduhm
2974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
2994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector short __a, vector short __b)
3004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
30405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
3054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector bool short __a, vector short __b)
30605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a + __b;
30805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
30905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
31005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
3114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector short __a, vector bool short __b)
31205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector short)__b;
31405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
31505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
3174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector unsigned short __a, vector unsigned short __b)
3184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
3234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector bool short __a, vector unsigned short __b)
32405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a + __b;
32605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
32705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
32805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
3294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhm(vector unsigned short __a, vector bool short __b)
33005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned short)__b;
33205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
33305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduwm */
3354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vadduwm vec_vadduwm
3374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
3394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector int __a, vector int __b)
3404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
3454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector bool int __a, vector int __b)
34605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a + __b;
34805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
34905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
35005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
3514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector int __a, vector bool int __b)
35205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector int)__b;
35405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
35505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
3574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector unsigned int __a, vector unsigned int __b)
3584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
3634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector bool int __a, vector unsigned int __b)
36405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a + __b;
36605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
36705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
36805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
3694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduwm(vector unsigned int __a, vector bool int __b)
37005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
3714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + (vector unsigned int)__b;
37205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
37305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
3744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddfp */
3754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vaddfp  vec_vaddfp
3774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
3794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddfp(vector float __a, vector float __b)
3804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a + __b;
3824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_addc */
3854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
3874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_addc(vector unsigned int __a, vector unsigned int __b)
3884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddcuw(__a, __b);
3904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddcuw */
3934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
3954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddcuw(vector unsigned int __a, vector unsigned int __b)
3964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddcuw(__a, __b);
3984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
3994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_adds */
4014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
4034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector signed char __a, vector signed char __b)
4044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, __b);
4064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
40805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
4094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool char __a, vector signed char __b)
41005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
41205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
41305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
41405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
4154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector signed char __a, vector bool char __b)
41605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
41805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
41905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
4214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned char __a, vector unsigned char __b)
4224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, __b);
4244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
4274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool char __a, vector unsigned char __b)
42805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
43005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
43105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
43205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
4334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned char __a, vector bool char __b)
43405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
43605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
43705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
4394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector short __a, vector short __b)
4404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, __b);
4424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
4454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool short __a, vector short __b)
44605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs((vector short)__a, __b);
44805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
44905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
45005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
4514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector short __a, vector bool short __b)
45205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, (vector short)__b);
45405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
45505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
4574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned short __a, vector unsigned short __b)
4584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, __b);
4604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
46205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
4634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool short __a, vector unsigned short __b)
46405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
46605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
46705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
46805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
4694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned short __a, vector bool short __b)
47005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
47205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
47305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
4754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector int __a, vector int __b)
4764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, __b);
4784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
4814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool int __a, vector int __b)
48205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws((vector int)__a, __b);
48405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
48505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
48605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
4874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector int __a, vector bool int __b)
48805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
4894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, (vector int)__b);
49005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
49105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
4924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
4934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned int __a, vector unsigned int __b)
4944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, __b);
4964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
4974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
4994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector bool int __a, vector unsigned int __b)
50005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
50205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
50305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
50405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
5054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_adds(vector unsigned int __a, vector bool int __b)
50605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
50805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
50905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddsbs */
5114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
5134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsbs(vector signed char __a, vector signed char __b)
5144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, __b);
5164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
5194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsbs(vector bool char __a, vector signed char __b)
52005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs((vector signed char)__a, __b);
52205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
52305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
52405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
5254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsbs(vector signed char __a, vector bool char __b)
52605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsbs(__a, (vector signed char)__b);
52805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
52905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddubs */
5314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
5334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubs(vector unsigned char __a, vector unsigned char __b)
5344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, __b);
5364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
5394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubs(vector bool char __a, vector unsigned char __b)
54005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs((vector unsigned char)__a, __b);
54205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
54305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
54405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
5454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddubs(vector unsigned char __a, vector bool char __b)
54605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddubs(__a, (vector unsigned char)__b);
54805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
54905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddshs */
5514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
5534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddshs(vector short __a, vector short __b)
5544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, __b);
5564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
5594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddshs(vector bool short __a, vector short __b)
56005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs((vector short)__a, __b);
56205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
56305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
56405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
5654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddshs(vector short __a, vector bool short __b)
56605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddshs(__a, (vector short)__b);
56805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
56905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduhs */
5714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
5734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhs(vector unsigned short __a, vector unsigned short __b)
5744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, __b);
5764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
5794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhs(vector bool short __a, vector unsigned short __b)
58005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs((vector unsigned short)__a, __b);
58205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
58305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
58405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
5854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduhs(vector unsigned short __a, vector bool short __b)
58605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
5874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduhs(__a, (vector unsigned short)__b);
58805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
58905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
5904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddsws */
5914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
5934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsws(vector int __a, vector int __b)
5944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, __b);
5964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
5974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
5994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsws(vector bool int __a, vector int __b)
60005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws((vector int)__a, __b);
60205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
60305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
60405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
6054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vaddsws(vector int __a, vector bool int __b)
60605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vaddsws(__a, (vector int)__b);
60805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
60905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduws */
6114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
6134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduws(vector unsigned int __a, vector unsigned int __b)
6144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, __b);
6164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
6194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduws(vector bool int __a, vector unsigned int __b)
62005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws((vector unsigned int)__a, __b);
62205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
62305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
62405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
6254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vadduws(vector unsigned int __a, vector bool int __b)
62605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vadduws(__a, (vector unsigned int)__b);
62805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
62905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_and */
6314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vand vec_and
6334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
6354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector signed char __a, vector signed char __b)
6364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
6414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool char __a, vector signed char __b)
64205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & __b;
64405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
64505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
64605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
6474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector signed char __a, vector bool char __b)
64805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector signed char)__b;
65005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
65105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
6534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned char __a, vector unsigned char __b)
6544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
6594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool char __a, vector unsigned char __b)
66005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & __b;
66205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
66305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
66405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
6654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned char __a, vector bool char __b)
66605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned char)__b;
66805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
66905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
67005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
6714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool char __a, vector bool char __b)
67205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
67405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
67505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
6774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector short __a, vector short __b)
6784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
6834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool short __a, vector short __b)
68405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & __b;
68605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
68705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
68805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
6894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector short __a, vector bool short __b)
69005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
6914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector short)__b;
69205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
69305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
6944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
6954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned short __a, vector unsigned short __b)
6964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
6974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
6984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
6994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
7014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool short __a, vector unsigned short __b)
70205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & __b;
70405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
70505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
70605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
7074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned short __a, vector bool short __b)
70805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned short)__b;
71005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
71105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
71205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
7134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool short __a, vector bool short __b)
71405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
71605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
71705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
7194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector int __a, vector int __b)
7204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
7224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
7254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector int __b)
72605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & __b;
72805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
72905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
73005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
7314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector int __a, vector bool int __b)
73205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector int)__b;
73405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
73505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
7374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned int __a, vector unsigned int __b)
7384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
7404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
74205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
7434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector unsigned int __b)
74405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & __b;
74605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
74705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
74805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
7494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector unsigned int __a, vector bool int __b)
75005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned int)__b;
75205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
75305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
75405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
7554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector bool int __b)
75605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
75805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
75905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
7614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector float __a, vector float __b)
7624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
7644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
7654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
76705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
7684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector bool int __a, vector float __b)
76905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
7714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
77205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
77305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
77405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
7754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_and(vector float __a, vector bool int __b)
77605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
7784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
77905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
78005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
7814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vand */
7824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
7834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
7844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector signed char __a, vector signed char __b)
7854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
7864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
7874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
7884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
78905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
7904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool char __a, vector signed char __b)
79105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & __b;
79305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
79405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
79505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
7964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector signed char __a, vector bool char __b)
79705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
7984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector signed char)__b;
79905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
80005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
8024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned char __a, vector unsigned char __b)
8034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
80705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
8084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool char __a, vector unsigned char __b)
80905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & __b;
81105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
81205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
81305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
8144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned char __a, vector bool char __b)
81505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned char)__b;
81705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
81805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
81905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
8204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool char __a, vector bool char __b)
82105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
82305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
82405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
8264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector short __a, vector short __b)
8274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
83105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
8324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool short __a, vector short __b)
83305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & __b;
83505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
83605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
83705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
8384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector short __a, vector bool short __b)
83905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector short)__b;
84105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
84205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
8444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned short __a, vector unsigned short __b)
8454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
84905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
8504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool short __a, vector unsigned short __b)
85105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & __b;
85305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
85405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
85505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
8564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned short __a, vector bool short __b)
85705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned short)__b;
85905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
86005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
86105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
8624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool short __a, vector bool short __b)
86305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
86505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
86605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
8684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector int __a, vector int __b)
8694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
87305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
8744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector int __b)
87505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & __b;
87705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
87805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
87905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
8804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector int __a, vector bool int __b)
88105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector int)__b;
88305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
88405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
8854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
8864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned int __a, vector unsigned int __b)
8874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
8884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
8894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
8904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
89105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
8924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector unsigned int __b)
89305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
8944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & __b;
89505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
89605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
89705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
8984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector unsigned int __a, vector bool int __b)
89905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & (vector unsigned int)__b;
90105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
90205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
90305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
9044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector bool int __b)
90505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & __b;
90705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
90805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
9104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector float __a, vector float __b)
9114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
9134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
9144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
91605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
9174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector bool int __a, vector float __b)
91805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
9204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
92105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
92205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
92305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
9244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vand(vector float __a, vector bool int __b)
92505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & (vector unsigned int)__b;
9274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
92805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
92905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_andc */
9314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
9324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vandc vec_andc
9334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
9344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
9354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector signed char __a, vector signed char __b)
9364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
94005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
9414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool char __a, vector signed char __b)
94205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & ~__b;
94405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
94505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
94605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
9474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector signed char __a, vector bool char __b)
94805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector signed char)__b;
95005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
95105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
9534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned char __a, vector unsigned char __b)
9544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
95805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
9594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool char __a, vector unsigned char __b)
96005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & ~__b;
96205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
96305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
96405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
9654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned char __a, vector bool char __b)
96605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned char)__b;
96805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
96905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
97005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
9714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool char __a, vector bool char __b)
97205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
97405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
97505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
9774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector short __a, vector short __b)
9784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
98205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
9834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool short __a, vector short __b)
98405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & ~__b;
98605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
98705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
98805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
9894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector short __a, vector bool short __b)
99005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
9914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector short)__b;
99205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
99305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
9944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
9954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned short __a, vector unsigned short __b)
9964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
9974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
9984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
9994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
100005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
10014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool short __a, vector unsigned short __b)
100205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & ~__b;
100405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
100505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
100605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
10074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned short __a, vector bool short __b)
100805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned short)__b;
101005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
101105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
101205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
10134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool short __a, vector bool short __b)
101405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
101605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
101705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
10194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector int __a, vector int __b)
10204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
10224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
102405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
10254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector int __b)
102605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & ~__b;
102805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
102905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
103005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
10314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector int __a, vector bool int __b)
103205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector int)__b;
103405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
103505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
10374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned int __a, vector unsigned int __b)
10384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
10404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
104205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
10434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector unsigned int __b)
104405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & ~__b;
104605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
104705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
104805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
10494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector unsigned int __a, vector bool int __b)
105005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned int)__b;
105205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
105305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
105405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
10554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector bool int __b)
105605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
105805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
105905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
10614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector float __a, vector float __b)
10624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
10644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
10654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
106705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
10684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector bool int __a, vector float __b)
106905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
10714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
107205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
107305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
107405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
10754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_andc(vector float __a, vector bool int __b)
107605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
10784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
107905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
108005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
10814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vandc */
10824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
10834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
10844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector signed char __a, vector signed char __b)
10854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
10864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
10874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
10884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
108905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
10904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool char __a, vector signed char __b)
109105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a & ~__b;
109305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
109405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
109505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai
10964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector signed char __a, vector bool char __b)
109705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
10984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector signed char)__b;
109905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
110005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
11024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned char __a, vector unsigned char __b)
11034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
110705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
11084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool char __a, vector unsigned char __b)
110905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a & ~__b;
111105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
111205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
111305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai
11144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned char __a, vector bool char __b)
111505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned char)__b;
111705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
111805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
111905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai
11204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool char __a, vector bool char __b)
112105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
112305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
112405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
11264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector short __a, vector short __b)
11274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
113105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
11324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool short __a, vector short __b)
113305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a & ~__b;
113505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
113605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
113705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai
11384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector short __a, vector bool short __b)
113905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector short)__b;
114105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
114205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
11444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned short __a, vector unsigned short __b)
11454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
114905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
11504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool short __a, vector unsigned short __b)
115105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a & ~__b;
115305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
115405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
115505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai
11564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned short __a, vector bool short __b)
115705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned short)__b;
115905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
116005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
116105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai
11624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool short __a, vector bool short __b)
116305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
116505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
116605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
11684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector int __a, vector int __b)
11694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
117305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
11744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector int __b)
117505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a & ~__b;
117705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
117805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
117905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai
11804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector int __a, vector bool int __b)
118105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector int)__b;
118305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
118405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
11854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
11864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned int __a, vector unsigned int __b)
11874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
11884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
11894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
11904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
119105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
11924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector unsigned int __b)
119305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
11944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a & ~__b;
119505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
119605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
119705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai
11984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector unsigned int __a, vector bool int __b)
119905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
12004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~(vector unsigned int)__b;
120105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
120205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
120305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai
12044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector bool int __b)
120505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
12064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a & ~__b;
120705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
120805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
12094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
12104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector float __a, vector float __b)
12114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
12134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
12144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
121605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
12174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector bool int __a, vector float __b)
121805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
12194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
12204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
122105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
122205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
122305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai
12244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vandc(vector float __a, vector bool int __b)
122505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{
12264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a & ~(vector unsigned int)__b;
12274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
122805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev}
122905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev
12304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_avg */
12314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
12334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector signed char __a, vector signed char __b)
12344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsb(__a, __b);
12364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
12394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector unsigned char __a, vector unsigned char __b)
12404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgub(__a, __b);
12424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
12454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector short __a, vector short __b)
12464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsh(__a, __b);
12484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
12514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector unsigned short __a, vector unsigned short __b)
12524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguh(__a, __b);
12544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
12574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector int __a, vector int __b)
12584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsw(__a, __b);
12604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
12634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_avg(vector unsigned int __a, vector unsigned int __b)
12644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguw(__a, __b);
12664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsb */
12694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __attribute__((__always_inline__))
12714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgsb(vector signed char __a, vector signed char __b)
12724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsb(__a, __b);
12744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgub */
12774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __attribute__((__always_inline__))
12794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgub(vector unsigned char __a, vector unsigned char __b)
12804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgub(__a, __b);
12824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsh */
12854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
12874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgsh(vector short __a, vector short __b)
12884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsh(__a, __b);
12904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavguh */
12934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
12944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
12954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavguh(vector unsigned short __a, vector unsigned short __b)
12964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
12974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguh(__a, __b);
12984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
12994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsw */
13014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
13034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavgsw(vector int __a, vector int __b)
13044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavgsw(__a, __b);
13064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavguw */
13094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
13114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vavguw(vector unsigned int __a, vector unsigned int __b)
13124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vavguw(__a, __b);
13144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ceil */
13174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
13194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ceil(vector float __a)
13204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfip(__a);
13224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfip */
13254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
13274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfip(vector float __a)
13284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfip(__a);
13304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpb */
13334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
13354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpb(vector float __a, vector float __b)
13364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp(__a, __b);
13384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpbfp */
13414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
13434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpbfp(vector float __a, vector float __b)
13444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp(__a, __b);
13464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpeq */
13494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1350a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
13514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector signed char __a, vector signed char __b)
13524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1353a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool char)
13544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
13554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
13584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector unsigned char __a, vector unsigned char __b)
13594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1360a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool char)
13614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb((vector char)__a, (vector char)__b);
13624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1364a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
13654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector short __a, vector short __b)
13664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpequh(__a, __b);
13684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1370a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
13714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector unsigned short __a, vector unsigned short __b)
13724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1373a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool short)
13744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh((vector short)__a, (vector short)__b);
13754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1377a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
13784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector int __a, vector int __b)
13794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpequw(__a, __b);
13814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1383a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
13844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector unsigned int __a, vector unsigned int __b)
13854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
1386a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev  return (vector bool int)
13874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw((vector int)__a, (vector int)__b);
13884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1390a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
13914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpeq(vector float __a, vector float __b)
13924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
13934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpeqfp(__a, __b);
13944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
13954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
13964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpge */
13974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
13994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpge(vector float __a, vector float __b)
14004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
14024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgefp */
14054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1406a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
14074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgefp(vector float __a, vector float __b)
14084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgefp(__a, __b);
14104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpgt */
14134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1414a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
14154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector signed char __a, vector signed char __b)
14164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
14184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
14214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector unsigned char __a, vector unsigned char __b)
14224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
14244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
14274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector short __a, vector short __b)
14284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
14304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1432a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
14334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector unsigned short __a, vector unsigned short __b)
14344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
14364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
14394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector int __a, vector int __b)
14404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
14424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
14454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector unsigned int __a, vector unsigned int __b)
14464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
14484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1450a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
14514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmpgt(vector float __a, vector float __b)
14524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
14544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsb */
14574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __attribute__((__always_inline__))
14594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtsb(vector signed char __a, vector signed char __b)
14604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtsb(__a, __b);
14624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtub */
14654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1466a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __attribute__((__always_inline__))
14674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtub(vector unsigned char __a, vector unsigned char __b)
14684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtub(__a, __b);
14704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsh */
14734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1474a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __attribute__((__always_inline__))
14754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtsh(vector short __a, vector short __b)
14764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtsh(__a, __b);
14784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtuh */
14814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1482a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __attribute__((__always_inline__))
14834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtuh(vector unsigned short __a, vector unsigned short __b)
14844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtuh(__a, __b);
14864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsw */
14894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1490a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
14914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtsw(vector int __a, vector int __b)
14924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
14934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtsw(__a, __b);
14944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
14954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
14964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtuw */
14974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
14994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtuw(vector unsigned int __a, vector unsigned int __b)
15004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtuw(__a, __b);
15024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtfp */
15054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
15074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcmpgtfp(vector float __a, vector float __b)
15084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtfp(__a, __b);
15104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmple */
15134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1514a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__))
15154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmple(vector float __a, vector float __b)
15164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgefp(__b, __a);
15184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmplt */
15214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1522a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
15234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector signed char __a, vector signed char __b)
15244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtsb(__b, __a);
15264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1528a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
15294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector unsigned char __a, vector unsigned char __b)
15304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vcmpgtub(__b, __a);
15324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1534a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
15354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector short __a, vector short __b)
15364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtsh(__b, __a);
15384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1540a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
15414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector unsigned short __a, vector unsigned short __b)
15424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vcmpgtuh(__b, __a);
15444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1546a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
15474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector int __a, vector int __b)
15484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtsw(__b, __a);
15504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1552a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
15534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector unsigned int __a, vector unsigned int __b)
15544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtuw(__b, __a);
15564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1558a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
15594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cmplt(vector float __a, vector float __b)
15604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vcmpgtfp(__b, __a);
15624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ctf */
15654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
15674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ctf(vector int __a, int __b)
15684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfsx(__a, __b);
15704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
15734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ctf(vector unsigned int __a, int __b)
15744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfux((vector int)__a, __b);
15764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcfsx */
15794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
15814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcfsx(vector int __a, int __b)
15824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfsx(__a, __b);
15844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcfux */
15874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
15894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vcfux(vector unsigned int __a, int __b)
15904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcfux((vector int)__a, __b);
15924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
15934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cts */
15954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
15964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
15974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_cts(vector float __a, int __b)
15984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
15994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctsxs(__a, __b);
16004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vctsxs */
16034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
16054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vctsxs(vector float __a, int __b)
16064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctsxs(__a, __b);
16084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ctu */
16114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
16134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ctu(vector float __a, int __b)
16144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctuxs(__a, __b);
16164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vctuxs */
16194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
16214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vctuxs(vector float __a, int __b)
16224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vctuxs(__a, __b);
16244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dss */
16274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dss(int __a)
16304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dss(__a);
16324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dssall */
16354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_dssall(void)
16384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov  __builtin_altivec_dssall();
16404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dst */
16434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dst(const void *__a, int __b, int __c)
16464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dst(__a, __b, __c);
16484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dstst */
16514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dstst(const void *__a, int __b, int __c)
16544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dstst(__a, __b, __c);
16564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dststt */
16594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dststt(const void *__a, int __b, int __c)
16624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dststt(__a, __b, __c);
16644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dstt */
16674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__))
16694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_dstt(const void *__a, int __b, int __c)
16704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_dstt(__a, __b, __c);
16724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_expte */
16754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
16774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_expte(vector float __a)
16784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vexptefp(__a);
16804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vexptefp */
16834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
16854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vexptefp(vector float __a)
16864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vexptefp(__a);
16884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_floor */
16914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
16934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_floor(vector float __a)
16944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
16954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfim(__a);
16964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
16974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
16984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfim */
16994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
17014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfim(vector float __a)
17024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfim(__a);
17044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ld */
17074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
17094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector signed char *__b)
17104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
17124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
17154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const signed char *__b)
17164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
17184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
17214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector unsigned char *__b)
17224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
17244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
17274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const unsigned char *__b)
17284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
17304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1732a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
17334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector bool char *__b)
1734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
17354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvx(__a, __b);
1736a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1737a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
17384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
17394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector short *__b)
17404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
17424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
17454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const short *__b)
17464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
17484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
17514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector unsigned short *__b)
17524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
17544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
17574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const unsigned short *__b)
17584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
17604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
17634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector bool short *__b)
1764a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
17654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvx(__a, __b);
1766a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
1768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
17694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector pixel *__b)
1770a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
17714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_lvx(__a, __b);
1772a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1773a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
17744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
17754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector int *__b)
17764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
17784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
17814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const int *__b)
17824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
17844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
17874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector unsigned int *__b)
17884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
17904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
17924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
17934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const unsigned int *__b)
17944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
17954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
17964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
17974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
17994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector bool int *__b)
1800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
18014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvx(__a, __b);
1802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1803a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
18044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
18054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const vector float *__b)
18064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
18084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
18114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ld(int __a, const float *__b)
18124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
18144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvx */
18174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
18194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector signed char *__b)
18204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
18224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
18254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const signed char *__b)
18264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvx(__a, __b);
18284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
18314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector unsigned char *__b)
18324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
18344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
18374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const unsigned char *__b)
18384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvx(__a, __b);
18404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1842a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
18434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector bool char *__b)
1844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
18454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvx(__a, __b);
1846a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1847a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
18484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
18494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector short *__b)
18504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
18524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
18554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const short *__b)
18564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvx(__a, __b);
18584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
18614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector unsigned short *__b)
18624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
18644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
18674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const unsigned short *__b)
18684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvx(__a, __b);
18704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
18734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector bool short *__b)
1874a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
18754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvx(__a, __b);
1876a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1877a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
1878a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
18794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector pixel *__b)
1880a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
18814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_lvx(__a, __b);
1882a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1883a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
18844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
18854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector int *__b)
18864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
18884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
18914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const int *__b)
18924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvx(__a, __b);
18944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
18954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
18964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
18974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector unsigned int *__b)
18984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
18994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
19004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
19034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const unsigned int *__b)
19044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvx(__a, __b);
19064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
1908a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
19094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector bool int *__b)
1910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
19114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvx(__a, __b);
1912a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
1913a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
19144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
19154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const vector float *__b)
19164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
19184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
19214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvx(int __a, const float *__b)
19224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvx(__a, __b);
19244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lde */
19274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
19293521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const signed char *__b)
19304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvebx(__a, __b);
19324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
19353521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const unsigned char *__b)
19364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
19384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
19413521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const short *__b)
19424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvehx(__a, __b);
19444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
19473521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const unsigned short *__b)
19484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
19504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
19533521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const int *__b)
19544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvewx(__a, __b);
19564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
19593521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const unsigned int *__b)
19604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
19624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
19653521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lde(int __a, const float *__b)
19664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvewx(__a, __b);
19684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvebx */
19714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
19733521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvebx(int __a, const signed char *__b)
19744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvebx(__a, __b);
19764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
19793521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvebx(int __a, const unsigned char *__b)
19804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvebx(__a, __b);
19824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvehx */
19854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
19873521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvehx(int __a, const short *__b)
19884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvehx(__a, __b);
19904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
19933521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvehx(int __a, const unsigned short *__b)
19944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
19954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvehx(__a, __b);
19964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
19974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
19984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvewx */
19994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
20013521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvewx(int __a, const int *__b)
20024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvewx(__a, __b);
20044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
20073521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvewx(int __a, const unsigned int *__b)
20084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvewx(__a, __b);
20104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
20133521c49fc4867ff9ac78d4ad6a9e3e5566ba8b83Anton Yartsevvec_lvewx(int __a, const float *__b)
20144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvewx(__a, __b);
20164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ldl */
20194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
20214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector signed char *__b)
20224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
20244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
20274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const signed char *__b)
20284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
20304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
20334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector unsigned char *__b)
20344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
20364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
20394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const unsigned char *__b)
20404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
20424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2044a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
20454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector bool char *__b)
2046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
20474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2048a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2049a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
20504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
20514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector short *__b)
20524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
20544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
20574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const short *__b)
20584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
20604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
20634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector unsigned short *__b)
20644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
20664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
20694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const unsigned short *__b)
20704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
20724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2074a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
20754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector bool short *__b)
2076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
20774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2078a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2079a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2080a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
20814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector pixel *__b)
2082a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
20834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel short)__builtin_altivec_lvxl(__a, __b);
2084a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2085a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
20864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
20874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector int *__b)
20884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
20904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
20934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const int *__b)
20944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
20954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
20964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
20974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
20984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
20994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector unsigned int *__b)
21004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
21024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
21054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const unsigned int *__b)
21064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
21084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
21114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector bool int *__b)
2112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2114a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2115a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
21164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
21174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const vector float *__b)
21184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
21204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
21234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ldl(int __a, const float *__b)
21244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
21264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvxl */
21294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
21314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector signed char *__b)
21324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
21344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
21374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const signed char *__b)
21384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_lvxl(__a, __b);
21404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
21434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector unsigned char *__b)
21444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
21464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
21494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const unsigned char *__b)
21504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvxl(__a, __b);
21524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
21554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector bool char *__b)
2156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_lvxl(__a, __b);
2158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
21604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
21614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector short *__b)
21624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
21644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
21674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const short *__b)
21684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_lvxl(__a, __b);
21704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
21734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector unsigned short *__b)
21744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
21764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
21784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
21794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const unsigned short *__b)
21804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_lvxl(__a, __b);
21824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
21834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2184a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
21854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector bool short *__b)
2186a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_lvxl(__a, __b);
2188a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2190a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
21914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector pixel *__b)
2192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
21934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_lvxl(__a, __b);
2194a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
21964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
21974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector int *__b)
21984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
21994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
22004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
22034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const int *__b)
22044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_lvxl(__a, __b);
22064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
22094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector unsigned int *__b)
22104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
22124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
22154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const unsigned int *__b)
22164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_lvxl(__a, __b);
22184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2220a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
22214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector bool int *__b)
2222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
22234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_lvxl(__a, __b);
2224a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
22264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
22274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const vector float *__b)
22284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
22304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
22334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvxl(int __a, const float *__b)
22344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_lvxl(__a, __b);
22364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_loge */
22394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
22414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_loge(vector float __a)
22424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vlogefp(__a);
22444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vlogefp */
22474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
22494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vlogefp(vector float __a)
22504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vlogefp(__a);
22524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvsl */
22554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const signed char *__b)
22584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const unsigned char *__b)
22644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const short *__b)
22704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const unsigned short *__b)
22764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const int *__b)
22824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const unsigned int *__b)
22884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
22934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsl(int __a, const float *__b)
22944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
22954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsl(__a, __b);
22964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
22974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
22984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvsr */
22994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const signed char *__b)
23024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const unsigned char *__b)
23084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const short *__b)
23144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const unsigned short *__b)
23204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const int *__b)
23264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const unsigned int *__b)
23324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvsr(int __a, const float *__b)
23384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_lvsr(__a, __b);
23404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_madd */
23434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
23454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_madd(vector float __a, vector float __b, vector float __c)
23464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaddfp(__a, __b, __c);
23484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaddfp */
23514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
23534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaddfp(vector float __a, vector float __b, vector float __c)
23544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaddfp(__a, __b, __c);
23564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_madds */
23594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__))
23614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_madds(vector signed short __a, vector signed short __b, vector signed short __c)
23624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhaddshs(__a, __b, __c);
23644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmhaddshs */
23674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__))
23684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmhaddshs(vector signed short __a,
23694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector signed short __b,
23704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector signed short __c)
23714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhaddshs(__a, __b, __c);
23734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_max */
23764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
23774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
23784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector signed char __a, vector signed char __b)
23794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, __b);
23814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
23824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2383a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
23844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool char __a, vector signed char __b)
2385a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
23864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2387a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2388a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2389a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
23904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector signed char __a, vector bool char __b)
2391a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
23924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2393a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2394a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
23954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
23964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned char __a, vector unsigned char __b)
23974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
23984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, __b);
23994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2401a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
24024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool char __a, vector unsigned char __b)
2403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2406a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2407a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
24084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned char __a, vector bool char __b)
2409a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2411a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2412a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
24144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector short __a, vector short __b)
24154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, __b);
24174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2419a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
24204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool short __a, vector short __b)
2421a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh((vector short)__a, __b);
2423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2425a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
24264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector short __a, vector bool short __b)
2427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2430a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
24324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned short __a, vector unsigned short __b)
24334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, __b);
24354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
24384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool short __a, vector unsigned short __b)
2439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2442a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2443a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
24444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned short __a, vector bool short __b)
2445a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2448a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
24504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector int __a, vector int __b)
24514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, __b);
24534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
24564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool int __a, vector int __b)
2457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw((vector int)__a, __b);
2459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
24624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector int __a, vector bool int __b)
2463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2465a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2466a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
24684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned int __a, vector unsigned int __b)
24694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, __b);
24714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2473a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
24744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector bool int __a, vector unsigned int __b)
2475a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2477a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
24804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector unsigned int __a, vector bool int __b)
2481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
24824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2483a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2484a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
24854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
24864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_max(vector float __a, vector float __b)
24874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxfp(__a, __b);
24894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
24914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsb */
24924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2493a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
24944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsb(vector signed char __a, vector signed char __b)
24954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
24964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, __b);
24974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
24984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
25004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsb(vector bool char __a, vector signed char __b)
2501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb((vector signed char)__a, __b);
2503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
25064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsb(vector signed char __a, vector bool char __b)
2507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsb(__a, (vector signed char)__b);
2509a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2510a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxub */
25124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2513a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
25144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxub(vector unsigned char __a, vector unsigned char __b)
25154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, __b);
25174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2519a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
25204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxub(vector bool char __a, vector unsigned char __b)
2521a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub((vector unsigned char)__a, __b);
2523a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2524a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2525a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
25264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxub(vector unsigned char __a, vector bool char __b)
2527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxub(__a, (vector unsigned char)__b);
2529a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2530a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsh */
25324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2533a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
25344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsh(vector short __a, vector short __b)
25354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, __b);
25374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2539a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
25404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsh(vector bool short __a, vector short __b)
2541a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh((vector short)__a, __b);
2543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2544a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
25464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsh(vector short __a, vector bool short __b)
2547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsh(__a, (vector short)__b);
2549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2550a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxuh */
25524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
25544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuh(vector unsigned short __a, vector unsigned short __b)
25554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, __b);
25574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2559a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
25604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuh(vector bool short __a, vector unsigned short __b)
2561a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh((vector unsigned short)__a, __b);
2563a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2564a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2565a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
25664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuh(vector unsigned short __a, vector bool short __b)
2567a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuh(__a, (vector unsigned short)__b);
2569a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2570a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsw */
25724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2573a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
25744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsw(vector int __a, vector int __b)
25754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, __b);
25774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2579a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
25804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsw(vector bool int __a, vector int __b)
2581a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw((vector int)__a, __b);
2583a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2584a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2585a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
25864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxsw(vector int __a, vector bool int __b)
2587a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
25884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxsw(__a, (vector int)__b);
2589a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2590a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
25914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxuw */
25924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2593a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
25944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuw(vector unsigned int __a, vector unsigned int __b)
25954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
25964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, __b);
25974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
25984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2599a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
26004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuw(vector bool int __a, vector unsigned int __b)
2601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
26024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw((vector unsigned int)__a, __b);
2603a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
2605a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
26064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxuw(vector unsigned int __a, vector bool int __b)
2607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
26084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxuw(__a, (vector unsigned int)__b);
2609a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
2610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
26114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxfp */
26124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
26144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmaxfp(vector float __a, vector float __b)
26154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmaxfp(__a, __b);
26174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mergeh */
26204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
26224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector signed char __a, vector signed char __b)
26234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
26264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
26274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
26304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector unsigned char __a, vector unsigned char __b)
26314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
26344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
26354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2637f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
26384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector bool char __a, vector bool char __b)
2639f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2641f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2642f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2643f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2644f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
26454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
26464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector short __a, vector short __b)
26474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
26504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
26514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
26544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector unsigned short __a, vector unsigned short __b)
26554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
26584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
26594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2661f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
26624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector bool short __a, vector bool short __b)
2663f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2665f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2666f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2667f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2668f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2669f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
26704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector pixel __a, vector pixel __b)
2671f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2673f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2674f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2675f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2676f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
26774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
26784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector int __a, vector int __b)
26794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
26824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
26834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
26854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
26864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector unsigned int __a, vector unsigned int __b)
26874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
26884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
26894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
26904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
26914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
26924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2693f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
26944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector bool int __a, vector bool int __b)
2695f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
26964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2697f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2698f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2699f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2700f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
27014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
27024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergeh(vector float __a, vector float __b)
27034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
27064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
27074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghb */
27104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghb vec_vmrghb
27124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
27144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghb(vector signed char __a, vector signed char __b)
27154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
27184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
27194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
27224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghb(vector unsigned char __a, vector unsigned char __b)
27234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
27264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
27274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2729f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
27304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghb(vector bool char __a, vector bool char __b)
2731f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2733f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13,
2734f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17));
2735f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2736f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
27374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghh */
27384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghh vec_vmrghh
27404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
27424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector short __a, vector short __b)
27434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
27464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
27474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
27504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector unsigned short __a, vector unsigned short __b)
27514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
27544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
27554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2757f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
27584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector bool short __a, vector bool short __b)
2759f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2761f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2762f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2763f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2764f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2765f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
27664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghh(vector pixel __a, vector pixel __b)
2767f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2769f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13,
2770f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17));
2771f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2772f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
27734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghw */
27744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghw vec_vmrghw
27764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
27784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector int __a, vector int __b)
27794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
27824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
27834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
27854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
27864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector unsigned int __a, vector unsigned int __b)
27874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
27884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
27894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
27904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
27914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
27924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2793f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
27944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector bool int __a, vector bool int __b)
2795f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
27964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2797f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
2798f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
2799f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2800f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
28014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
28024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrghw(vector float __a, vector float __b)
28034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13,
28064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17));
28074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mergel */
28104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
28124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector signed char __a, vector signed char __b)
28134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
28164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
28174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
28204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector unsigned char __a, vector unsigned char __b)
28214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
28244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
28254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2827f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
28284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector bool char __a, vector bool char __b)
2829f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2831f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2832f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2833f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2834f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
28354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
28364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector short __a, vector short __b)
28374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
28404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
28414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
28444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector unsigned short __a, vector unsigned short __b)
28454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
28484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
28494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2851f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
28524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector bool short __a, vector bool short __b)
2853f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2855f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2856f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2857f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2858f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2859f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
28604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector pixel __a, vector pixel __b)
2861f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2863f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2864f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2865f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2866f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
28674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
28684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector int __a, vector int __b)
28694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
28724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
28734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
28764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector unsigned int __a, vector unsigned int __b)
28774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
28804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
28814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2883f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
28844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector bool int __a, vector bool int __b)
2885f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
28864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2887f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2888f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2889f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2890f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
28914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
28924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mergel(vector float __a, vector float __b)
28934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
28944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
28954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
28964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
28974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
28984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
28994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglb */
29004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglb vec_vmrglb
29024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
29044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglb(vector signed char __a, vector signed char __b)
29054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
29084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
29094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
29124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglb(vector unsigned char __a, vector unsigned char __b)
29134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
29164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
29174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2919f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
29204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglb(vector bool char __a, vector bool char __b)
2921f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2923f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B,
2924f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F));
2925f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2926f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
29274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglh */
29284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglh vec_vmrglh
29304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
29324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector short __a, vector short __b)
29334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
29364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
29374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
29404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector unsigned short __a, vector unsigned short __b)
29414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
29444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
29454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2947f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
29484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector bool short __a, vector bool short __b)
2949f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2951f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2952f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2953f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2954f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
2955f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
29564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglh(vector pixel __a, vector pixel __b)
2957f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2959f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B,
2960f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F));
2961f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2962f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
29634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglw */
29644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglw vec_vmrglw
29664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
29684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector int __a, vector int __b)
29694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
29724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
29734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
29764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector unsigned int __a, vector unsigned int __b)
29774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
29804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
29814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
2983f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
29844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector bool int __a, vector bool int __b)
2985f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
29864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
2987f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
2988f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
2989f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
2990f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
29914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
29924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmrglw(vector float __a, vector float __b)
29934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
29944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
29954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B,
29964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F));
29974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
29984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
29994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mfvscr */
30004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
30014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
30024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mfvscr(void)
30034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov  return __builtin_altivec_mfvscr();
30054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
30074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_min */
30084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
30094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
30104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector signed char __a, vector signed char __b)
30114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, __b);
30134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
30164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool char __a, vector signed char __b)
3017a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb((vector signed char)__a, __b);
3019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3020a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
30224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector signed char __a, vector bool char __b)
3023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3025a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3026a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
30284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned char __a, vector unsigned char __b)
30294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, __b);
30314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3033a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
30344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool char __a, vector unsigned char __b)
3035a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3038a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
30404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned char __a, vector bool char __b)
3041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3044a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
30464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector short __a, vector short __b)
30474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, __b);
30494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3051a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
30524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool short __a, vector short __b)
3053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh((vector short)__a, __b);
3055a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3056a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3057a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
30584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector short __a, vector bool short __b)
3059a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, (vector short)__b);
3061a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3062a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
30644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned short __a, vector unsigned short __b)
30654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, __b);
30674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3069a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
30704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool short __a, vector unsigned short __b)
3071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3073a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3074a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3075a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
30764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned short __a, vector bool short __b)
3077a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3079a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3080a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
30824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector int __a, vector int __b)
30834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
30844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, __b);
30854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
30864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3087a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
30884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool int __a, vector int __b)
3089a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw((vector int)__a, __b);
3091a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3092a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3093a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
30944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector int __a, vector bool int __b)
3095a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
30964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, (vector int)__b);
3097a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3098a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
30994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
31004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned int __a, vector unsigned int __b)
31014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, __b);
31034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3105a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
31064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector bool int __a, vector unsigned int __b)
3107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
31124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector unsigned int __a, vector bool int __b)
3113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3115a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3116a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
31174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
31184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_min(vector float __a, vector float __b)
31194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminfp(__a, __b);
31214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
31234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminsb */
31244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3125a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
31264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsb(vector signed char __a, vector signed char __b)
31274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, __b);
31294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3131a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
31324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsb(vector bool char __a, vector signed char __b)
3133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb((vector signed char)__a, __b);
3135a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3136a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3137a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
31384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsb(vector signed char __a, vector bool char __b)
3139a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsb(__a, (vector signed char)__b);
3141a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3142a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
31434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminub */
31444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
31464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminub(vector unsigned char __a, vector unsigned char __b)
31474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, __b);
31494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
31524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminub(vector bool char __a, vector unsigned char __b)
3153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub((vector unsigned char)__a, __b);
3155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
31584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminub(vector unsigned char __a, vector bool char __b)
3159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminub(__a, (vector unsigned char)__b);
3161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3162a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3163a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_vminsh */
3164a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3165a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
31664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsh(vector short __a, vector short __b)
31674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, __b);
31694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3171a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
31724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsh(vector bool short __a, vector short __b)
3173a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh((vector short)__a, __b);
3175a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3176a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
31784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsh(vector short __a, vector bool short __b)
3179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsh(__a, (vector short)__b);
3181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
31834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminuh */
31844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3185a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
31864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuh(vector unsigned short __a, vector unsigned short __b)
31874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
31884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, __b);
31894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
31904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
31924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuh(vector bool short __a, vector unsigned short __b)
3193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
31944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh((vector unsigned short)__a, __b);
3195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3196a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3197a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
31984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuh(vector unsigned short __a, vector bool short __b)
3199a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuh(__a, (vector unsigned short)__b);
3201a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3202a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
32034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminsw */
32044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3205a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
32064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsw(vector int __a, vector int __b)
32074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, __b);
32094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3211a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
32124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsw(vector bool int __a, vector int __b)
3213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw((vector int)__a, __b);
3215a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3216a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
32184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminsw(vector int __a, vector bool int __b)
3219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminsw(__a, (vector int)__b);
3221a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
32234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminuw */
32244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
32264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuw(vector unsigned int __a, vector unsigned int __b)
32274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, __b);
32294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
32324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuw(vector bool int __a, vector unsigned int __b)
3233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw((vector unsigned int)__a, __b);
3235a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3237a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
32384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminuw(vector unsigned int __a, vector bool int __b)
3239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
32404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminuw(__a, (vector unsigned int)__b);
3241a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3242a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
32434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminfp */
32444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
32464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vminfp(vector float __a, vector float __b)
32474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vminfp(__a, __b);
32494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mladd */
32524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmladduhm vec_mladd
32544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector short __a, vector short __b, vector short __c)
32574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
32594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector short __a, vector unsigned short __b, vector unsigned short __c)
32634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * (vector short)__b + (vector short)__c;
32654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector unsigned short __a, vector short __b, vector short __c)
32694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a * __b + __c;
32714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
32744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mladd(vector unsigned short __a,
32754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __b,
32764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __c)
32774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
32794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmladduhm */
32824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector short __a, vector short __b, vector short __c)
32854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
32874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector short __a, vector unsigned short __b, vector unsigned short __c)
32914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * (vector short)__b + (vector short)__c;
32934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
32944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
32954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
32964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector unsigned short __a, vector short __b, vector short __c)
32974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
32984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a * __b + __c;
32994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
33024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmladduhm(vector unsigned short __a,
33034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector unsigned short __b,
33044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie              vector unsigned short __c)
33054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a * __b + __c;
33074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mradds */
33104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
33124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mradds(vector short __a, vector short __b, vector short __c)
33134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhraddshs(__a, __b, __c);
33154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmhraddshs */
33184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
33204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmhraddshs(vector short __a, vector short __b, vector short __c)
33214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmhraddshs(__a, __b, __c);
33234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_msum */
33264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
33284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector signed char __a, vector unsigned char __b, vector int __c)
33294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsummbm(__a, __b, __c);
33314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
33344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector unsigned char __a, vector unsigned char __b, vector unsigned int __c)
33354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumubm(__a, __b, __c);
33374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
33404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector short __a, vector short __b, vector int __c)
33414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshm(__a, __b, __c);
33434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
33464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msum(vector unsigned short __a,
33474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __b,
33484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned int __c)
33494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhm(__a, __b, __c);
33514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsummbm */
33544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
33564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsummbm(vector signed char __a, vector unsigned char __b, vector int __c)
33574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsummbm(__a, __b, __c);
33594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumubm */
33624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
33644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumubm(vector unsigned char __a,
33654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned char __b,
33664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned int __c)
33674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumubm(__a, __b, __c);
33694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumshm */
33724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
33744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumshm(vector short __a, vector short __b, vector int __c)
33754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshm(__a, __b, __c);
33774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumuhm */
33804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
33824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumuhm(vector unsigned short __a,
33834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned short __b,
33844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned int __c)
33854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhm(__a, __b, __c);
33874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_msums */
33904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
33924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msums(vector short __a, vector short __b, vector int __c)
33934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
33944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshs(__a, __b, __c);
33954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
33964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
33974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
33984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_msums(vector unsigned short __a,
33994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __b,
34004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned int __c)
34014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhs(__a, __b, __c);
34034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumshs */
34064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
34084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumshs(vector short __a, vector short __b, vector int __c)
34094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumshs(__a, __b, __c);
34114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumuhs */
34144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
34164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmsumuhs(vector unsigned short __a,
34174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned short __b,
34184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie             vector unsigned int __c)
34194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmsumuhs(__a, __b, __c);
34214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mtvscr */
34244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector signed char __a)
34274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector unsigned char __a)
34334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector bool char __a)
3439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3442a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3443a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector short __a)
34454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector unsigned short __a)
34514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector bool short __a)
3457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector pixel __a)
3463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3465a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3466a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3467a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector int __a)
34694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector unsigned int __a)
34754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
34804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector bool int __a)
3481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
34824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
3483a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3484a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3485a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
34864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mtvscr(vector float __a)
34874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
34884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_mtvscr((vector int)__a);
34894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
34904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3491ef8225444452a1486bd721f3285301fe84643b00Stephen Hines/* The vmulos* and vmules* instructions have a big endian bias, so
3492ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   we must reverse the meaning of "even" and "odd" for little endian.  */
3493ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
34944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mule */
34954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
34964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
34974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector signed char __a, vector signed char __b)
34984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3499ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3500ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulosb(__a, __b);
3501ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesb(__a, __b);
3503ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
35074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector unsigned char __a, vector unsigned char __b)
35084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3509ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3510ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmuloub(__a, __b);
3511ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleub(__a, __b);
3513ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
35174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector short __a, vector short __b)
35184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3519ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3520ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulosh(__a, __b);
3521ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesh(__a, __b);
3523ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
35274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mule(vector unsigned short __a, vector unsigned short __b)
35284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3529ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3530ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulouh(__a, __b);
3531ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleuh(__a, __b);
3533ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulesb */
35374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
35394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulesb(vector signed char __a, vector signed char __b)
35404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3541ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3542ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulosb(__a, __b);
3543ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesb(__a, __b);
3545ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuleub */
35494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
35514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmuleub(vector unsigned char __a, vector unsigned char __b)
35524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3553ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3554ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmuloub(__a, __b);
3555ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleub(__a, __b);
3557ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulesh */
35614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
35634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulesh(vector short __a, vector short __b)
35644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3565ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3566ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulosh(__a, __b);
3567ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulesh(__a, __b);
3569ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuleuh */
35734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
35754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmuleuh(vector unsigned short __a, vector unsigned short __b)
35764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3577ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3578ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulouh(__a, __b);
3579ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuleuh(__a, __b);
3581ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mulo */
35854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
35874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector signed char __a, vector signed char __b)
35884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3589ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3590ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulesb(__a, __b);
3591ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
35924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosb(__a, __b);
3593ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
35944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
35954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
35964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
35974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector unsigned char __a, vector unsigned char __b)
35984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3599ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3600ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmuleub(__a, __b);
3601ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
36024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuloub(__a, __b);
3603ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
36044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
36074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector short __a, vector short __b)
36084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3609ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3610ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulesh(__a, __b);
3611ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
36124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosh(__a, __b);
3613ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
36144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
36174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_mulo(vector unsigned short __a, vector unsigned short __b)
36184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3619ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3620ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmuleuh(__a, __b);
3621ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
36224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulouh(__a, __b);
3623ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
36244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulosb */
36274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__))
36294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulosb(vector signed char __a, vector signed char __b)
36304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3631ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3632ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulesb(__a, __b);
3633ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
36344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosb(__a, __b);
3635ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
36364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuloub */
36394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
36414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmuloub(vector unsigned char __a, vector unsigned char __b)
36424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3643ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3644ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmuleub(__a, __b);
3645ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
36464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmuloub(__a, __b);
3647ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
36484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulosh */
36514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
36534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulosh(vector short __a, vector short __b)
36544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3655ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3656ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmulesh(__a, __b);
3657ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
36584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulosh(__a, __b);
3659ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
36604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulouh */
36634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
36654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vmulouh(vector unsigned short __a, vector unsigned short __b)
36664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
3667ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
3668ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vmuleuh(__a, __b);
3669ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
36704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vmulouh(__a, __b);
3671ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
36724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_nmsub */
36754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
36774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nmsub(vector float __a, vector float __b, vector float __c)
36784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vnmsubfp(__a, __b, __c);
36804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vnmsubfp */
36834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
36854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnmsubfp(vector float __a, vector float __b, vector float __c)
36864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vnmsubfp(__a, __b, __c);
36884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_nor */
36914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vnor vec_nor
36934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
36944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
36954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector signed char __a, vector signed char __b)
36964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
36974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
36984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
36994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
37014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector unsigned char __a, vector unsigned char __b)
37024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3706a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
37074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector bool char __a, vector bool char __b)
3708a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3710a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3711a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
37134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector short __a, vector short __b)
37144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
37194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector unsigned short __a, vector unsigned short __b)
37204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3724a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
37254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector bool short __a, vector bool short __b)
3726a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3728a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3729a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
37314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector int __a, vector int __b)
37324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
37374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector unsigned int __a, vector unsigned int __b)
37384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3742a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
37434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector bool int __a, vector bool int __b)
3744a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3746a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3747a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
37494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_nor(vector float __a, vector float __b)
37504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
37524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
37534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vnor */
37564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
37584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector signed char __a, vector signed char __b)
37594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
37644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector unsigned char __a, vector unsigned char __b)
37654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3769a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
37704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector bool char __a, vector bool char __b)
3771a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3773a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3774a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
37764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector short __a, vector short __b)
37774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
37824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector unsigned short __a, vector unsigned short __b)
37834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3787a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
37884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector bool short __a, vector bool short __b)
3789a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
37904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3791a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3792a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
37934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
37944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector int __a, vector int __b)
37954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
37964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
37974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
37984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
37994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
38004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector unsigned int __a, vector unsigned int __b)
38014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
38034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3805a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
38064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector bool int __a, vector bool int __b)
3807a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return ~(__a | __b);
3809a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
38124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vnor(vector float __a, vector float __b)
38134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = ~((vector unsigned int)__a | (vector unsigned int)__b);
38154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
38164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
38184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_or */
38194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
38204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vor vec_or
38214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
38224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
38234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector signed char __a, vector signed char __b)
38244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
38264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3828a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
38294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool char __a, vector signed char __b)
3830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a | __b;
3832a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3833a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3834a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
38354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector signed char __a, vector bool char __b)
3836a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector signed char)__b;
3838a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3839a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
38414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned char __a, vector unsigned char __b)
38424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
38444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3846a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
38474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool char __a, vector unsigned char __b)
3848a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a | __b;
3850a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3851a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3852a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
38534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned char __a, vector bool char __b)
3854a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned char)__b;
3856a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3857a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3858a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
38594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool char __a, vector bool char __b)
3860a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3862a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3863a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
38654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector short __a, vector short __b)
38664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
38684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3870a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
38714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool short __a, vector short __b)
3872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a | __b;
3874a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3875a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3876a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
38774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector short __a, vector bool short __b)
3878a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector short)__b;
3880a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3881a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
38824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
38834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned short __a, vector unsigned short __b)
38844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
38854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
38864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
38874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3888a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
38894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool short __a, vector unsigned short __b)
3890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a | __b;
3892a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3893a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3894a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
38954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned short __a, vector bool short __b)
3896a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
38974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned short)__b;
3898a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3899a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3900a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
39014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool short __a, vector bool short __b)
3902a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3904a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
39074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector int __a, vector int __b)
39084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3912a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
39134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector int __b)
3914a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a | __b;
3916a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3917a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3918a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
39194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector int __a, vector bool int __b)
3920a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector int)__b;
3922a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3923a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
39254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned int __a, vector unsigned int __b)
39264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3930a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
39314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector unsigned int __b)
3932a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a | __b;
3934a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3935a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3936a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
39374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector unsigned int __a, vector bool int __b)
3938a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned int)__b;
3940a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3941a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3942a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
39434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector bool int __b)
3944a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
3946a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3947a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
39494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector float __a, vector float __b)
39504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
39524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
39534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3955a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
39564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector bool int __a, vector float __b)
3957a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
39594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
3960a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3961a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3962a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
39634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_or(vector float __a, vector bool int __b)
3964a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
39664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
3967a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3968a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vor */
39704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
39714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
39724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector signed char __a, vector signed char __b)
39734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3977a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
39784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool char __a, vector signed char __b)
3979a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a | __b;
3981a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3982a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
3983a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
39844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector signed char __a, vector bool char __b)
3985a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector signed char)__b;
3987a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
3988a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
39894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
39904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned char __a, vector unsigned char __b)
39914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
39924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
39934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
39944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
3995a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
39964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool char __a, vector unsigned char __b)
3997a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
39984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a | __b;
3999a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4000a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4001a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
40024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned char __a, vector bool char __b)
4003a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned char)__b;
4005a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4006a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4007a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
40084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool char __a, vector bool char __b)
4009a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
4011a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4012a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
40144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector short __a, vector short __b)
40154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
40174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
40204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool short __a, vector short __b)
4021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a | __b;
4023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4024a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4025a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
40264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector short __a, vector bool short __b)
4027a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector short)__b;
4029a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4030a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
40324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned short __a, vector unsigned short __b)
40334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
40354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
40384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool short __a, vector unsigned short __b)
4039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a | __b;
4041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4042a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
40444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned short __a, vector bool short __b)
4045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned short)__b;
4047a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4048a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4049a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
40504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool short __a, vector bool short __b)
4051a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
4053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4054a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
40564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector int __a, vector int __b)
40574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
40594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4061a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
40624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector int __b)
4063a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a | __b;
4065a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4066a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4067a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
40684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector int __a, vector bool int __b)
4069a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector int)__b;
4071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4072a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
40744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned int __a, vector unsigned int __b)
40754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
40764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
40774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
40784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4079a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
40804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector unsigned int __b)
4081a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a | __b;
4083a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4084a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4085a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
40864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector unsigned int __a, vector bool int __b)
4087a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | (vector unsigned int)__b;
4089a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4090a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4091a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
40924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector bool int __b)
4093a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
40944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a | __b;
4095a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4096a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
40974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
40984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector float __a, vector float __b)
40994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
41004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
41014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
41024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4104a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
41054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector bool int __a, vector float __b)
4106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
41074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
41084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
4109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
41124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vor(vector float __a, vector bool int __b)
4113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
41144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a | (vector unsigned int)__b;
41154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
4116a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4117a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
41184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_pack */
41194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4120ef8225444452a1486bd721f3285301fe84643b00Stephen Hines/* The various vector pack instructions have a big-endian bias, so for
4121ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   little endian we must handle reversed element numbering.  */
4122ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
41234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
41244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector signed short __a, vector signed short __b)
41254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4126ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4127ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
4128ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4129ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4130ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
41314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
41324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
41334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4134ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
41354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
41384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector unsigned short __a, vector unsigned short __b)
41394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4140ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4141ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
4142ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4143ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4144ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
41454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
41464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
41474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4148ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
41494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4151f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
41524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector bool short __a, vector bool short __b)
4153f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4154ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4155ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4156ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4157ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4158ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
41594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4160f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4161f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4162ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4163f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4164f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
41654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
41664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector int __a, vector int __b)
41674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4168ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4169ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector short)vec_perm(__a, __b, (vector unsigned char)
4170ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4171ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4172ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
41734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)vec_perm(__a, __b, (vector unsigned char)
41744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
41754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4176ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
41774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
41794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
41804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector unsigned int __a, vector unsigned int __b)
41814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4182ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4183ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
4184ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4185ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4186ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
41874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
41884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
41894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4190ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
41914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
41924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4193f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
41944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_pack(vector bool int __a, vector bool int __b)
4195f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4196ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4197ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4198ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4199ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4200ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
42014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4202f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4203f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4204ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4205f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4206f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
42074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuhum */
42084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vpkuhum vec_vpkuhum
42104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
42124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhum(vector signed short __a, vector signed short __b)
42134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4214ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4215ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
4216ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4217ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4218ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
42194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)vec_perm(__a, __b, (vector unsigned char)
42204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
42214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4222ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
42234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
42264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhum(vector unsigned short __a, vector unsigned short __b)
42274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4228ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4229ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
4230ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4231ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4232ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
42334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)vec_perm(__a, __b, (vector unsigned char)
42344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
42354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4236ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
42374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4239f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
42404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhum(vector bool short __a, vector bool short __b)
4241f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4242ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4243ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4244ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E,
4245ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E));
4246ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
42474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)vec_perm(__a, __b, (vector unsigned char)
4248f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F,
4249f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F));
4250ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4251f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4252f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
42534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuwum */
42544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vpkuwum vec_vpkuwum
42564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
42584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwum(vector int __a, vector int __b)
42594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4260ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4261ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector short)vec_perm(__a, __b, (vector unsigned char)
4262ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4263ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4264ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
42654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)vec_perm(__a, __b, (vector unsigned char)
42664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
42674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4268ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
42694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
42714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
42724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwum(vector unsigned int __a, vector unsigned int __b)
42734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4274ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4275ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
4276ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4277ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4278ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
42794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)vec_perm(__a, __b, (vector unsigned char)
42804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
42814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4282ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
42834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
42844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4285f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
42864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwum(vector bool int __a, vector bool int __b)
4287f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4288ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4289ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4290ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (0x00, 0x01, 0x04, 0x05, 0x08, 0x09, 0x0C, 0x0D,
4291ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     0x10, 0x11, 0x14, 0x15, 0x18, 0x19, 0x1C, 0x1D));
4292ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
42934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)vec_perm(__a, __b, (vector unsigned char)
4294f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev    (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F,
4295f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev     0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F));
4296ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4297f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4298f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
42994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packpx */
43004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector pixel __attribute__((__always_inline__))
43024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packpx(vector unsigned int __a, vector unsigned int __b)
43034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4304ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4305ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
4306ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
4308ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkpx */
43124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector pixel __attribute__((__always_inline__))
43144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkpx(vector unsigned int __a, vector unsigned int __b)
43154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4316ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4317ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector pixel)__builtin_altivec_vpkpx(__b, __a);
4318ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vpkpx(__a, __b);
4320ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packs */
43244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
43264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector short __a, vector short __b)
43274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4328ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4329ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkshss(__b, __a);
4330ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshss(__a, __b);
4332ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
43364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector unsigned short __a, vector unsigned short __b)
43374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4338ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4339ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuhus(__b, __a);
4340ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
4342ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai
43464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector int __a, vector int __b)
43474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4348ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4349ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkswss(__b, __a);
4350ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswss(__a, __b);
4352ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
43564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packs(vector unsigned int __a, vector unsigned int __b)
43574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4358ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4359ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuwus(__b, __a);
4360ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
4362ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkshss */
43664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __attribute__((__always_inline__))
43684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkshss(vector short __a, vector short __b)
43694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4370ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4371ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkshss(__b, __a);
4372ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshss(__a, __b);
4374ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuhus */
43784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __attribute__((__always_inline__))
43804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuhus(vector unsigned short __a, vector unsigned short __b)
43814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4382ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4383ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuhus(__b, __a);
4384ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
4386ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
43884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkswss */
43904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
43914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__))
43924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkswss(vector int __a, vector int __b)
43934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4394ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4395ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkswss(__b, __a);
4396ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
43974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswss(__a, __b);
4398ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
43994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuwus */
44024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__))
44044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkuwus(vector unsigned int __a, vector unsigned int __b)
44054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4406ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4407ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuwus(__b, __a);
4408ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
4410ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packsu */
44144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
44164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector short __a, vector short __b)
44174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4418ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4419ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkshus(__b, __a);
4420ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshus(__a, __b);
4422ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
44264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector unsigned short __a, vector unsigned short __b)
44274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4428ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4429ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuhus(__b, __a);
4430ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
4432ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
44364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector int __a, vector int __b)
44374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4438ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4439ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkswus(__b, __a);
4440ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswus(__a, __b);
4442ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
44464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_packsu(vector unsigned int __a, vector unsigned int __b)
44474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4448ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4449ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuwus(__b, __a);
4450ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
4452ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkshus */
44564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
44584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkshus(vector short __a, vector short __b)
44594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4460ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4461ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkshus(__b, __a);
4462ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkshus(__a, __b);
4464ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
44684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkshus(vector unsigned short __a, vector unsigned short __b)
44694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4470ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4471ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuhus(__b, __a);
4472ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuhus(__a, __b);
4474ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkswus */
44784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
44804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkswus(vector int __a, vector int __b)
44814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4482ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4483ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkswus(__b, __a);
4484ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkswus(__a, __b);
4486ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
44904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vpkswus(vector unsigned int __a, vector unsigned int __b)
44914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4492ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4493ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vpkuwus(__b, __a);
4494ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
44954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vpkuwus(__a, __b);
4496ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
44974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
44984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
44994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_perm */
45004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4501ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// The vperm instruction is defined architecturally with a big-endian bias.
4502ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// For little endian, we swap the input operands and invert the permute
4503ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// control vector.  Only the rightmost 5 bits matter, so we could use
4504ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// a vector of all 31s instead of all 255s to perform the inversion.
4505ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// However, when the PCV is not a constant, using 255 has an advantage
4506ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// in that the vec_xor can be recognized as a vec_nor (and for P8 and
4507ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// later, possibly a vec_nand).
4508ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
45094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector signed char __ATTRS_o_ai
45104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
45114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4512ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4513ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4514ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4515ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4516ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector signed char)
4517ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4518ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
45193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
45204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4521ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
45224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned char __ATTRS_o_ai
45254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned char __a,
45264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __b,
45274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __c)
45284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4529ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4530ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4531ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4532ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4533ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned char)
4534ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4535ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
45363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
45374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4538ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
45394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4541f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool char __ATTRS_o_ai
45424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4543f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4544ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4545ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4546ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4547ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4548ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool char)
4549ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4550ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
45513ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool char)
45524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4553ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4554f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4555f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
45564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector short __ATTRS_o_ai
45574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector short __a, vector short __b, vector unsigned char __c)
45584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4559ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4560ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4561ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4562ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4563ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector short)
4564ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4565ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
45663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector short)
45674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4568ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
45694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
45714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned short __ATTRS_o_ai
45724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned short __a,
45734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __b,
45744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned char __c)
45754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4576ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4577ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4578ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4579ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4580ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned short)
4581ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4582ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
45833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
45844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4585ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
45864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
45874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4588f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool short __ATTRS_o_ai
45894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4590f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4591ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4592ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4593ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4594ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4595ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool short)
4596ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4597ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
45983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool short)
45994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4600ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4601f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4602f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
4603f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector pixel __ATTRS_o_ai
46044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4605f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4606ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4607ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4608ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4609ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4610ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector pixel)
4611ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4612ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
46133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector pixel)
46144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4615ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4616f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4617f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
46184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector int __ATTRS_o_ai
46194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector int __a, vector int __b, vector unsigned char __c)
46204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4621ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4622ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4623ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4624ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4625ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector int)__builtin_altivec_vperm_4si(__b, __a, __d);
4626ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
46274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vperm_4si(__a, __b, __c);
4628ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
46294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
46314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned int __ATTRS_o_ai
46324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
46334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4634ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4635ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4636ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4637ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4638ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)
4639ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4640ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
46413ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
46424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4643ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
46444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4646f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool int __ATTRS_o_ai
46474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4648f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4649ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4650ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4651ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4652ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4653ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool int)
4654ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4655ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
46563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector bool int)
46574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4658ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
4659f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4660f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
46614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector float __ATTRS_o_ai
46624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_perm(vector float __a, vector float __b, vector unsigned char __c)
46634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4664ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
4665ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector unsigned char __d = {255,255,255,255,255,255,255,255,
4666ef8225444452a1486bd721f3285301fe84643b00Stephen Hines                              255,255,255,255,255,255,255,255};
4667ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __d = vec_xor(__c, __d);
4668ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector float)
4669ef8225444452a1486bd721f3285301fe84643b00Stephen Hines           __builtin_altivec_vperm_4si((vector int)__b, (vector int)__a, __d);
4670ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
46713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector float)
46724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vperm_4si((vector int)__a, (vector int)__b, __c);
4673ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
46744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
46764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vperm */
46774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
467860c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector signed char __ATTRS_o_ai
46794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector signed char __a, vector signed char __b, vector unsigned char __c)
46804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4681ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
46824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
468460c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector unsigned char __ATTRS_o_ai
46854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector unsigned char __a,
46864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned char __b,
46874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned char __c)
46884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4689ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
46904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
46914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
469260c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector bool char __ATTRS_o_ai
46934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector bool char __a, vector bool char __b, vector unsigned char __c)
4694f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4695ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
4696f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4697f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
469860c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector short __ATTRS_o_ai
46994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector short __a, vector short __b, vector unsigned char __c)
47004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4701ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
47024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
470460c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector unsigned short __ATTRS_o_ai
47054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector unsigned short __a,
47064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned short __b,
47074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie          vector unsigned char __c)
47084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4709ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
47104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
471260c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector bool short __ATTRS_o_ai
47134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector bool short __a, vector bool short __b, vector unsigned char __c)
4714f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4715ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
4716f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4717f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
471860c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector pixel __ATTRS_o_ai
47194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector pixel __a, vector pixel __b, vector unsigned char __c)
4720f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4721ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
4722f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4723f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
472460c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector int __ATTRS_o_ai
47254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector int __a, vector int __b, vector unsigned char __c)
47264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4727ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
47284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
473060c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector unsigned int __ATTRS_o_ai
47314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector unsigned int __a, vector unsigned int __b, vector unsigned char __c)
47324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4733ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
47344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
473660c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector bool int __ATTRS_o_ai
47374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector bool int __a, vector bool int __b, vector unsigned char __c)
4738f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
4739ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
4740f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
4741f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
474260c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector float __ATTRS_o_ai
47434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vperm(vector float __a, vector float __b, vector unsigned char __c)
47444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
4745ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, __c);
47464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_re */
47494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
475060c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector float __attribute__((__always_inline__))
47514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_re(vector float __a)
47524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrefp(__a);
47544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrefp */
47574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
475860c158a5e5827ed030b7cf8885f099cded563a6fUlrich Weigandstatic vector float __attribute__((__always_inline__))
47594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrefp(vector float __a)
47604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrefp(__a);
47624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_rl */
47654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
47674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector signed char __a, vector unsigned char __b)
47684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
47704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
47734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector unsigned char __a, vector unsigned char __b)
47744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
47764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
47794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector short __a, vector unsigned short __b)
47804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlh(__a, __b);
47824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
47854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector unsigned short __a, vector unsigned short __b)
47864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
47884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
47914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector int __a, vector unsigned int __b)
47924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlw(__a, __b);
47944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
47954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
47964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
47974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rl(vector unsigned int __a, vector unsigned int __b)
47984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
47994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
48004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlb */
48034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
48054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlb(vector signed char __a, vector unsigned char __b)
48064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vrlb((vector char)__a, __b);
48084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
48114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlb(vector unsigned char __a, vector unsigned char __b)
48124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vrlb((vector char)__a, __b);
48144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlh */
48174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
48194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlh(vector short __a, vector unsigned short __b)
48204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlh(__a, __b);
48224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
48254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlh(vector unsigned short __a, vector unsigned short __b)
48264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vrlh((vector short)__a, __b);
48284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlw */
48314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
48334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlw(vector int __a, vector unsigned int __b)
48344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrlw(__a, __b);
48364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
48394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrlw(vector unsigned int __a, vector unsigned int __b)
48404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vrlw((vector int)__a, __b);
48424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_round */
48454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
48474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_round(vector float __a)
48484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfin(__a);
48504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfin */
48534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
48554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfin(vector float __a)
48564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfin(__a);
48584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_rsqrte */
48614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic __vector float __attribute__((__always_inline__))
48634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_rsqrte(vector float __a)
48644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrsqrtefp(__a);
48664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrsqrtefp */
48694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic __vector float __attribute__((__always_inline__))
48714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrsqrtefp(vector float __a)
48724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrsqrtefp(__a);
48744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sel */
48774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsel_4si vec_sel
48794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
48804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
48814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector signed char __a, vector signed char __b, vector unsigned char __c)
48824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
48844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4886a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
48874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector signed char __a, vector signed char __b, vector bool char __c)
4888a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
48894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
4890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4891a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
48924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
48934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
48944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
48954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
48964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
48974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4898a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
48994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
4900a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
4902a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4903a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4904a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
49054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool char __a, vector bool char __b, vector unsigned char __c)
4906a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
4908a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4909a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
49114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool char __a, vector bool char __b, vector bool char __c)
4912a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4914a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4915a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4916a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
49174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector short __a, vector short __b, vector unsigned short __c)
4918a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
4920a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4921a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4922a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
49234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector short __a, vector short __b, vector bool short __c)
49244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
49264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
49284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
49294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned short __a,
49304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie        vector unsigned short __b,
49314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie        vector unsigned short __c)
49324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
49344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4936a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
49374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
4938a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
4940a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4941a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4942a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
49434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool short __a, vector bool short __b, vector unsigned short __c)
4944a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
4946a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4947a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4948a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
49494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool short __a, vector bool short __b, vector bool short __c)
4950a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4952a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4953a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
49544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
49554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector int __a, vector int __b, vector unsigned int __c)
49564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
49584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4960a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
49614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector int __a, vector int __b, vector bool int __c)
4962a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
4964a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4965a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
49664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
49674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
49684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
49704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4972a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
49734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
4974a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
4976a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4977a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4978a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
49794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool int __a, vector bool int __b, vector unsigned int __c)
4980a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
4982a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4983a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
4984a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
49854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector bool int __a, vector bool int __b, vector bool int __c)
4986a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
49874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
4988a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
4989a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
49904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
49914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector float __a, vector float __b, vector unsigned int __c)
49924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
49934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
49944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
49954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
49964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
49974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
4998a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
49994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sel(vector float __a, vector float __b, vector bool int __c)
5000a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
50024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
50034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
5004a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5005a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
50064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsel */
50074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
50084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
50094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector signed char __a, vector signed char __b, vector unsigned char __c)
50104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
50124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5014a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
50154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector signed char __a, vector signed char __b, vector bool char __c)
5016a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector signed char)__c) | (__b & (vector signed char)__c);
5018a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
50204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
50214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned char __a, vector unsigned char __b, vector unsigned char __c)
50224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
50244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5026a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
50274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned char __a, vector unsigned char __b, vector bool char __c)
5028a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned char)__c) | (__b & (vector unsigned char)__c);
5030a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5031a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5032a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
50334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool char __a, vector bool char __b, vector unsigned char __c)
5034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool char)__c) | (__b & (vector bool char)__c);
5036a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5038a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
50394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool char __a, vector bool char __b, vector bool char __c)
5040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
5042a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
50444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
50454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector short __a, vector short __b, vector unsigned short __c)
50464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
50484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5050a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
50514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector short __a, vector short __b, vector bool short __c)
5052a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector short)__c) | (__b & (vector short)__c);
5054a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5055a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
50564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
50574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned short __a,
50584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __b,
50594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie         vector unsigned short __c)
50604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
50624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5064a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
50654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned short __a, vector unsigned short __b, vector bool short __c)
5066a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned short)__c) | (__b & (vector unsigned short)__c);
5068a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5069a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5070a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
50714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool short __a, vector bool short __b, vector unsigned short __c)
5072a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool short)__c) | (__b & (vector bool short)__c);
5074a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5075a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
50774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool short __a, vector bool short __b, vector bool short __c)
5078a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
5080a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5081a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
50824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
50834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector int __a, vector int __b, vector unsigned int __c)
50844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
50864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5088a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
50894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector int __a, vector int __b, vector bool int __c)
5090a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
50914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector int)__c) | (__b & (vector int)__c);
5092a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5093a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
50944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
50954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned int __a, vector unsigned int __b, vector unsigned int __c)
50964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
50974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
50984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
50994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5100a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
51014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector unsigned int __a, vector unsigned int __b, vector bool int __c)
5102a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector unsigned int)__c) | (__b & (vector unsigned int)__c);
5104a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5105a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
51074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool int __a, vector bool int __b, vector unsigned int __c)
5108a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~(vector bool int)__c) | (__b & (vector bool int)__c);
5110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
51134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector bool int __a, vector bool int __b, vector bool int __c)
5114a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (__a & ~__c) | (__b & __c);
5116a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5117a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
51184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
51194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector float __a, vector float __b, vector unsigned int __c)
51204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
51224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
51234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
51244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5126a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
51274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsel(vector float __a, vector float __b, vector bool int __c)
5128a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
51294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = ((vector int)__a & ~(vector int)__c)
51304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                   | ((vector int)__b & (vector int)__c);
51314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
5132a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
51344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sl */
51354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
51374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector signed char __a, vector unsigned char __b)
51384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << (vector signed char)__b;
51404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
51434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector unsigned char __a, vector unsigned char __b)
51444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << __b;
51464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
51494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector short __a, vector unsigned short __b)
51504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << (vector short)__b;
51524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
51554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector unsigned short __a, vector unsigned short __b)
51564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << __b;
51584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
51614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector int __a, vector unsigned int __b)
51624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << (vector int)__b;
51644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
51674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sl(vector unsigned int __a, vector unsigned int __b)
51684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a << __b;
51704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslb */
51734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslb vec_vslb
51754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
51774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslb(vector signed char __a, vector unsigned char __b)
51784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
51804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
51834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslb(vector unsigned char __a, vector unsigned char __b)
51844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
51864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslh */
51894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslh vec_vslh
51914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
51934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslh(vector short __a, vector unsigned short __b)
51944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
51954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
51964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
51974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
51984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
51994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslh(vector unsigned short __a, vector unsigned short __b)
52004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
52024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslw */
52054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslw vec_vslw
52074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
52094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslw(vector int __a, vector unsigned int __b)
52104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
52124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
52154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslw(vector unsigned int __a, vector unsigned int __b)
52164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
52174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_sl(__a, __b);
52184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sld */
52214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsldoi_4si vec_sld
52234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
52254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector signed char __a, vector signed char __b, unsigned char __c)
52264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5227ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5228ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5229ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5230ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5231ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
52324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
52334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
52344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5235ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
52364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
52394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
52404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5241ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5242ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5243ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5244ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5245ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
52464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
52474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
52484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5249ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
52504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
52534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector short __a, vector short __b, unsigned char __c)
52544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5255ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5256ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5257ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5258ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5259ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
52604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
52614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
52624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5263ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
52644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
52674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
52684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5269ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5270ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5271ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5272ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5273ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
52744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
52754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
52764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5277ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
5278f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5279f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5280f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
52814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector pixel __a, vector pixel __b, unsigned char __c)
5282f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
5283ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5284ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5285ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5286ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5287ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
52884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
52894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
52904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5291ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
52924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
52934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
52944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
52954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector int __a, vector int __b, unsigned char __c)
52964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5297ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5298ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5299ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5300ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5301ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
53024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
53034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
53044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5305ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
53064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
53094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
53104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5311ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5312ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5313ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5314ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5315ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
53164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
53174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
53184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5319ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
53204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
53234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sld(vector float __a, vector float __b, unsigned char __c)
53244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5325ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5326ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5327ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5328ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5329ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
53304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
53314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
53324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5333ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
53344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsldoi */
53374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
53394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector signed char __a, vector signed char __b, unsigned char __c)
53404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5341ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5342ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5343ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5344ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5345ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
53464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
53474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
53484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5349ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
53504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
53534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector unsigned char __a, vector unsigned char __b, unsigned char __c)
53544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5355ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5356ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5357ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5358ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5359ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
53604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
53614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
53624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5363ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
53644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
53674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector short __a, vector short __b, unsigned char __c)
53684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5369ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5370ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5371ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5372ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5373ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
53744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
53754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
53764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5377ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
53784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
53794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
53804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
53814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector unsigned short __a, vector unsigned short __b, unsigned char __c)
53824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5383ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5384ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5385ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5386ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5387ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
53884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
53894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
53904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5391ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
5392f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
5393f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
5394f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
53954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector pixel __a, vector pixel __b, unsigned char __c)
5396f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
5397ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5398ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5399ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5400ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5401ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
54024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
54034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
54044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5405ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
54064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
54094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector int __a, vector int __b, unsigned char __c)
54104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5411ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5412ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5413ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5414ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5415ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
54164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
54174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
54184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5419ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
54204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
54234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector unsigned int __a, vector unsigned int __b, unsigned char __c)
54244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5425ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5426ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5427ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5428ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5429ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
54304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
54314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
54324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5433ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
54344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
54374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsldoi(vector float __a, vector float __b, unsigned char __c)
54384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
5439ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
5440ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return vec_perm(__a, __b, (vector unsigned char)
5441ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    (__c,   __c-1, __c-2, __c-3, __c-4, __c-5, __c-6, __c-7,
5442ef8225444452a1486bd721f3285301fe84643b00Stephen Hines     __c-8, __c-9, __c-10, __c-11, __c-12, __c-13, __c-14, __c-15));
5443ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
54444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __b, (vector unsigned char)
54454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__c,   __c+1, __c+2,  __c+3,  __c+4,  __c+5,  __c+6,  __c+7,
54464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie     __c+8, __c+9, __c+10, __c+11, __c+12, __c+13, __c+14, __c+15));
5447ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
54484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sll */
54514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
54534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector signed char __a, vector unsigned char __b)
54544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
54564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
54604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector signed char __a, vector unsigned short __b)
54614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
54634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
54674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector signed char __a, vector unsigned int __b)
54684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
54704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
54744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned char __a, vector unsigned char __b)
54754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
54774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
54814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned char __a, vector unsigned short __b)
54824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
54844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
54874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
54884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned char __a, vector unsigned int __b)
54894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
54903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
54914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
54924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
54934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5494a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
54954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool char __a, vector unsigned char __b)
5496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
54974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
55014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool char __a, vector unsigned short __b)
5502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
55074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool char __a, vector unsigned int __b)
5508a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5510a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5511a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
55124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
55134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector short __a, vector unsigned char __b)
55144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
55164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
55194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector short __a, vector unsigned short __b)
55204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
55224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
55254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector short __a, vector unsigned int __b)
55264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
55284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
55314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned short __a, vector unsigned char __b)
55324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
55344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
55354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
55384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned short __a, vector unsigned short __b)
55394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
55414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
55424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
55454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned short __a, vector unsigned int __b)
55464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55473ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
55484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
55494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5551a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
55524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool short __a, vector unsigned char __b)
5553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5555a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5556a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5557a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
55584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool short __a, vector unsigned short __b)
5559a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5561a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5562a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5563a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
55644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool short __a, vector unsigned int __b)
5565a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5567a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5568a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5569a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
55704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector pixel __a, vector unsigned char __b)
5571a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5573a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5574a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5575a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
55764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector pixel __a, vector unsigned short __b)
5577a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5579a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5580a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5581a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
55824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector pixel __a, vector unsigned int __b)
5583a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
55844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5585a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5586a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
55874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
55884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector int __a, vector unsigned char __b)
55894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
55914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
55944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector int __a, vector unsigned short __b)
55954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
55964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
55974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
55984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
55994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
56004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector int __a, vector unsigned int __b)
56014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
56034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
56064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned int __a, vector unsigned char __b)
56074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
56094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
56134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned int __a, vector unsigned short __b)
56144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
56164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
56204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector unsigned int __a, vector unsigned int __b)
56214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56223ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
56234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5626a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
56274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool int __a, vector unsigned char __b)
5628a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
56294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5630a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5631a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5632a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
56334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool int __a, vector unsigned short __b)
5634a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
56354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5636a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5637a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5638a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
56394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sll(vector bool int __a, vector unsigned int __b)
5640a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
56414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5642a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5643a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
56444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsl */
56454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
56474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector signed char __a, vector unsigned char __b)
56484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56493ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
56504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
56544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector signed char __a, vector unsigned short __b)
56554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
56574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
56614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector signed char __a, vector unsigned int __b)
56624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
56644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
56684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned char __a, vector unsigned char __b)
56694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
56714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
56754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned char __a, vector unsigned short __b)
56764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
56784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
56814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
56824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned char __a, vector unsigned int __b)
56834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
56843ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
56854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
56864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
56874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5688a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
56894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool char __a, vector unsigned char __b)
5690a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
56914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5692a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5693a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5694a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
56954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool char __a, vector unsigned short __b)
5696a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
56974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5698a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5699a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5700a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
57014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool char __a, vector unsigned int __b)
5702a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
57034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5704a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5705a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
57064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
57074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector short __a, vector unsigned char __b)
57084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
57104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
57134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector short __a, vector unsigned short __b)
57144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
57164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
57194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector short __a, vector unsigned int __b)
57204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
57224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
57254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned short __a, vector unsigned char __b)
57264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
57284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
57294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
57324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned short __a, vector unsigned short __b)
57334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
57354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
57364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
57394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned short __a, vector unsigned int __b)
57404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57413ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
57424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
57434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5745a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
57464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool short __a, vector unsigned char __b)
5747a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
57484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5749a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5750a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5751a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
57524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool short __a, vector unsigned short __b)
5753a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
57544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5755a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5756a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5757a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
57584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool short __a, vector unsigned int __b)
5759a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
57604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5761a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5763a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
57644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector pixel __a, vector unsigned char __b)
5765a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
57664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5769a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
57704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector pixel __a, vector unsigned short __b)
5771a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
57724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5773a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5774a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5775a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
57764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector pixel __a, vector unsigned int __b)
5777a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
57784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5779a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5780a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
57814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
57824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector int __a, vector unsigned char __b)
57834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
57854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
57884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector int __a, vector unsigned short __b)
57894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
57914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
57944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector int __a, vector unsigned int __b)
57954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
57964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsl(__a, (vector int)__b);
57974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
57984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
57994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
58004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned int __a, vector unsigned char __b)
58014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58023ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
58034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
58044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
58074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned int __a, vector unsigned short __b)
58084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
58104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
58114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
58144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector unsigned int __a, vector unsigned int __b)
58154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
58174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsl((vector int)__a, (vector int)__b);
58184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5820a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
58214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool int __a, vector unsigned char __b)
5822a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
58234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5824a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5825a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
58274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool int __a, vector unsigned short __b)
5828a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
58294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5832a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
58334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsl(vector bool int __a, vector unsigned int __b)
5834a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
58354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsl((vector int)__a, (vector int)__b);
5836a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5837a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
58384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_slo */
58394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
58414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector signed char __a, vector signed char __b)
58424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
58444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
58454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
58484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector signed char __a, vector unsigned char __b)
58494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58503ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
58514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
58524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
58554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned char __a, vector signed char __b)
58564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58573ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
58584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
58594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
58624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned char __a, vector unsigned char __b)
58634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
58654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
58664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
58694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector short __a, vector signed char __b)
58704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
58724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
58754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector short __a, vector unsigned char __b)
58764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
58784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
58814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned short __a, vector signed char __b)
58824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
58844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
58854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
58874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
58884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned short __a, vector unsigned char __b)
58894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
58903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
58914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
58924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
58934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
5894a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
58954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector pixel __a, vector signed char __b)
5896a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
58974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5898a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5899a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
5900a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
59014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector pixel __a, vector unsigned char __b)
5902a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
59034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
5904a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
5905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
59064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
59074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector int __a, vector signed char __b)
59084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
59104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
59134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector int __a, vector unsigned char __b)
59144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
59164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
59194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned int __a, vector signed char __b)
59204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
59224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
59264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector unsigned int __a, vector unsigned char __b)
59274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
59294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
59334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector float __a, vector signed char __b)
59344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
59364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
59394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_slo(vector float __a, vector unsigned char __b)
59404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
59424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslo */
59454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
59474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector signed char __a, vector signed char __b)
59484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59493ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
59504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
59544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector signed char __a, vector unsigned char __b)
59554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
59574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
59614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned char __a, vector signed char __b)
59624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
59644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
59684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned char __a, vector unsigned char __b)
59694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
59714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
59754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector short __a, vector signed char __b)
59764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
59784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
59814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector short __a, vector unsigned char __b)
59824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
59844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
59874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned short __a, vector signed char __b)
59884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59893ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
59904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
59934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
59944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned short __a, vector unsigned char __b)
59954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
59963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
59974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
59984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
59994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6000a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
60014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector pixel __a, vector signed char __b)
6002a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
60034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
6004a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6005a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6006a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
60074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector pixel __a, vector unsigned char __b)
6008a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
60094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
6010a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6011a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
60124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
60134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector int __a, vector signed char __b)
60144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
60164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
60194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector int __a, vector unsigned char __b)
60204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vslo(__a, (vector int)__b);
60224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
60254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned int __a, vector signed char __b)
60264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
60284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
60294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
60324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector unsigned int __a, vector unsigned char __b)
60334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
60354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vslo((vector int)__a, (vector int)__b);
60364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
60394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector float __a, vector signed char __b)
60404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
60424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
60454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vslo(vector float __a, vector unsigned char __b)
60464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vslo((vector int)__a, (vector int)__b);
60484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat */
60514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
60534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector signed char __a, unsigned char __b)
60544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
60564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
60594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector unsigned char __a, unsigned char __b)
60604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
6062f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6063f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6064f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
60654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector bool char __a, unsigned char __b)
6066f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
60674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
60684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
60714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector short __a, unsigned char __b)
60724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
60744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
60754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
60764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
60774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
60784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
60794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
60804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector unsigned short __a, unsigned char __b)
60814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
60824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
60834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
60844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
60854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6086f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6087f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6088f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
60894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector bool short __a, unsigned char __b)
6090f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
60914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
60924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
60934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
60944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6095f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6096f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6097f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
60984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector pixel __a, unsigned char __b)
6099f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
61004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
61014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
61024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
61044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
61074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector int __a, unsigned char __b)
61084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
61104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
61114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
61134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
61164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector unsigned int __a, unsigned char __b)
61174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
61194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
61204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6122f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6123f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6124f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
61254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector bool int __a, unsigned char __b)
6126f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
61274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
61284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
61294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
61314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
61344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat(vector float __a, unsigned char __b)
61354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
61374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
61384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
61404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltb */
61434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltb vec_vspltb
61454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
61474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltb(vector signed char __a, unsigned char __b)
61484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
61504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
61534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltb(vector unsigned char __a, unsigned char __b)
61544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
6156f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6157f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6158f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai
61594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltb(vector bool char __a, unsigned char __b)
6160f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
61614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)(__b));
61624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsplth */
61654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsplth vec_vsplth
61674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
61694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector short __a, unsigned char __b)
61704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
61724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
61734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
61754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
61764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
61774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
61784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector unsigned short __a, unsigned char __b)
61794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
61804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
61814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
61824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6184f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6185f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6186f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai
61874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector bool short __a, unsigned char __b)
6188f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
61894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
61904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
61914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
61924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
6193f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6194f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6195f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai
61964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsplth(vector pixel __a, unsigned char __b)
6197f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
61984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 2;
61994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1;
62004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
62014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1, __b, b1));
62024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltw */
62054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltw vec_vspltw
62074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
62094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector int __a, unsigned char __b)
62104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
62124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
62134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
62144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
62154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
62184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector unsigned int __a, unsigned char __b)
62194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
62214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
62224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
62234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
6224f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev}
6225f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev
6226f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai
62274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector bool int __a, unsigned char __b)
6228f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{
62294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
62304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
62314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
62324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
62334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
62364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltw(vector float __a, unsigned char __b)
62374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b *= 4;
62394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  unsigned char b1=__b+1, b2=__b+2, b3=__b+3;
62404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(__a, __a, (vector unsigned char)
62414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    (__b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3, __b, b1, b2, b3));
62424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s8 */
62454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltisb vec_splat_s8
62474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
62494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
62504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_s8(signed char __a)
62514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)(__a);
62534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltisb */
62564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
62584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
62594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltisb(signed char __a)
62604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)(__a);
62624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s16 */
62654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltish vec_splat_s16
62674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
62694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
62704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_s16(signed char __a)
62714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)(__a);
62734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltish */
62764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
62784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
62794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltish(signed char __a)
62804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)(__a);
62824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s32 */
62854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltisw vec_splat_s32
62874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
62894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
62904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_s32(signed char __a)
62914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
62924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)(__a);
62934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
62944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltisw */
62964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
62974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
62984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
62994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vspltisw(signed char __a)
63004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)(__a);
63024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u8 */
63054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
63074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
63084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_u8(unsigned char __a)
63094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)(__a);
63114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u16 */
63144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
63164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
63174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_u16(signed char __a)
63184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)(__a);
63204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u32 */
63234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal
63254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
63264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splat_u32(signed char __a)
63274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)(__a);
63294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sr */
63324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
63344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector signed char __a, vector unsigned char __b)
63354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector signed char)__b;
63374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
63404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector unsigned char __a, vector unsigned char __b)
63414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
63434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
63464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector short __a, vector unsigned short __b)
63474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector short)__b;
63494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
63524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector unsigned short __a, vector unsigned short __b)
63534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
63554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
63584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector int __a, vector unsigned int __b)
63594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector int)__b;
63614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
63644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sr(vector unsigned int __a, vector unsigned int __b)
63654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
63674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrb */
63704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrb vec_vsrb
63724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
63744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrb(vector signed char __a, vector unsigned char __b)
63754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector signed char)__b;
63774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
63804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrb(vector unsigned char __a, vector unsigned char __b)
63814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
63834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrh */
63864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrh vec_vsrh
63884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
63904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrh(vector short __a, vector unsigned short __b)
63914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector short)__b;
63934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
63944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
63954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
63964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrh(vector unsigned short __a, vector unsigned short __b)
63974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
63984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
63994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrw */
64024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrw vec_vsrw
64044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
64064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrw(vector int __a, vector unsigned int __b)
64074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> (vector int)__b;
64094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
64124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrw(vector unsigned int __a, vector unsigned int __b)
64134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a >> __b;
64154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sra */
64184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
64204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector signed char __a, vector unsigned char __b)
64214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
64234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
64264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector unsigned char __a, vector unsigned char __b)
64274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
64294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
64324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector short __a, vector unsigned short __b)
64334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
64354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
64384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector unsigned short __a, vector unsigned short __b)
64394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
64414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
64444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector int __a, vector unsigned int __b)
64454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsraw(__a, __b);
64474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
64504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sra(vector unsigned int __a, vector unsigned int __b)
64514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
64534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrab */
64564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
64584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrab(vector signed char __a, vector unsigned char __b)
64594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__builtin_altivec_vsrab((vector char)__a, __b);
64614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
64644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrab(vector unsigned char __a, vector unsigned char __b)
64654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__builtin_altivec_vsrab((vector char)__a, __b);
64674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrah */
64704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
64724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrah(vector short __a, vector unsigned short __b)
64734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsrah(__a, (vector unsigned short)__b);
64754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
64784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsrah(vector unsigned short __a, vector unsigned short __b)
64794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__builtin_altivec_vsrah((vector short)__a, __b);
64814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsraw */
64844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
64864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsraw(vector int __a, vector unsigned int __b)
64874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsraw(__a, __b);
64894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
64924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsraw(vector unsigned int __a, vector unsigned int __b)
64934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
64944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__builtin_altivec_vsraw((vector int)__a, __b);
64954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
64964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_srl */
64984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
64994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
65004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector signed char __a, vector unsigned char __b)
65014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65023ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
65034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
65074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector signed char __a, vector unsigned short __b)
65084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
65104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
65144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector signed char __a, vector unsigned int __b)
65154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
65174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
65214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned char __a, vector unsigned char __b)
65224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
65244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
65284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned char __a, vector unsigned short __b)
65294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
65314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
65354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned char __a, vector unsigned int __b)
65364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65373ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
65384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6541a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
65424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool char __a, vector unsigned char __b)
6543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
65444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6546a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
65484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool char __a, vector unsigned short __b)
6549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
65504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6551a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6552a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
65544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool char __a, vector unsigned int __b)
6555a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
65564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6557a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6558a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
65594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
65604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector short __a, vector unsigned char __b)
65614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
65634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
65664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector short __a, vector unsigned short __b)
65674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
65694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
65724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector short __a, vector unsigned int __b)
65734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
65754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
65784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned short __a, vector unsigned char __b)
65794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
65814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
65854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned short __a, vector unsigned short __b)
65864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65873ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
65884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
65914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
65924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned short __a, vector unsigned int __b)
65934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
65943ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
65954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
65964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
65974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6598a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
65994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool short __a, vector unsigned char __b)
66004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
66024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
66054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool short __a, vector unsigned short __b)
66064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
66084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
66114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool short __a, vector unsigned int __b)
66124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
66144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6616a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
66174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector pixel __a, vector unsigned char __b)
6618a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6620a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6621a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6622a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
66234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector pixel __a, vector unsigned short __b)
6624a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6626a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6627a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6628a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
66294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector pixel __a, vector unsigned int __b)
6630a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6632a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6633a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6634a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
66354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector int __a, vector unsigned char __b)
6636a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6638a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6639a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6640a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
66414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector int __a, vector unsigned short __b)
6642a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6644a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6645a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6646a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
66474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector int __a, vector unsigned int __b)
6648a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
6650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6652a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
66534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned int __a, vector unsigned char __b)
66544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
66564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
66574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
66604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned int __a, vector unsigned short __b)
66614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
66634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
66644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
66674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector unsigned int __a, vector unsigned int __b)
66684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
66704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
66714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6673a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
66744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool int __a, vector unsigned char __b)
6675a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6677a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6678a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6679a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
66804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool int __a, vector unsigned short __b)
6681a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6683a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6684a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6685a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
66864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_srl(vector bool int __a, vector unsigned int __b)
6687a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
66884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6689a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6690a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
66914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsr */
66924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
66934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
66944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector signed char __a, vector unsigned char __b)
66954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
66963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
66974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
66984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
66994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
67014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector signed char __a, vector unsigned short __b)
67024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67033ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
67044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
67084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector signed char __a, vector unsigned int __b)
67094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
67114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
67154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned char __a, vector unsigned char __b)
67164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
67184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
67224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned char __a, vector unsigned short __b)
67234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
67254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
67294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned char __a, vector unsigned int __b)
67304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
67324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
67364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool char __a, vector unsigned char __b)
6737a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
67384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6739a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6740a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6741a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
67424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool char __a, vector unsigned short __b)
6743a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
67444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6745a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6746a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6747a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
67484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool char __a, vector unsigned int __b)
6749a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
67504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool char)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6751a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6752a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
67534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
67544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector short __a, vector unsigned char __b)
67554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
67574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
67604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector short __a, vector unsigned short __b)
67614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
67634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
67664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector short __a, vector unsigned int __b)
67674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
67694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
67724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned short __a, vector unsigned char __b)
67734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67743ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
67754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
67794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned short __a, vector unsigned short __b)
67804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67813ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
67824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
67854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
67864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned short __a, vector unsigned int __b)
67874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
67883ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
67894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
67904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
67914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6792a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
67934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool short __a, vector unsigned char __b)
6794a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
67954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6796a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6797a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
67994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool short __a, vector unsigned short __b)
6800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6803a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6804a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
68054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool short __a, vector unsigned int __b)
6806a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6808a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6809a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
68114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector pixel __a, vector unsigned char __b)
6812a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6814a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6815a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6816a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
68174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector pixel __a, vector unsigned short __b)
6818a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6820a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6821a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6822a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
68234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector pixel __a, vector unsigned int __b)
6824a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6827a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
68284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
68294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector int __a, vector unsigned char __b)
68304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
68324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
68354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector int __a, vector unsigned short __b)
68364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
68384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
68414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector int __a, vector unsigned int __b)
68424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsr(__a, (vector int)__b);
68444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
68474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned int __a, vector unsigned char __b)
68484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68493ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
68504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
68514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
68544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned int __a, vector unsigned short __b)
68554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
68574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
68584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
68614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector unsigned int __a, vector unsigned int __b)
68624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
68644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsr((vector int)__a, (vector int)__b);
68654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6867a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
68684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool int __a, vector unsigned char __b)
6869a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6871a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6873a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
68744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool int __a, vector unsigned short __b)
6875a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6877a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6878a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6879a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
68804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsr(vector bool int __a, vector unsigned int __b)
6881a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
68824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vsr((vector int)__a, (vector int)__b);
6883a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6884a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
68854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sro */
68864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
68884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector signed char __a, vector signed char __b)
68894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
68914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
68924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
68934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
68944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
68954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector signed char __a, vector unsigned char __b)
68964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
68973ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
68984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
68994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
69024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned char __a, vector signed char __b)
69034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
69054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
69064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
69094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned char __a, vector unsigned char __b)
69104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
69124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
69134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
69164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector short __a, vector signed char __b)
69174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
69194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
69224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector short __a, vector unsigned char __b)
69234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
69254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
69284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned short __a, vector signed char __b)
69294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
69314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
69324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
69354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned short __a, vector unsigned char __b)
69364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69373ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
69384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
69394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
6941a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
69424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector pixel __a, vector signed char __b)
6943a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
69444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6945a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6946a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
6947a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
69484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector pixel __a, vector unsigned char __b)
6949a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
69504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
6951a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
6952a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
69534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
69544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector int __a, vector signed char __b)
69554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
69574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
69604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector int __a, vector unsigned char __b)
69614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
69634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
69664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned int __a, vector signed char __b)
69674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
69694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
69704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
69734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector unsigned int __a, vector unsigned char __b)
69744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
69764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
69774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
69804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector float __a, vector signed char __b)
69814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
69834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
69864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sro(vector float __a, vector unsigned char __b)
69874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
69894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsro */
69924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
69934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
69944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector signed char __a, vector signed char __b)
69954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
69963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
69974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
69984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
69994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
70014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector signed char __a, vector unsigned char __b)
70024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70033ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector signed char)
70044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
70054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
70084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned char __a, vector signed char __b)
70094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
70114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
70124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
70154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned char __a, vector unsigned char __b)
70164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned char)
70184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
70194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
70224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector short __a, vector signed char __b)
70234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
70254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
70284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector short __a, vector unsigned char __b)
70294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
70314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
70344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned short __a, vector signed char __b)
70354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
70374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
70384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
70414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned short __a, vector unsigned char __b)
70424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned short)
70444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
70454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
7047a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
70484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector pixel __a, vector signed char __b)
7049a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7051a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7052a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai
70544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector pixel __a, vector unsigned char __b)
7055a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
70564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector pixel)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
7057a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7058a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
70594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
70604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector int __a, vector signed char __b)
70614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
70634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
70664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector int __a, vector unsigned char __b)
70674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__builtin_altivec_vsro(__a, (vector int)__b);
70694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
70724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned int __a, vector signed char __b)
70734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70743ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
70754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
70764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
70794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector unsigned int __a, vector unsigned char __b)
70804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70813ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return (vector unsigned int)
70824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie           __builtin_altivec_vsro((vector int)__a, (vector int)__b);
70834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
70864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector float __a, vector signed char __b)
70874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
70894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
70924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsro(vector float __a, vector unsigned char __b)
70934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
70944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__builtin_altivec_vsro((vector int)__a, (vector int)__b);
70954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
70964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_st */
70984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
70994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector signed char __a, int __b, vector signed char *__c)
71014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector signed char __a, int __b, signed char *__c)
71074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned char __a, int __b, vector unsigned char *__c)
71134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned char __a, int __b, unsigned char *__c)
71194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool char __a, int __b, signed char *__c)
71254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool char __a, int __b, unsigned char *__c)
71314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool char __a, int __b, vector bool char *__c)
71374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector short __a, int __b, vector short *__c)
71434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector short __a, int __b, short *__c)
71494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned short __a, int __b, vector unsigned short *__c)
71554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned short __a, int __b, unsigned short *__c)
71614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool short __a, int __b, short *__c)
71674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool short __a, int __b, unsigned short *__c)
71734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool short __a, int __b, vector bool short *__c)
71794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector pixel __a, int __b, short *__c)
71854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector pixel __a, int __b, unsigned short *__c)
71914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
71944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
71954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
71964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector pixel __a, int __b, vector pixel *__c)
71974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
71984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
71994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector int __a, int __b, vector int *__c)
72034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
72054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector int __a, int __b, int *__c)
72094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
72114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned int __a, int __b, vector unsigned int *__c)
72154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector unsigned int __a, int __b, unsigned int *__c)
72214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool int __a, int __b, int *__c)
72274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool int __a, int __b, unsigned int *__c)
72334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector bool int __a, int __b, vector bool int *__c)
72394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector float __a, int __b, vector float *__c)
72454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_st(vector float __a, int __b, float *__c)
72514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
7255a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvx */
7256a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
72574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector signed char __a, int __b, vector signed char *__c)
72594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector signed char __a, int __b, signed char *__c)
72654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned char __a, int __b, vector unsigned char *__c)
72714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned char __a, int __b, unsigned char *__c)
72774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool char __a, int __b, signed char *__c)
72834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool char __a, int __b, unsigned char *__c)
72894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
72944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool char __a, int __b, vector bool char *__c)
72954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
72964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
72974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
72984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
72994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector short __a, int __b, vector short *__c)
73014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector short __a, int __b, short *__c)
73074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned short __a, int __b, vector unsigned short *__c)
73134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned short __a, int __b, unsigned short *__c)
73194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool short __a, int __b, short *__c)
73254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool short __a, int __b, unsigned short *__c)
73314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool short __a, int __b, vector bool short *__c)
73374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector pixel __a, int __b, short *__c)
73434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector pixel __a, int __b, unsigned short *__c)
73494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector pixel __a, int __b, vector pixel *__c)
73554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector int __a, int __b, vector int *__c)
73614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
73634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector int __a, int __b, int *__c)
73674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx(__a, __b, __c);
73694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned int __a, int __b, vector unsigned int *__c)
73734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector unsigned int __a, int __b, unsigned int *__c)
73794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool int __a, int __b, int *__c)
73854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool int __a, int __b, unsigned int *__c)
73914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
73944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
73954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
73964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector bool int __a, int __b, vector bool int *__c)
73974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
73984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
73994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
74004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
74014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector float __a, int __b, vector float *__c)
74034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
74044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
74054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
74064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
74074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvx(vector float __a, int __b, float *__c)
74094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
74104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvx((vector int)__a, __b, __c);
74114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
74124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
7413a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_ste */
7414a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
74154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
74164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector signed char __a, int __b, signed char *__c)
7417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7419a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7421a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector unsigned char __a, int __b, unsigned char *__c)
7423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7425a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool char __a, int __b, signed char *__c)
7429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7431a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7432a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7433a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool char __a, int __b, unsigned char *__c)
7435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector short __a, int __b, short *__c)
7441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx(__a, __b, __c);
7443a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7445a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector unsigned short __a, int __b, unsigned short *__c)
7447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7449a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7450a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7451a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool short __a, int __b, short *__c)
7453a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool short __a, int __b, unsigned short *__c)
7459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector pixel __a, int __b, short *__c)
7465a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7467a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7468a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7469a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector pixel __a, int __b, unsigned short *__c)
7471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7473a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7474a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7475a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector int __a, int __b, int *__c)
7477a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx(__a, __b, __c);
7479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector unsigned int __a, int __b, unsigned int *__c)
7483a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7485a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7486a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7487a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool int __a, int __b, int *__c)
7489a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7491a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7492a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7493a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
74944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector bool int __a, int __b, unsigned int *__c)
7495a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
74964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7497a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_ste(vector float __a, int __b, float *__c)
7501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvebx */
7506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector signed char __a, int __b, signed char *__c)
7509a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7511a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7512a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7513a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector unsigned char __a, int __b, unsigned char *__c)
7515a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7517a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7518a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7519a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector bool char __a, int __b, signed char *__c)
7521a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7523a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7524a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7525a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvebx(vector bool char __a, int __b, unsigned char *__c)
7527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvebx((vector char)__a, __b, __c);
7529a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7530a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7531a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvehx */
7532a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7533a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector short __a, int __b, short *__c)
7535a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx(__a, __b, __c);
7537a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7538a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7539a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector unsigned short __a, int __b, unsigned short *__c)
7541a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7544a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector bool short __a, int __b, short *__c)
7547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7550a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7551a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector bool short __a, int __b, unsigned short *__c)
7553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7555a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7556a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7557a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector pixel __a, int __b, short *__c)
7559a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7561a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7562a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7563a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvehx(vector pixel __a, int __b, unsigned short *__c)
7565a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvehx((vector short)__a, __b, __c);
7567a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7568a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7569a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvewx */
7570a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7571a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector int __a, int __b, int *__c)
7573a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx(__a, __b, __c);
7575a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7576a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7577a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector unsigned int __a, int __b, unsigned int *__c)
7579a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7581a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7582a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7583a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector bool int __a, int __b, int *__c)
7585a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7587a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7588a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7589a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector bool int __a, int __b, unsigned int *__c)
7591a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7593a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7594a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7595a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
75964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvewx(vector float __a, int __b, float *__c)
7597a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
75984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvewx((vector int)__a, __b, __c);
7599a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7600a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stl */
7602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7603a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector signed char __a, int __b, vector signed char *__c)
7605a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7608a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7609a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector signed char __a, int __b, signed char *__c)
7611a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7613a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7614a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7615a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned char __a, int __b, vector unsigned char *__c)
7617a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7619a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7620a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7621a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned char __a, int __b, unsigned char *__c)
7623a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7625a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7626a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7627a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool char __a, int __b, signed char *__c)
7629a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7631a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7632a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7633a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool char __a, int __b, unsigned char *__c)
7635a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7637a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7638a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7639a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool char __a, int __b, vector bool char *__c)
7641a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7643a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7644a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7645a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector short __a, int __b, vector short *__c)
7647a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7649a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector short __a, int __b, short *__c)
7653a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7655a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7656a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7657a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned short __a, int __b, vector unsigned short *__c)
7659a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7661a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7662a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7663a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned short __a, int __b, unsigned short *__c)
7665a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7667a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7668a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7669a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool short __a, int __b, short *__c)
7671a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7673a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7675a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool short __a, int __b, unsigned short *__c)
7677a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7679a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7680a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7681a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool short __a, int __b, vector bool short *__c)
7683a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7685a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7686a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7687a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector pixel __a, int __b, short *__c)
7689a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7691a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7692a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7693a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
76944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector pixel __a, int __b, unsigned short *__c)
7695a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
76964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7697a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7698a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7699a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector pixel __a, int __b, vector pixel *__c)
7701a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7704a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7705a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector int __a, int __b, vector int *__c)
7707a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7709a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7710a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7711a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector int __a, int __b, int *__c)
7713a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7715a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7716a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7717a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned int __a, int __b, vector unsigned int *__c)
77194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
77204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
77214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
77224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector unsigned int __a, int __b, unsigned int *__c)
77254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
77264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
77274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
77284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool int __a, int __b, int *__c)
7731a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7733a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool int __a, int __b, unsigned int *__c)
7737a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7739a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7740a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7741a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector bool int __a, int __b, vector bool int *__c)
7743a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7745a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7746a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7747a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector float __a, int __b, vector float *__c)
77494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
77504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
77514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
77524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stl(vector float __a, int __b, float *__c)
77554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
77564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
77574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
77584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_stvxl */
77604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector signed char __a, int __b, vector signed char *__c)
77634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
77644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
77654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
77664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector signed char __a, int __b, signed char *__c)
77694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
77704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
77714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
77724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned char __a, int __b, vector unsigned char *__c)
77754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{
77764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
77774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov}
77784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
77794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned char __a, int __b, unsigned char *__c)
7781dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
77824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7783dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7784dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
77854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
77864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool char __a, int __b, signed char *__c)
7787a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7789a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7790a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7791a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool char __a, int __b, unsigned char *__c)
7793a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
77944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7795a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7796a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7797a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
77984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool char __a, int __b, vector bool char *__c)
7799a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7801a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7803a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector short __a, int __b, vector short *__c)
7805dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7807dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7808dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector short __a, int __b, short *__c)
7811dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7813dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7814dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned short __a, int __b, vector unsigned short *__c)
7817dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7819dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7820dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned short __a, int __b, unsigned short *__c)
7823dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7825dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7826dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool short __a, int __b, short *__c)
7829a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7832a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7833a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool short __a, int __b, unsigned short *__c)
7835a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7837a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7838a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7839a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool short __a, int __b, vector bool short *__c)
7841a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7843a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7845a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector pixel __a, int __b, short *__c)
7847a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7849a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7850a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7851a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector pixel __a, int __b, unsigned short *__c)
7853a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7855a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7856a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7857a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector pixel __a, int __b, vector pixel *__c)
7859a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7861a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7862a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7863a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector int __a, int __b, vector int *__c)
7865dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7867dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7868dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector int __a, int __b, int *__c)
7871dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl(__a, __b, __c);
7873dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7874dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned int __a, int __b, vector unsigned int *__c)
7877dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7879dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7880dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector unsigned int __a, int __b, unsigned int *__c)
7883dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
78844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7885dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7886dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
78874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
78884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool int __a, int __b, int *__c)
7889a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7891a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7892a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7893a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
78944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool int __a, int __b, unsigned int *__c)
7895a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
78964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7897a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7898a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7899a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
79004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector bool int __a, int __b, vector bool int *__c)
7901a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7903a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7904a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai
79064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector float __a, int __b, vector float *__c)
7907dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7909dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7910dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
79114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai
79124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvxl(vector float __a, int __b, float *__c)
7913dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __builtin_altivec_stvxl((vector int)__a, __b, __c);
7915dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7916dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7917dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_sub */
7918dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
79194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
79204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector signed char __a, vector signed char __b)
7921dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7923dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7924dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7925a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
79264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool char __a, vector signed char __b)
7927a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a - __b;
7929a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7930a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7931a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
79324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector signed char __a, vector bool char __b)
7933a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector signed char)__b;
7935a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7936a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
79384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned char __a, vector unsigned char __b)
7939dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7941dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7942dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7943a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
79444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool char __a, vector unsigned char __b)
7945a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a - __b;
7947a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7948a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7949a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
79504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned char __a, vector bool char __b)
7951a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned char)__b;
7953a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7954a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
79564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector short __a, vector short __b)
7957dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7959dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7960dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7961a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
79624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool short __a, vector short __b)
7963a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a - __b;
7965a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7966a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7967a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
79684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector short __a, vector bool short __b)
7969a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector short)__b;
7971a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7972a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
79744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned short __a, vector unsigned short __b)
7975dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7977dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7978dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7979a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
79804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool short __a, vector unsigned short __b)
7981a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a - __b;
7983a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7984a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
7985a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
79864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned short __a, vector bool short __b)
7987a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
79884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned short)__b;
7989a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
7990a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
79914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
79924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector int __a, vector int __b)
7993dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
79944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
7995dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
7996dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
7997a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
79984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool int __a, vector int __b)
7999a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a - __b;
8001a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8002a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8003a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
80044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector int __a, vector bool int __b)
8005a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector int)__b;
8007a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8008a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
80094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
80104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned int __a, vector unsigned int __b)
8011dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8013dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8014dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
80164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector bool int __a, vector unsigned int __b)
8017a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a - __b;
8019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8020a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
80224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector unsigned int __a, vector bool int __b)
8023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned int)__b;
8025a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8026a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
80274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
80284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sub(vector float __a, vector float __b)
8029dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8031dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8032dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsububm */
8034dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsububm vec_vsububm
8036dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
80384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector signed char __a, vector signed char __b)
8039dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8041dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8042dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
80444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector bool char __a, vector signed char __b)
8045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a - __b;
8047a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8048a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8049a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
80504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector signed char __a, vector bool char __b)
8051a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector signed char)__b;
8053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8054a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
80554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
80564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector unsigned char __a, vector unsigned char __b)
8057dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8059dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8060dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8061a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
80624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector bool char __a, vector unsigned char __b)
8063a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a - __b;
8065a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8066a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8067a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
80684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububm(vector unsigned char __a, vector bool char __b)
8069a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned char)__b;
8071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8072a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
80734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuhm */
8074dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
80754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubuhm vec_vsubuhm
80764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
80774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
80784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector short __a, vector short __b)
8079dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8081dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8082dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8083a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
80844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector bool short __a, vector short __b)
8085a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a - __b;
8087a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8088a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8089a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
80904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector short __a, vector bool short __b)
8091a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
80924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector short)__b;
8093a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8094a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
80954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
80964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector unsigned short __a, vector unsigned short __b)
8097dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
80984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8099dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8100dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8101a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
81024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector bool short __a, vector unsigned short __b)
8103a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a - __b;
8105a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
81084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhm(vector unsigned short __a, vector bool short __b)
8109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned short)__b;
8111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuwm */
8114dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubuwm vec_vsubuwm
8116dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
81184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector int __a, vector int __b)
8119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8121dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8122dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8123a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
81244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector bool int __a, vector int __b)
8125a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a - __b;
8127a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8128a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8129a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
81304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector int __a, vector bool int __b)
8131a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector int)__b;
8133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8134a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
81364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector unsigned int __a, vector unsigned int __b)
8137dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8140dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8141a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
81424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector bool int __a, vector unsigned int __b)
8143a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a - __b;
8145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8146a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8147a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
81484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuwm(vector unsigned int __a, vector bool int __b)
8149a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - (vector unsigned int)__b;
8151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8152a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubfp */
8154dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubfp vec_vsubfp
81564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
81574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
81584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubfp(vector float __a, vector float __b)
8159dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a - __b;
8161dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8162dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_subc */
81644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
81654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
81664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subc(vector unsigned int __a, vector unsigned int __b)
8167dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubcuw(__a, __b);
8169dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8170dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubcuw */
8172dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
81744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubcuw(vector unsigned int __a, vector unsigned int __b)
8175dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubcuw(__a, __b);
8177dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8178dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
81794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_subs */
81804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
81814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
81824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector signed char __a, vector signed char __b)
8183dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
81844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, __b);
8185dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8186dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8187a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
81884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool char __a, vector signed char __b)
8189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
8191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
81944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector signed char __a, vector bool char __b)
8195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
81964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
8197a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8198a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
81994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
82004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned char __a, vector unsigned char __b)
8201dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, __b);
8203dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8204dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8205a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
82064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool char __a, vector unsigned char __b)
8207a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
8209a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8210a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8211a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
82124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned char __a, vector bool char __b)
8213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
8215a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8216a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
82184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector short __a, vector short __b)
8219dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, __b);
8221dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8222dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8223a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
82244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool short __a, vector short __b)
8225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs((vector short)__a, __b);
8227a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
82304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector short __a, vector bool short __b)
8231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, (vector short)__b);
8233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
82364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned short __a, vector unsigned short __b)
8237dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, __b);
8239dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8240dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8241a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
82424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool short __a, vector unsigned short __b)
8243a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
8245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8246a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8247a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
82484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned short __a, vector bool short __b)
8249a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
8251a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8252a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
82544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector int __a, vector int __b)
8255dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, __b);
8257dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8258dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8259a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
82604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool int __a, vector int __b)
8261a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws((vector int)__a, __b);
8263a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8264a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8265a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
82664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector int __a, vector bool int __b)
8267a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, (vector int)__b);
8269a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8270a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
82724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned int __a, vector unsigned int __b)
8273dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, __b);
8275dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8276dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8277a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
82784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector bool int __a, vector unsigned int __b)
8279a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
8281a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8282a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8283a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
82844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_subs(vector unsigned int __a, vector bool int __b)
8285a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
82864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
8287a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8288a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
82894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubsbs */
8290dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
82924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsbs(vector signed char __a, vector signed char __b)
8293dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
82944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, __b);
8295dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8296dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8297a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
82984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsbs(vector bool char __a, vector signed char __b)
8299a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs((vector signed char)__a, __b);
8301a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8302a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8303a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
83044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsbs(vector signed char __a, vector bool char __b)
8305a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsbs(__a, (vector signed char)__b);
8307a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8308a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsububs */
8310dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8311a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
83124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububs(vector unsigned char __a, vector unsigned char __b)
8313dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, __b);
8315dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8316dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8317a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
83184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububs(vector bool char __a, vector unsigned char __b)
8319a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs((vector unsigned char)__a, __b);
8321a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8322a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8323a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
83244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsububs(vector unsigned char __a, vector bool char __b)
8325a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsububs(__a, (vector unsigned char)__b);
8327a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8328a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubshs */
8330dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8331a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
83324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubshs(vector short __a, vector short __b)
8333dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, __b);
8335dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8336dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8337a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
83384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubshs(vector bool short __a, vector short __b)
8339a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs((vector short)__a, __b);
8341a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8342a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8343a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
83444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubshs(vector short __a, vector bool short __b)
8345a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubshs(__a, (vector short)__b);
8347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8348a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuhs */
8350dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
83524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhs(vector unsigned short __a, vector unsigned short __b)
8353dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, __b);
8355dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8356dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
83584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhs(vector bool short __a, vector unsigned short __b)
8359a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs((vector unsigned short)__a, __b);
8361a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8362a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8363a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
83644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuhs(vector unsigned short __a, vector bool short __b)
8365a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuhs(__a, (vector unsigned short)__b);
8367a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8368a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubsws */
8370dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8371a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
83724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsws(vector int __a, vector int __b)
8373dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, __b);
8375dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8376dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8377a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
83784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsws(vector bool int __a, vector int __b)
8379a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws((vector int)__a, __b);
8381a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8382a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8383a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
83844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubsws(vector int __a, vector bool int __b)
8385a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
83864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubsws(__a, (vector int)__b);
8387a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8388a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
83894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuws */
8390dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8391a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
83924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuws(vector unsigned int __a, vector unsigned int __b)
8393dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
83944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, __b);
8395dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8396dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8397a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
83984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuws(vector bool int __a, vector unsigned int __b)
8399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws((vector unsigned int)__a, __b);
8401a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
84044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsubuws(vector unsigned int __a, vector bool int __b)
8405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
84064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsubuws(__a, (vector unsigned int)__b);
8407a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8408a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
84094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sum4s */
8410dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
84124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum4s(vector signed char __a, vector int __b)
8413dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4sbs(__a, __b);
8415dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8416dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
84184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum4s(vector unsigned char __a, vector unsigned int __b)
8419dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4ubs(__a, __b);
8421dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8422dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
84244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum4s(vector signed short __a, vector int __b)
8425dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4shs(__a, __b);
8427dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8428dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4sbs */
8430dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
84324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum4sbs(vector signed char __a, vector int __b)
8433dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4sbs(__a, __b);
8435dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8436dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4ubs */
8438dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__))
84404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum4ubs(vector unsigned char __a, vector unsigned int __b)
8441dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4ubs(__a, __b);
8443dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8444dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4shs */
8446dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__))
84484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum4shs(vector signed short __a, vector int __b)
8449dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
84504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum4shs(__a, __b);
8451dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8452dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sum2s */
8454dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8455ef8225444452a1486bd721f3285301fe84643b00Stephen Hines/* The vsum2sws instruction has a big-endian bias, so that the second
8456ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   input vector and the result always reference big-endian elements
8457ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   1 and 3 (little-endian element 0 and 2).  For ease of porting the
8458ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   programmer wants elements 1 and 3 in both cases, so for little
8459ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   endian we must perform some permutes.  */
8460ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
84614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
84624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sum2s(vector int __a, vector int __b)
8463dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8464ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8465ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector int __c = (vector signed int)
8466ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__b, __b, (vector unsigned char)
8467ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8468ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __c = __builtin_altivec_vsum2sws(__a, __c);
8469ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector signed int)
8470ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__c, __c, (vector unsigned char)
8471ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8472ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
84734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum2sws(__a, __b);
8474ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8475dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8476dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum2sws */
8478dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
84804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsum2sws(vector int __a, vector int __b)
8481dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8482ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8483ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  vector int __c = (vector signed int)
8484ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__b, __b, (vector unsigned char)
8485ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8486ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __c = __builtin_altivec_vsum2sws(__a, __c);
8487ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector signed int)
8488ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__c, __c, (vector unsigned char)
8489ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (4,5,6,7,0,1,2,3,12,13,14,15,8,9,10,11));
8490ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
84914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsum2sws(__a, __b);
8492ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8493dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8494dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
84954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sums */
8496dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8497ef8225444452a1486bd721f3285301fe84643b00Stephen Hines/* The vsumsws instruction has a big-endian bias, so that the second
8498ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   input vector and the result always reference big-endian element 3
8499ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   (little-endian element 0).  For ease of porting the programmer
8500ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   wants element 3 in both cases, so for little endian we must perform
8501ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   some permutes.  */
8502ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
85034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
85044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_sums(vector signed int __a, vector signed int __b)
8505dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8506ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8507ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __b = (vector signed int)
8508ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__b, __b, (vector unsigned char)
8509ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11));
8510ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __b = __builtin_altivec_vsumsws(__a, __b);
8511ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector signed int)
8512ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__b, __b, (vector unsigned char)
8513ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3));
8514ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
85154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsumsws(__a, __b);
8516ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8517dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8518dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
85194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsumsws */
8520dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
85214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__))
85224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vsumsws(vector signed int __a, vector signed int __b)
8523dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8524ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8525ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __b = (vector signed int)
8526ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__b, __b, (vector unsigned char)
8527ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (12,13,14,15,0,1,2,3,4,5,6,7,8,9,10,11));
8528ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  __b = __builtin_altivec_vsumsws(__a, __b);
8529ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector signed int)
8530ef8225444452a1486bd721f3285301fe84643b00Stephen Hines    vec_perm(__b, __b, (vector unsigned char)
8531ef8225444452a1486bd721f3285301fe84643b00Stephen Hines	     (4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3));
8532ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
85334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vsumsws(__a, __b);
8534ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8535dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8536dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
85374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_trunc */
8538dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
85394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
85404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_trunc(vector float __a)
8541dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
85424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfiz(__a);
8543dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8544dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
85454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfiz */
8546dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
85474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__))
85484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vrfiz(vector float __a)
8549dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
85504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vrfiz(__a);
8551dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8552dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
85534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_unpackh */
8554dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8555ef8225444452a1486bd721f3285301fe84643b00Stephen Hines/* The vector unpack instructions all have a big-endian bias, so for
8556ef8225444452a1486bd721f3285301fe84643b00Stephen Hines   little endian we must reverse the meanings of "high" and "low."  */
8557ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
85584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
85594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector signed char __a)
8560dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8561ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8562ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupklsb((vector char)__a);
8563ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
85644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsb((vector char)__a);
8565ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8566dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8567dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8568a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
85694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector bool char __a)
8570a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8571ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8572ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8573ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
85744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8575ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8576a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8577a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
85784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
85794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector short __a)
8580dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8581ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8582ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupklsh(__a);
8583ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
85844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsh(__a);
8585ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8586dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8587dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8588a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
85894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector bool short __a)
8590a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8591ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8592ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8593ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
85944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8595ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8596a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8597a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8598a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
85994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackh(vector pixel __a)
8600a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8601ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8602ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8603ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
8604ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8605ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
86084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupkhsb */
8609dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
86114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsb(vector signed char __a)
8612dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8613ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8614ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupklsb((vector char)__a);
8615ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
86164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsb((vector char)__a);
8617ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8618dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8619dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8620a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
86214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsb(vector bool char __a)
8622a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8623ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8624ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8625ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
86264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8627ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8628a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8629a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
86304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupkhsh */
86314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
8632a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
86334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsh(vector short __a)
8634dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8635ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8636ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupklsh(__a);
8637ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
86384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupkhsh(__a);
8639ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8640dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8641dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8642a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
86434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsh(vector bool short __a)
8644a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8645ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8646ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8647ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
86484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8649ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8652a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
86534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupkhsh(vector pixel __a)
8654a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8655ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8656ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8657ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
8658ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8659ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8660a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8661a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
86624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_unpackl */
86634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
86644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
86654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector signed char __a)
8666dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8667ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8668ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupkhsb((vector char)__a);
8669ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
86704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsb((vector char)__a);
8671ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8672dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8673dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
86754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector bool char __a)
8676a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8677ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8678ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8679ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
86804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8681ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8682a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8683a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
86844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
86854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector short __a)
8686dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8687ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8688ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupkhsh(__a);
8689ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
86904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsh(__a);
8691ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8692dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8693dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8694a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
86954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector bool short __a)
8696a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8697ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8698ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8699ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
87004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8701ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8702a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8704a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
87054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_unpackl(vector pixel __a)
8706a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8707ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8708ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8709ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
8710ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8711ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8712a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8713a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
87144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupklsb */
8715dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8716a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
87174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsb(vector signed char __a)
8718dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8719ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8720ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupkhsb((vector char)__a);
8721ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
87224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsb((vector char)__a);
8723ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8724dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8725dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8726a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
87274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsb(vector bool char __a)
8728a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8729ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8730ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool short)__builtin_altivec_vupkhsb((vector char)__a);
8731ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
87324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool short)__builtin_altivec_vupklsb((vector char)__a);
8733ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
87364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupklsh */
8737dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8738a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
87394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsh(vector short __a)
8740dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
8741ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8742ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return __builtin_altivec_vupkhsh(__a);
8743ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
87444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vupklsh(__a);
8745ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8746dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8747dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8748a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
87494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsh(vector bool short __a)
8750a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8751ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8752ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector bool int)__builtin_altivec_vupkhsh((vector short)__a);
8753ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
87544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector bool int)__builtin_altivec_vupklsh((vector short)__a);
8755ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8756a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8757a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8758a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
87594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vupklsh(vector pixel __a)
8760a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
8761ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifdef __LITTLE_ENDIAN__
8762ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupkhpx((vector short)__a);
8763ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#else
8764ef8225444452a1486bd721f3285301fe84643b00Stephen Hines  return (vector unsigned int)__builtin_altivec_vupklpx((vector short)__a);
8765ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
8766a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
87684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_xor */
87694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
87704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vxor vec_xor
87714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
87724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
87734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector signed char __a, vector signed char __b)
8774dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
87754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8776dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8777dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8778a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
87794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool char __a, vector signed char __b)
8780a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
87814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a ^ __b;
8782a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8783a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8784a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
87854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector signed char __a, vector bool char __b)
8786a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
87874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector signed char)__b;
8788a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8789a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
87904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
87914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned char __a, vector unsigned char __b)
8792dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
87934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8794dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8795dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8796a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
87974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool char __a, vector unsigned char __b)
8798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
87994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a ^ __b;
8800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8801a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
88034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned char __a, vector bool char __b)
8804a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned char)__b;
8806a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8807a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8808a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
88094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool char __a, vector bool char __b)
8810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8812a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8813a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
88144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
88154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector short __a, vector short __b)
8816dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
88174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8818dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8819dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8820a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
88214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool short __a, vector short __b)
8822a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a ^ __b;
8824a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8825a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
88274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector short __a, vector bool short __b)
8828a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector short)__b;
8830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
88324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
88334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned short __a, vector unsigned short __b)
8834dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
88354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8836dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8837dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8838a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
88394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool short __a, vector unsigned short __b)
8840a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a ^ __b;
8842a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8843a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
88454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned short __a, vector bool short __b)
8846a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned short)__b;
8848a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8849a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8850a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
88514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool short __a, vector bool short __b)
8852a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8854a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8855a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
88564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
88574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector int __a, vector int __b)
8858dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
88594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8860dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8861dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8862a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
88634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector int __b)
8864a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a ^ __b;
8866a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8867a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8868a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
88694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector int __a, vector bool int __b)
8870a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector int)__b;
8872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8873a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
88744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
88754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned int __a, vector unsigned int __b)
8876dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
88774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8878dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8879dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8880a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
88814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector unsigned int __b)
8882a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a ^ __b;
8884a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8885a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8886a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
88874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector unsigned int __a, vector bool int __b)
8888a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned int)__b;
8890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8891a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8892a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
88934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector bool int __b)
8894a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
88954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8896a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8897a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
88984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
88994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector float __a, vector float __b)
8900dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
89014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
89024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8903dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8904dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
89064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector bool int __a, vector float __b)
8907a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
89094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8911a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8912a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
89134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_xor(vector float __a, vector bool int __b)
8914a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
89164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
8917a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8918a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
89194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vxor */
89204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
89214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai
89224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector signed char __a, vector signed char __b)
8923dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
89244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8925dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8926dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8927a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
89284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool char __a, vector signed char __b)
8929a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)__a ^ __b;
8931a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8932a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8933a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai
89344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector signed char __a, vector bool char __b)
8935a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector signed char)__b;
8937a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8938a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
89394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai
89404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned char __a, vector unsigned char __b)
8941dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
89424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8943dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8944dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8945a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
89464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool char __a, vector unsigned char __b)
8947a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)__a ^ __b;
8949a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8950a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8951a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
89524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned char __a, vector bool char __b)
8953a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned char)__b;
8955a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8956a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8957a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai
89584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool char __a, vector bool char __b)
8959a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8961a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8962a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
89634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai
89644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector short __a, vector short __b)
8965dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
89664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8967dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8968dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8969a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
89704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool short __a, vector short __b)
8971a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)__a ^ __b;
8973a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8974a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8975a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai
89764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector short __a, vector bool short __b)
8977a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector short)__b;
8979a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8980a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
89814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai
89824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned short __a, vector unsigned short __b)
8983dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
89844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
8985dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
8986dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
8987a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
89884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool short __a, vector unsigned short __b)
8989a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)__a ^ __b;
8991a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8992a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8993a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
89944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned short __a, vector bool short __b)
8995a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
89964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned short)__b;
8997a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
8998a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
8999a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai
90004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool short __a, vector bool short __b)
9001a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
9003a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9004a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
90054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai
90064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector int __a, vector int __b)
9007dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
90084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
9009dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9010dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
9011a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
90124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector int __b)
9013a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)__a ^ __b;
9015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9016a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
9017a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai
90184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector int __a, vector bool int __b)
9019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector int)__b;
9021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9022a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
90234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai
90244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned int __a, vector unsigned int __b)
9025dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
90264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
9027dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9028dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
9029a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
90304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector unsigned int __b)
9031a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)__a ^ __b;
9033a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
9035a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
90364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector unsigned int __a, vector bool int __b)
9037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ (vector unsigned int)__b;
9039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
9041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai
90424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector bool int __b)
9043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a ^ __b;
9045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
90474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai
90484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector float __a, vector float __b)
9049dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
90504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
90514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
9052dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
9053dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
9054a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
90554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector bool int __a, vector float __b)
9056a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
90584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
9059a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9060a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
9061a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai
90624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_vxor(vector float __a, vector bool int __b)
9063a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{
90644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)__a ^ (vector unsigned int)__b;
90654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)__res;
9066a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev}
9067a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev
90683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev/* ------------------------ extensions for CBEA ----------------------------- */
906944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
907044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_extract */
907144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
907244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic signed char __ATTRS_o_ai
90734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector signed char __a, int __b)
907444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
90754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
907644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
907744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
907844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned char __ATTRS_o_ai
90794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector unsigned char __a, int __b)
908044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
90814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
908244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
908344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
908444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic short __ATTRS_o_ai
90854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector short __a, int __b)
908644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
90874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
908844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
908944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
909044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned short __ATTRS_o_ai
90914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector unsigned short __a, int __b)
909244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
90934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
909444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
909544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
909644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic int __ATTRS_o_ai
90974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector int __a, int __b)
909844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
90994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
910044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
910144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
910244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned int __ATTRS_o_ai
91034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector unsigned int __a, int __b)
910444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
910644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
910744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
910844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic float __ATTRS_o_ai
91094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_extract(vector float __a, int __b)
911044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __a[__b];
911244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
911344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
911444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_insert */
911544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
911644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
91174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(signed char __a, vector signed char __b, int __c)
911844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
91204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
912144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
912244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
912344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
91244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(unsigned char __a, vector unsigned char __b, int __c)
912544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
91274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
912844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
912944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
913044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
91314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(short __a, vector short __b, int __c)
913244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
91344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
913544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
913644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
913744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
91384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(unsigned short __a, vector unsigned short __b, int __c)
913944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
91414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
914244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
914344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
914444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
91454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(int __a, vector int __b, int __c)
914644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
91484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
914944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
915044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
915144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
91524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(unsigned int __a, vector unsigned int __b, int __c)
915344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
91554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
915644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
915744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
915844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
91594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_insert(float __a, vector float __b, int __c)
916044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __b[__c] = __a;
91624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __b;
916344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
916444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
916544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvlx */
916644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
916744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
91684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const signed char *__b)
916944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
917144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
91724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
917344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
917444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
917544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
91764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector signed char *__b)
917744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
917944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
91804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
918144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
918244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
918344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
91844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const unsigned char *__b)
918544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
918744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
91884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
918944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
919044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
919144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
91924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector unsigned char *__b)
919344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
91944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
919544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
91964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
919744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
919844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
919944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
92004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector bool char *__b)
920144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
920344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool char)(0),
92044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
920544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
920644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
920744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
92084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const short *__b)
920944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
921144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
92124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
921344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
921444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
921544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
92164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector short *__b)
921744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
921944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
92204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
922144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
922244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
922344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
92244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const unsigned short *__b)
922544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
922744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
92284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
922944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
923044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
923144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
92324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector unsigned short *__b)
923344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
923544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
92364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
923744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
923844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
923944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
92404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector bool short *__b)
924144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
924344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool short)(0),
92444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
924544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
924644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
924744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
92484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector pixel *__b)
924944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
925144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector pixel)(0),
92524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
925344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
925444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
925544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
92564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const int *__b)
925744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
925944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
92604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
926144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
926244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
926344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
92644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector int *__b)
926544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
926744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
92684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
926944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
927044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
927144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
92724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const unsigned int *__b)
927344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
927544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
92764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
927744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
927844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
927944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
92804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector unsigned int *__b)
928144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
928344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
92844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
928544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
928644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
928744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
92884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector bool int *__b)
928944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
929144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool int)(0),
92924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
929344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
929444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
929544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
92964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const float *__b)
929744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
92984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
929944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
93004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
930144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
930244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
930344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
93044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlx(int __a, const vector float *__b)
930544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ld(__a, __b),
930744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
93084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
930944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
931044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
931144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvlxl */
931244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
931344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
93144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const signed char *__b)
931544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
931744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
93184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
931944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
932044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
932144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
93224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector signed char *__b)
932344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
932544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector signed char)(0),
93264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
932744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
932844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
932944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
93304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const unsigned char *__b)
933144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
933344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
93344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
933544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
933644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
933744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
93384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector unsigned char *__b)
933944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
934144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned char)(0),
93424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
934344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
934444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
934544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
93464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector bool char *__b)
934744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
934944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool char)(0),
93504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
935144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
935244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
935344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
93544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const short *__b)
935544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
935744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
93584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
935944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
936044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
936144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
93624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector short *__b)
936344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
936544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector short)(0),
93664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
936744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
936844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
936944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
93704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const unsigned short *__b)
937144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
937344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
93744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
937544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
937644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
937744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
93784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector unsigned short *__b)
937944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
938144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned short)(0),
93824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
938344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
938444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
938544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
93864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector bool short *__b)
938744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
938944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool short)(0),
93904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
939144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
939244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
939344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
93944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector pixel *__b)
939544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
93964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
939744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector pixel)(0),
93984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
939944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
940044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
940144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
94024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const int *__b)
940344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
940544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
94064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
940744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
940844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
940944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
94104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector int *__b)
941144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
941344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector int)(0),
94144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
941544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
941644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
941744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
94184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const unsigned int *__b)
941944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
942144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
94224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
942344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
942444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
942544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
94264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector unsigned int *__b)
942744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
942944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector unsigned int)(0),
94304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
943144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
943244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
943344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
94344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const vector bool int *__b)
943544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
943744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector bool int)(0),
94384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
943944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
944044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
944144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
94424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, const float *__b)
944344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
944544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
94464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
944744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
944844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
944944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
94504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvlxl(int __a, vector float *__b)
945144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
94524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_perm(vec_ldl(__a, __b),
945344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev                  (vector float)(0),
94544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
945544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
945644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
945744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvrx */
945844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
945944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
94604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const signed char *__b)
946144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
946244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
94634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
94644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
946544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
946644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
946744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
94684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector signed char *__b)
946944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
947044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
94714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
94724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
947344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
947444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
947544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
94764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const unsigned char *__b)
947744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
947844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
94794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
94804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
948144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
948244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
948344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
94844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector unsigned char *__b)
948544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
948644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
94874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
94884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
948944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
949044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
949144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
94924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector bool char *__b)
949344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
949444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool char)(0),
94954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
94964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
949744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
949844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
949944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
95004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const short *__b)
950144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
950244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
95034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
950544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
950644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
950744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
95084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector short *__b)
950944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
951044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
95114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
951344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
951444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
951544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
95164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const unsigned short *__b)
951744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
951844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
95194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
952144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
952244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
952344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
95244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector unsigned short *__b)
952544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
952644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
95274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
952944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
953044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
953144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
95324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector bool short *__b)
953344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
953444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool short)(0),
95354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
953744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
953844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
953944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
95404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector pixel *__b)
954144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
954244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector pixel)(0),
95434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
954544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
954644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
954744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
95484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const int *__b)
954944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
955044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
95514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
955344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
955444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
955544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
95564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector int *__b)
955744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
955844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
95594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
956144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
956244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
956344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
95644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const unsigned int *__b)
956544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
956644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
95674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
956944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
957044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
957144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
95724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector unsigned int *__b)
957344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
957444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
95754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
957744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
957844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
957944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
95804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector bool int *__b)
958144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
958244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool int)(0),
95834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
958544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
958644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
958744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
95884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const float *__b)
958944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
959044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
95914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
95924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
959344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
959444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
959544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
95964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrx(int __a, const vector float *__b)
959744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
959844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
95994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ld(__a, __b),
96004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
960144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
960244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
960344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvrxl */
960444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
960544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
96064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const signed char *__b)
960744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
960844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
96094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
961144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
961244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
961344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
96144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector signed char *__b)
961544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
961644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector signed char)(0),
96174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
961944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
962044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
962144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
96224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const unsigned char *__b)
962344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
962444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
96254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
962744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
962844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
962944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
96304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector unsigned char *__b)
963144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
963244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned char)(0),
96334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
963544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
963644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
963744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai
96384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector bool char *__b)
963944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
964044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool char)(0),
96414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
964344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
964444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
964544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
96464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const short *__b)
964744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
964844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
96494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
965144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
965244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
965344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
96544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector short *__b)
965544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
965644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector short)(0),
96574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
965944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
966044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
966144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
96624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const unsigned short *__b)
966344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
966444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
96654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
966744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
966844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
966944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
96704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector unsigned short *__b)
967144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
967244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned short)(0),
96734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
967544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
967644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
967744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai
96784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector bool short *__b)
967944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
968044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool short)(0),
96814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
968344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
968444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
968544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai
96864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector pixel *__b)
968744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
968844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector pixel)(0),
96894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
969144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
969244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
969344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
96944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const int *__b)
969544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
969644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
96974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
96984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
969944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
970044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
970144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
97024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector int *__b)
970344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
970444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector int)(0),
97054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
97064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
970744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
970844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
970944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
97104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const unsigned int *__b)
971144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
971244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
97134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
97144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
971544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
971644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
971744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
97184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector unsigned int *__b)
971944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
972044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector unsigned int)(0),
97214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
97224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
972344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
972444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
972544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai
97264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector bool int *__b)
972744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
972844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector bool int)(0),
97294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
97304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
973144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
973244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
973344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
97344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const float *__b)
973544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
973644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
97374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
97384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, __b));
973944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
974044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
974144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
97424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_lvrxl(int __a, const vector float *__b)
974344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
974444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev  return vec_perm((vector float)(0),
97454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_ldl(__a, __b),
97464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                  vec_lvsl(__a, (unsigned char *)__b));
974744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
974844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
974944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvlx */
975044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
975144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector signed char __a, int __b, signed char *__c)
975344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
97554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
97564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
97574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
975844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
975944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
976044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector signed char __a, int __b, vector signed char *__c)
976244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
97644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
97654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
97664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
976744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
976844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
976944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned char __a, int __b, unsigned char *__c)
977144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
97734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
97744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
97754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
977644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
977744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
977844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned char __a, int __b, vector unsigned char *__c)
978044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
97824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
97834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
97844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
978544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
978644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
978744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector bool char __a, int __b, vector bool char *__c)
978944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
97914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
97924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
97934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
979444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
979544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
979644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
97974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector short __a, int __b, short *__c)
979844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
97994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
98024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
980344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
980444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
980544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector short __a, int __b, vector short *__c)
980744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
98114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
981244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
981344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
981444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned short __a, int __b, unsigned short *__c)
981644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
98204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
982144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
982244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
982344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned short __a, int __b, vector unsigned short *__c)
982544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
98294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
983044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
983144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
983244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector bool short __a, int __b, vector bool short *__c)
983444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
98384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
983944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
984044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
984144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector pixel __a, int __b, vector pixel *__c)
984344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
98474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
984844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
984944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
985044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector int __a, int __b, int *__c)
985244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
98564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
985744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
985844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
985944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector int __a, int __b, vector int *__c)
986144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
98654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
986644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
986744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
986844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned int __a, int __b, unsigned int *__c)
987044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
98744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
987544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
987644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
987744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector unsigned int __a, int __b, vector unsigned int *__c)
987944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
98834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
988444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
988544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
988644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector bool int __a, int __b, vector bool int *__c)
988844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
98914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
98924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
989344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
989444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
989544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
98964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlx(vector float __a, int __b, vector float *__c)
989744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
98984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(vec_lvrx(__b, __c),
98994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         __a,
99004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
99014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
990244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
990344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
990444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvlxl */
990544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
990644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector signed char __a, int __b, signed char *__c)
990844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
99124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
991344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
991444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
991544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector signed char __a, int __b, vector signed char *__c)
991744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
99214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
992244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
992344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
992444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned char __a, int __b, unsigned char *__c)
992644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
99304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
993144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
993244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
993344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned char __a, int __b, vector unsigned char *__c)
993544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
99394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
994044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
994144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
994244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector bool char __a, int __b, vector bool char *__c)
994444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
99484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
994944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
995044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
995144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector short __a, int __b, short *__c)
995344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
99574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
995844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
995944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
996044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector short __a, int __b, vector short *__c)
996244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
99664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
996744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
996844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
996944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned short __a, int __b, unsigned short *__c)
997144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
99754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
997644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
997744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
997844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned short __a, int __b, vector unsigned short *__c)
998044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
99844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
998544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
998644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
998744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector bool short __a, int __b, vector bool short *__c)
998944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
99914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
99924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
99934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
999444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
999544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
999644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
99974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector pixel __a, int __b, vector pixel *__c)
999844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
99994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
100004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
100014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
100024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1000344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1000444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1000544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector int __a, int __b, int *__c)
1000744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
100094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
100104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
100114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1001244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1001344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1001444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector int __a, int __b, vector int *__c)
1001644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
100184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
100194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
100204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1002144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1002244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1002344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned int __a, int __b, unsigned int *__c)
1002544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
100274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
100284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
100294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1003044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1003144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1003244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector unsigned int __a, int __b, vector unsigned int *__c)
1003444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
100364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
100374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
100384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1003944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1004044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1004144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector bool int __a, int __b, vector bool int *__c)
1004344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
100454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
100464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
100474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1004844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1004944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1005044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvlxl(vector float __a, int __b, vector float *__c)
1005244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(vec_lvrx(__b, __c),
100544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          __a,
100554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
100564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1005744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1005844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1005944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvrx */
1006044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1006144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector signed char __a, int __b, signed char *__c)
1006344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
100654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
100664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
100674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1006844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1006944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1007044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector signed char __a, int __b, vector signed char *__c)
1007244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
100744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
100754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
100764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1007744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1007844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1007944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned char __a, int __b, unsigned char *__c)
1008144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
100834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
100844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
100854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1008644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1008744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1008844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned char __a, int __b, vector unsigned char *__c)
1009044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
100914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
100924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
100934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
100944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1009544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1009644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1009744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
100984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector bool char __a, int __b, vector bool char *__c)
1009944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
101034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1010444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1010544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1010644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector short __a, int __b, short *__c)
1010844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
101124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1011344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1011444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1011544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector short __a, int __b, vector short *__c)
1011744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
101214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1012244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1012344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1012444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned short __a, int __b, unsigned short *__c)
1012644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
101304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1013144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1013244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1013344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned short __a, int __b, vector unsigned short *__c)
1013544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
101394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1014044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1014144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1014244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector bool short __a, int __b, vector bool short *__c)
1014444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
101484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1014944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1015044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1015144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector pixel __a, int __b, vector pixel *__c)
1015344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
101574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1015844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1015944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1016044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector int __a, int __b, int *__c)
1016244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
101664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1016744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1016844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1016944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector int __a, int __b, vector int *__c)
1017144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
101754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1017644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1017744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1017844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned int __a, int __b, unsigned int *__c)
1018044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, __c)),
101844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1018544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1018644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1018744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector unsigned int __a, int __b, vector unsigned int *__c)
1018944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
101914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
101924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
101934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1019444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1019544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1019644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
101974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector bool int __a, int __b, vector bool int *__c)
1019844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
101994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
102004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
102014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
102024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1020344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1020444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1020544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrx(vector float __a, int __b, vector float *__c)
1020744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_st(vec_perm(__a,
102094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvlx(__b, __c),
102104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                         vec_lvsr(__b, (unsigned char *)__c)),
102114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                __b, __c);
1021244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1021344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1021444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvrxl */
1021544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1021644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector signed char __a, int __b, signed char *__c)
1021844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
102224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1022344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1022444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1022544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector signed char __a, int __b, vector signed char *__c)
1022744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
102314f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1023244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1023344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1023444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned char __a, int __b, unsigned char *__c)
1023644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
102404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1024144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1024244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1024344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned char __a, int __b, vector unsigned char *__c)
1024544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
102494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1025044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1025144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1025244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector bool char __a, int __b, vector bool char *__c)
1025444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
102584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1025944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1026044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1026144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector short __a, int __b, short *__c)
1026344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
102674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1026844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1026944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1027044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector short __a, int __b, vector short *__c)
1027244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
102764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1027744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1027844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1027944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned short __a, int __b, unsigned short *__c)
1028144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
102854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1028644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1028744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1028844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned short __a, int __b, vector unsigned short *__c)
1029044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
102914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
102924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
102934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
102944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1029544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1029644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1029744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
102984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector bool short __a, int __b, vector bool short *__c)
1029944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
103034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1030444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1030544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1030644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
103074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector pixel __a, int __b, vector pixel *__c)
1030844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
103124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1031344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1031444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1031544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
103164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector int __a, int __b, int *__c)
1031744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
103214f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1032244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1032344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1032444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
103254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector int __a, int __b, vector int *__c)
1032644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
103304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1033144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1033244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1033344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
103344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned int __a, int __b, unsigned int *__c)
1033544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, __c)),
103394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1034044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1034144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1034244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
103434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector unsigned int __a, int __b, vector unsigned int *__c)
1034444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
103484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1034944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1035044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1035144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
103524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector bool int __a, int __b, vector bool int *__c)
1035344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
103574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1035844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1035944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1036044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai
103614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_stvrxl(vector float __a, int __b, vector float *__c)
1036244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return vec_stl(vec_perm(__a,
103644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvlx(__b, __c),
103654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                          vec_lvsr(__b, (unsigned char *)__c)),
103664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                 __b, __c);
1036744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1036844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1036944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_promote */
1037044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1037144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
103724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(signed char __a, int __b)
1037344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector signed char __res = (vector signed char)(0);
103754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
103764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
1037744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1037844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1037944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
103804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(unsigned char __a, int __b)
1038144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned char __res = (vector unsigned char)(0);
103834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
103844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
1038544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1038644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1038744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
103884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(short __a, int __b)
1038944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector short __res = (vector short)(0);
103914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
103924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
1039344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1039444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1039544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
103964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(unsigned short __a, int __b)
1039744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
103984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned short __res = (vector unsigned short)(0);
103994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
104004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
1040144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1040244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1040344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
104044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(int __a, int __b)
1040544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector int __res = (vector int)(0);
104074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
104084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
1040944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1041044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1041144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
104124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(unsigned int __a, int __b)
1041344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector unsigned int __res = (vector unsigned int)(0);
104154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
104164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
1041744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1041844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1041944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
104204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_promote(float __a, int __b)
1042144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  vector float __res = (vector float)(0);
104234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  __res[__b] = __a;
104244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __res;
1042544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1042644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1042744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_splats */
1042844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1042944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai
104304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(signed char __a)
1043144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector signed char)(__a);
1043344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1043444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1043544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai
104364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(unsigned char __a)
1043744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned char)(__a);
1043944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1044044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1044144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai
104424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(short __a)
1044344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector short)(__a);
1044544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1044644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1044744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai
104484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(unsigned short __a)
1044944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned short)(__a);
1045144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1045244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1045344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai
104544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(int __a)
1045544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector int)(__a);
1045744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1045844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1045944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai
104604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(unsigned int __a)
1046144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector unsigned int)(__a);
1046344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1046444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
1046544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai
104664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_splats(float __a)
1046744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{
104684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return (vector float)(__a);
1046944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev}
1047044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev
104713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev/* ----------------------------- predicates --------------------------------- */
104724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov
10473dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_all_eq */
10474dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector signed char __a, vector signed char __b)
10477dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10479dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10480dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector signed char __a, vector bool char __b)
10483dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10485dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10486dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned char __a, vector unsigned char __b)
10489dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10491dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10492dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
104944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned char __a, vector bool char __b)
10495dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
104964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10497dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10498dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
104994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool char __a, vector signed char __b)
10501dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10503dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10504dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool char __a, vector unsigned char __b)
10507dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10509dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10510dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool char __a, vector bool char __b)
10513dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)__a, (vector char)__b);
10515dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10516dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector short __a, vector short __b)
10519dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, __b);
10521dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10522dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector short __a, vector bool short __b)
10525dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT, __a, (vector short)__b);
10527dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10528dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned short __a, vector unsigned short __b)
10531dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
105334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10534dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10535dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105374f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned short __a, vector bool short __b)
10538dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105393ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
105404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10541dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10542dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool short __a, vector short __b)
10545dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
105474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10548dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10549dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool short __a, vector unsigned short __b)
10552dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
105544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10555dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10556dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool short __a, vector bool short __b)
10559dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
105614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10562dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10563dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector pixel __a, vector pixel __b)
10566dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
105684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)__a, (vector short)__b);
10569dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10570dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector int __a, vector int __b)
10573dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, __b);
10575dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10576dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector int __a, vector bool int __b)
10579dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, __a, (vector int)__b);
10581dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10582dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned int __a, vector unsigned int __b)
10585dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10587dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10588dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector unsigned int __a, vector bool int __b)
10591dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10593dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10594dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
105954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
105964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool int __a, vector int __b)
10597dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
105984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10599dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10600dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool int __a, vector unsigned int __b)
10603dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10605dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10606dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10607a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector bool int __a, vector bool int __b)
10609a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
106104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)__a, (vector int)__b);
10611a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10612dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10613a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
106144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_eq(vector float __a, vector float __b)
10615dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __b);
10617dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10618dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10619a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ge */
10620dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector signed char __a, vector signed char __b)
10623dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __b, __a);
10625dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10626dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector signed char __a, vector bool char __b)
10629dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, (vector signed char)__b, __a);
10631dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10632dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned char __a, vector unsigned char __b)
10635dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, __a);
10637dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10638dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned char __a, vector bool char __b)
10641dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__b, __a);
10643dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10644dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool char __a, vector signed char __b)
10647dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106483ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
106494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
106504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
10651dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10652dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool char __a, vector unsigned char __b)
10655dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __b, (vector unsigned char)__a);
10657dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10658dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool char __a, vector bool char __b)
10661dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
106634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
106644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
10665dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10666dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector short __a, vector short __b)
10669dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __b, __a);
10671dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10672dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector short __a, vector bool short __b)
10675dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, (vector short)__b, __a);
10677dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10678dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned short __a, vector unsigned short __b)
10681dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, __a);
10683dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10684dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned short __a, vector bool short __b)
10687dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__b, __a);
10689dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10690dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
106924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool short __a, vector short __b)
10693dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
106943ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
106954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
106964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
10697dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10698dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
106994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool short __a, vector unsigned short __b)
10701dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __b, (vector unsigned short)__a);
10703dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10704dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool short __a, vector bool short __b)
10707dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
107094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
107104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
10711dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10712dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10713a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector int __a, vector int __b)
10715dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __b, __a);
10717dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10718dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector int __a, vector bool int __b)
10721dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, (vector int)__b, __a);
10723dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10724dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned int __a, vector unsigned int __b)
10727dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, __a);
10729dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10730dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector unsigned int __a, vector bool int __b)
10733dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__b, __a);
10735dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10736dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool int __a, vector int __b)
10739dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
107414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
107424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
10743dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10744dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool int __a, vector unsigned int __b)
10747dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __b, (vector unsigned int)__a);
10749dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10750dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector bool int __a, vector bool int __b)
10753dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
107554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
107564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
10757dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10758dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
107604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ge(vector float __a, vector float __b)
10761dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT, __a, __b);
10763dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10764dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10765a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_gt */
10766dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10767a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector signed char __a, vector signed char __b)
10769dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, __b);
10771dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10772dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10773a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector signed char __a, vector bool char __b)
10775dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __a, (vector signed char)__b);
10777dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10778dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10779a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned char __a, vector unsigned char __b)
10781dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, __b);
10783dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10784dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10785a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned char __a, vector bool char __b)
10787dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __a, (vector unsigned char)__b);
10789dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10790dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10791a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
107924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool char __a, vector signed char __b)
10793dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
107943ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
107954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
107964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10797dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10798dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
107994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool char __a, vector unsigned char __b)
10801dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__a, __b);
10803dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10804dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool char __a, vector bool char __b)
10807dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
108094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
108104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10811dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10812dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector short __a, vector short __b)
10815dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, __b);
10817dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10818dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector short __a, vector bool short __b)
10821dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __a, (vector short)__b);
10823dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10824dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned short __a, vector unsigned short __b)
10827dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, __b);
10829dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10830dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned short __a, vector bool short __b)
10833dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __a, (vector unsigned short)__b);
10835dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10836dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool short __a, vector short __b)
10839dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
108414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
108424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
10843dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10844dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool short __a, vector unsigned short __b)
10847dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__a, __b);
10849dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10850dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool short __a, vector bool short __b)
10853dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
108554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
108564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
10857dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10858dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector int __a, vector int __b)
10861dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, __b);
10863dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10864dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector int __a, vector bool int __b)
10867dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __a, (vector int)__b);
10869dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10870dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned int __a, vector unsigned int __b)
10873dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, __b);
10875dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10876dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector unsigned int __a, vector bool int __b)
10879dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __a, (vector unsigned int)__b);
10881dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10882dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool int __a, vector int __b)
10885dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108863ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
108874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
108884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
10889dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10890dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool int __a, vector unsigned int __b)
10893dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
108944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__a, __b);
10895dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10896dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
108974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
108984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector bool int __a, vector bool int __b)
10899dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109003ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
109014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
109024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
10903dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10904dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
109054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
109064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_gt(vector float __a, vector float __b)
10907dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __a, __b);
10909dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10910dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10911a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_in */
10912a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10913a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
109144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_in(vector float __a, vector float __b)
10915dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp_p(__CR6_EQ, __a, __b);
10917dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10918dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
10919a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_le */
10920a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
109214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
109224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector signed char __a, vector signed char __b)
10923dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, __b);
10925dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10926dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
109274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
109284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector signed char __a, vector bool char __b)
10929dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, __a, (vector signed char)__b);
10931dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10932dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
109334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
109344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned char __a, vector unsigned char __b)
10935dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, __b);
10937dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10938dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
109394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
109404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned char __a, vector bool char __b)
10941dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, __a, (vector unsigned char)__b);
10943dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10944dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
109454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
109464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool char __a, vector signed char __b)
10947dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109483ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
109494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
109504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10951dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
10952dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
109534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
109544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool char __a, vector unsigned char __b)
10955dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
109564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)__a, __b);
10957a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10958a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10959a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool char __a, vector bool char __b)
10961a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ,
109634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
109644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
10965a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10966a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10967a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector short __a, vector short __b)
10969a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, __b);
10971a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10972a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10973a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector short __a, vector bool short __b)
10975a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, __a, (vector short)__b);
10977a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10978a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10979a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned short __a, vector unsigned short __b)
10981a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, __b);
10983a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10984a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10985a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned short __a, vector bool short __b)
10987a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, __a, (vector unsigned short)__b);
10989a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10990a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10991a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
109924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool short __a, vector short __b)
10993a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
109943ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
109954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
109964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
10997a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
10998a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
10999a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool short __a, vector unsigned short __b)
11001a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)__a, __b);
11003a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11004a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11005a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool short __a, vector bool short __b)
11007a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ,
110094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
110104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11011a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11012a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11013a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector int __a, vector int __b)
11015a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, __b);
11017a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11018a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11019a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector int __a, vector bool int __b)
11021a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, __a, (vector int)__b);
11023a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11024a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11025a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned int __a, vector unsigned int __b)
11027a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, __b);
11029a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11030a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11031a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector unsigned int __a, vector bool int __b)
11033a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, __a, (vector unsigned int)__b);
11035a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11036a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11037a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool int __a, vector int __b)
11039a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
110414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
110424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11043a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11044a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11045a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool int __a, vector unsigned int __b)
11047a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)__a, __b);
11049a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11050a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11051a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector bool int __a, vector bool int __b)
11053a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ,
110554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
110564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11057a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11058a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11059a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_le(vector float __a, vector float __b)
11061a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT, __b, __a);
11063a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11064a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11065a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_lt */
11066a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11067a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector signed char __a, vector signed char __b)
11069a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, __b, __a);
11071a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11072a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11073a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector signed char __a, vector bool char __b)
11075a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT, (vector signed char)__b, __a);
11077a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11078a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11079a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned char __a, vector unsigned char __b)
11081a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, __a);
11083a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11084a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11085a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned char __a, vector bool char __b)
11087a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)__b, __a);
11089a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11090a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11091a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
110924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool char __a, vector signed char __b)
11093a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
110943ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
110954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
110964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11097a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11098a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11099a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool char __a, vector unsigned char __b)
11101a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT, __b, (vector unsigned char)__a);
11103a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11104a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11105a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool char __a, vector bool char __b)
11107a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT,
111094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
111104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11111a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11112a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11113a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector short __a, vector short __b)
11115a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, __b, __a);
11117a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11118a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11119a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector short __a, vector bool short __b)
11121a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT, (vector short)__b, __a);
11123a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11124a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11125a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned short __a, vector unsigned short __b)
11127a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, __a);
11129a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11130a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11131a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned short __a, vector bool short __b)
11133a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)__b, __a);
11135a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11136a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11137a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool short __a, vector short __b)
11139a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
111414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
111424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11143a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11144a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11145a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool short __a, vector unsigned short __b)
11147a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT, __b, (vector unsigned short)__a);
11149a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11150a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11151a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool short __a, vector bool short __b)
11153a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT,
111554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
111564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11157a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11158a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11159a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector int __a, vector int __b)
11161a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, __b, __a);
11163a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11164a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11165a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector int __a, vector bool int __b)
11167a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT, (vector int)__b, __a);
11169a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11170a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11171a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned int __a, vector unsigned int __b)
11173a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, __a);
11175a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11176a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11177a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector unsigned int __a, vector bool int __b)
11179a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)__b, __a);
11181a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11182a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11183a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool int __a, vector int __b)
11185a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111863ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
111874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
111884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11189a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11190a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11191a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool int __a, vector unsigned int __b)
11193a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
111944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT, __b, (vector unsigned int)__a);
11195a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11196a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11197a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
111984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector bool int __a, vector bool int __b)
11199a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112003ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT,
112014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
112024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11203a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11204a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11205a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_lt(vector float __a, vector float __b)
11207a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT, __b, __a);
11209a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11210a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11211a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nan */
11212a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11213a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
112144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nan(vector float __a)
11215a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __a);
11217a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11218a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11219a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ne */
11220a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11221a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector signed char __a, vector signed char __b)
11223a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11225a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11226a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11227a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector signed char __a, vector bool char __b)
11229a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11231a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11232a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11233a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned char __a, vector unsigned char __b)
11235a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11237a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11238a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11239a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned char __a, vector bool char __b)
11241a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11243a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11244a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11245a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool char __a, vector signed char __b)
11247a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11249a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11250a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11251a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool char __a, vector unsigned char __b)
11253a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11255a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11256a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11257a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool char __a, vector bool char __b)
11259a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)__a, (vector char)__b);
11261a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11262a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11263a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector short __a, vector short __b)
11265a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, __b);
11267a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11268a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11269a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector short __a, vector bool short __b)
11271a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ, __a, (vector short)__b);
11273a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11274a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11275a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned short __a, vector unsigned short __b)
11277a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
112794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11280a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11281a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11282a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned short __a, vector bool short __b)
11284a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
112864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11287a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11288a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11289a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool short __a, vector short __b)
11291a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
112934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11294a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11295a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11296a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
112974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool short __a, vector unsigned short __b)
11298a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
112993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
113004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11301a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11302a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11303a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool short __a, vector bool short __b)
11305a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
113074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11308a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11309a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11310a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector pixel __a, vector pixel __b)
11312a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
113144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)__a, (vector short)__b);
11315a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11316a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11317a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector int __a, vector int __b)
11319a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, __b);
11321a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11322a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11323a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector int __a, vector bool int __b)
11325a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, __a, (vector int)__b);
11327a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11328a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11329a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned int __a, vector unsigned int __b)
11331a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11333a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11334a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11335a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector unsigned int __a, vector bool int __b)
11337a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11339a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11340a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11341a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool int __a, vector int __b)
11343a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11345a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11346a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11347a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool int __a, vector unsigned int __b)
11349a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11351a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11352a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11353a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector bool int __a, vector bool int __b)
11355a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)__a, (vector int)__b);
11357a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11358a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11359a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
113604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ne(vector float __a, vector float __b)
11361a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, __a, __b);
11363a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11364a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11365a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nge */
11366a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11367a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
113684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nge(vector float __a, vector float __b)
11369a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __a, __b);
11371a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11372a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11373a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ngt */
11374a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11375a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
113764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_ngt(vector float __a, vector float __b)
11377a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __a, __b);
11379a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11380a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11381a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nle */
11382a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11383a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
113844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nle(vector float __a, vector float __b)
11385a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ, __b, __a);
11387a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11388a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11389a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nlt */
11390a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11391a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
113924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_nlt(vector float __a, vector float __b)
11393a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
113944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, __b, __a);
11395a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11396a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11397a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_numeric */
11398a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11399a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__))
114004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_all_numeric(vector float __a)
11401a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT, __a, __a);
11403a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11404a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11405a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_eq */
11406a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11407a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector signed char __a, vector signed char __b)
11409a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
114114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11412a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11413a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11414a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114154f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector signed char __a, vector bool char __b)
11416a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
114184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11419a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11420a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11421a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned char __a, vector unsigned char __b)
11423a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
114254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11426a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11427a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11428a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned char __a, vector bool char __b)
11430a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
114324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11433a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11434a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11435a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool char __a, vector signed char __b)
11437a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
114394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11440a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11441a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11442a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool char __a, vector unsigned char __b)
11444a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
114464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11447a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11448a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11449a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool char __a, vector bool char __b)
11451a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
114534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)__a, (vector char)__b);
11454a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11455a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11456a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector short __a, vector short __b)
11458a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, __b);
11460a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11461a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11462a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector short __a, vector bool short __b)
11464a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114654f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, __a, (vector short)__b);
11466a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11467a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11468a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114694f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned short __a, vector unsigned short __b)
11470a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
114724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
114734f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11474a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11475a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11476a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114774f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned short __a, vector bool short __b)
11478a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
114804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
114814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11482a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11483a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11484a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool short __a, vector short __b)
11486a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114873ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
114884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
114894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11490a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11491a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11492a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
114934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool short __a, vector unsigned short __b)
11494a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
114953ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
114964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
114974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11498a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11499a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11500a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool short __a, vector bool short __b)
11502a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115033ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
115044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
115054f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11506a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11507a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11508a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector pixel __a, vector pixel __b)
11510a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV,
115124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
115134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
11514a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11515a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11516a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115174f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector int __a, vector int __b)
11518a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115194f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, __b);
11520a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11521a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11522a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector int __a, vector bool int __b)
11524a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115254f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, __a, (vector int)__b);
11526a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11527a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11528a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned int __a, vector unsigned int __b)
11530a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
115324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11533a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11534a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11535a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector unsigned int __a, vector bool int __b)
11537a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
115394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11540a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11541a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11542a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool int __a, vector int __b)
11544a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
115464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11547a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11548a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11549a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool int __a, vector unsigned int __b)
11551a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
115534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11554a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11555a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11556a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector bool int __a, vector bool int __b)
11558a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
115604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)__a, (vector int)__b);
11561a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11562a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11563a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_eq(vector float __a, vector float __b)
11565a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __b);
11567a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11568a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11569a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_ge */
11570a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11571a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector signed char __a, vector signed char __b)
11573a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __b, __a);
11575a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11576a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11577a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector signed char __a, vector bool char __b)
11579a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, (vector signed char)__b, __a);
11581a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11582a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11583a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned char __a, vector unsigned char __b)
11585a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, __a);
11587a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11588a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11589a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned char __a, vector bool char __b)
11591a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__b, __a);
11593a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11594a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11595a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
115964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool char __a, vector signed char __b)
11597a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
115983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
115994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
116004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11601a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11602a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11603a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool char __a, vector unsigned char __b)
11605a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __b, (vector unsigned char)__a);
11607a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11608a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11609a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool char __a, vector bool char __b)
11611a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
116134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
116144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
11615a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11616a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11617a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector short __a, vector short __b)
11619a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __b, __a);
11621a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11622a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11623a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector short __a, vector bool short __b)
11625a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, (vector short)__b, __a);
11627a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11628a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11629a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned short __a, vector unsigned short __b)
11631a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, __a);
11633a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11634a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11635a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned short __a, vector bool short __b)
11637a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
116394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__b, __a);
11640a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11641a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11642a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool short __a, vector short __b)
11644a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
116464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
116474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11648a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11649a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11650a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool short __a, vector unsigned short __b)
11652a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11653a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
116544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __b, (vector unsigned short)__a);
11655a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11656a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11657a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool short __a, vector bool short __b)
11659a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
116614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
116624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
11663a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11664a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11665a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector int __a, vector int __b)
11667a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __b, __a);
11669a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11670a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11671a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector int __a, vector bool int __b)
11673a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, (vector int)__b, __a);
11675a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11676a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11677a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned int __a, vector unsigned int __b)
11679a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, __a);
11681a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11682a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11683a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector unsigned int __a, vector bool int __b)
11685a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__b, __a);
11687a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11688a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11689a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool int __a, vector int __b)
11691a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
116923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
116934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
116944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11695a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11696a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11697a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
116984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool int __a, vector unsigned int __b)
11699a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __b, (vector unsigned int)__a);
11701a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11702a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11703a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector bool int __a, vector bool int __b)
11705a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
117074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
117084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
11709a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11710a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11711a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ge(vector float __a, vector float __b)
11713a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __a, __b);
11715a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11716a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11717a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_gt */
11718a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11719a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector signed char __a, vector signed char __b)
11721a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, __b);
11723a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11724a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11725a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector signed char __a, vector bool char __b)
11727a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __a, (vector signed char)__b);
11729a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11730a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11731a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned char __a, vector unsigned char __b)
11733a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, __b);
11735a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11736a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11737a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned char __a, vector bool char __b)
11739a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11740a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
117414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __a, (vector unsigned char)__b);
11742a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11743a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11744a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool char __a, vector signed char __b)
11746a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117473ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
117484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
117494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11750a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11751a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11752a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool char __a, vector unsigned char __b)
11754a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11755a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
117564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__a, __b);
11757a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11758a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11759a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool char __a, vector bool char __b)
11761a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
117634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
117644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11765a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11766a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11767a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector short __a, vector short __b)
11769a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, __b);
11771a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11772a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11773a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector short __a, vector bool short __b)
11775a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __a, (vector short)__b);
11777a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11778a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11779a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned short __a, vector unsigned short __b)
11781a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, __b);
11783a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11784a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11785a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned short __a, vector bool short __b)
11787a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11788a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
117894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __a, (vector unsigned short)__b);
11790a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11791a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11792a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
117934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool short __a, vector short __b)
11794a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
117953ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
117964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
117974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11798a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11799a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11800a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool short __a, vector unsigned short __b)
11802a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118033ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
118044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__a, __b);
11805a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11806a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11807a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool short __a, vector bool short __b)
11809a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
118114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
118124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11813a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11814a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11815a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector int __a, vector int __b)
11817a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, __b);
11819a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11820a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11821a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector int __a, vector bool int __b)
11823a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __a, (vector int)__b);
11825a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11826a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11827a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned int __a, vector unsigned int __b)
11829a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, __b);
11831a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11832a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11833a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector unsigned int __a, vector bool int __b)
11835a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __a, (vector unsigned int)__b);
11837a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11838a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11839a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool int __a, vector int __b)
11841a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118423ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
118434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
118444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11845a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11846a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11847a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool int __a, vector unsigned int __b)
11849a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__a, __b);
11851a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11852a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11853a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector bool int __a, vector bool int __b)
11855a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
118574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
118584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11859a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11860a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11861a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_gt(vector float __a, vector float __b)
11863a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __a, __b);
11865a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11866a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11867a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_le */
11868a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11869a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector signed char __a, vector signed char __b)
11871a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, __b);
11873a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11874a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11875a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector signed char __a, vector bool char __b)
11877a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, __a, (vector signed char)__b);
11879a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11880a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11881a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned char __a, vector unsigned char __b)
11883a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, __b);
11885a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11886a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11887a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned char __a, vector bool char __b)
11889a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11890a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
118914f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, __a, (vector unsigned char)__b);
11892a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11893a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11894a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
118954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool char __a, vector signed char __b)
11896a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
118973ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
118984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
118994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11900a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11901a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11902a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119034f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool char __a, vector unsigned char __b)
11904a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11905a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
119064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)__a, __b);
11907a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11908a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11909a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119104f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool char __a, vector bool char __b)
11911a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV,
119134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a,
119144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b);
11915a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11916a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11917a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector short __a, vector short __b)
11919a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, __b);
11921a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11922a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11923a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector short __a, vector bool short __b)
11925a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, __a, (vector short)__b);
11927dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11928dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
119294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
119304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned short __a, vector unsigned short __b)
11931dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
119324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, __b);
11933dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11934dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
119354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
119364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned short __a, vector bool short __b)
11937a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11938a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
119394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, __a, (vector unsigned short)__b);
11940a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11941a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11942a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool short __a, vector short __b)
11944a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
119464f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
119474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11948a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11949a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11950a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool short __a, vector unsigned short __b)
11952a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
11953a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
119544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)__a, __b);
11955a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11956a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11957a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool short __a, vector bool short __b)
11959a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV,
119614f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a,
119624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b);
11963a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11964a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11965a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector int __a, vector int __b)
11967dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
119684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, __b);
11969dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11970dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
119714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
119724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector int __a, vector bool int __b)
11973a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, __a, (vector int)__b);
11975a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11976a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11977a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned int __a, vector unsigned int __b)
11979dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
119804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, __b);
11981dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
11982dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
119834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
119844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector unsigned int __a, vector bool int __b)
11985a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, __a, (vector unsigned int)__b);
11987a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11988a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11989a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119904f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool int __a, vector int __b)
11991a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
119923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
119934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
119944f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
11995a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
11996a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
11997a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
119984f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool int __a, vector unsigned int __b)
11999a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
120004f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)__a, __b);
12001a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12002a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12003a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector bool int __a, vector bool int __b)
12005a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
120063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV,
120074f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a,
120084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b);
12009a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12010a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12011a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_le(vector float __a, vector float __b)
12013dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
120144f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, __b, __a);
12015dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12016dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12017dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_lt */
12018dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
120194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
120204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector signed char __a, vector signed char __b)
12021dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
120224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, __b, __a);
12023dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12024dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
120254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
120264f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector signed char __a, vector bool char __b)
12027a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
120284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, (vector signed char)__b, __a);
12029a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12030a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12031a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120324f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned char __a, vector unsigned char __b)
12033dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
120344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, __a);
12035dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12036dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
120374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
120384f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned char __a, vector bool char __b)
12039a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
12040a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
120414f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)__b, __a);
12042a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12043a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12044a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120454f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool char __a, vector signed char __b)
12046a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
120473ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
120484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
120494f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
12050a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12051a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12052a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120534f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool char __a, vector unsigned char __b)
12054a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
12055a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
120564f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, __b, (vector unsigned char)__a);
12057a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12058a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12059a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool char __a, vector bool char __b)
12061a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
120623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV,
120634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__b,
120644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned char)__a);
12065a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12066a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12067a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector short __a, vector short __b)
12069dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
120704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, __b, __a);
12071dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12072dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
120734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
120744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector short __a, vector bool short __b)
12075a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
120764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, (vector short)__b, __a);
12077a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12078a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12079a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120804f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned short __a, vector unsigned short __b)
12081dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
120824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, __a);
12083dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12084dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
120854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
120864f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned short __a, vector bool short __b)
12087a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
12088a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
120894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)__b, __a);
12090a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12091a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12092a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
120934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool short __a, vector short __b)
12094a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
120953ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
120964f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
120974f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
12098a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12099a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12100a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121014f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool short __a, vector unsigned short __b)
12102a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
12103a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev  return
121044f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, __b, (vector unsigned short)__a);
12105a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12106a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12107a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121084f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool short __a, vector bool short __b)
12109a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
121103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV,
121114f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__b,
121124f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned short)__a);
12113a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12114a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12115a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector int __a, vector int __b)
12117dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
121184f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, __b, __a);
12119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12120dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
121214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
121224f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector int __a, vector bool int __b)
12123a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
121244f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, (vector int)__b, __a);
12125a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12126a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12127a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121284f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned int __a, vector unsigned int __b)
12129dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
121304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, __a);
12131dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12132dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
121334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
121344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector unsigned int __a, vector bool int __b)
12135a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
121364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)__b, __a);
12137a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12138a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12139a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121404f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool int __a, vector int __b)
12141a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
121423ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
121434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
121444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
12145a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12146a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12147a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121484f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool int __a, vector unsigned int __b)
12149a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
121504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, __b, (vector unsigned int)__a);
12151a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12152a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12153a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121544f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector bool int __a, vector bool int __b)
12155a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
121563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV,
121574f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__b,
121584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector unsigned int)__a);
12159a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12160a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12161a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121624f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_lt(vector float __a, vector float __b)
12163dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
121644f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, __b, __a);
12165dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12166dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12167dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nan */
12168dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12169dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
121704f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nan(vector float __a)
12171dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
121724f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __a);
12173dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12174dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12175dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_ne */
12176dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
121774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
121784f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector signed char __a, vector signed char __b)
12179dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
121803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
121814f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12182dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12183dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
121844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
121854f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector signed char __a, vector bool char __b)
12186a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
121873ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
121884f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12189a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12190a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12191a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
121924f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned char __a, vector unsigned char __b)
12193dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
121943ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
121954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12196dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12197dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
121984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
121994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned char __a, vector bool char __b)
12200a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122013ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
122024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12203a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12204a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12205a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool char __a, vector signed char __b)
12207a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
122094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12210a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12211a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12212a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool char __a, vector unsigned char __b)
12214a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
122164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12217a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12218a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12219a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool char __a, vector bool char __b)
12221a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122223ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
122234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)__a, (vector char)__b);
12224a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12225a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12226a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector short __a, vector short __b)
12228dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
122294f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, __b);
12230dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12231dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
122324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
122334f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector short __a, vector bool short __b)
12234a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122354f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, __a, (vector short)__b);
12236a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12237a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12238a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122394f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned short __a, vector unsigned short __b)
12240dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
122413ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
122424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
122434f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
12244dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12245dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
122464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
122474f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned short __a, vector bool short __b)
12248a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122493ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
122504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
122514f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
12252a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12253a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12254a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122554f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool short __a, vector short __b)
12256a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122573ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
122584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
122594f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
12260a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12261a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12262a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122634f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool short __a, vector unsigned short __b)
12264a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
122664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
122674f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
12268a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12269a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12270a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122714f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool short __a, vector bool short __b)
12272a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
122744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
122754f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
12276a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12277a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12278a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122794f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector pixel __a, vector pixel __b)
12280a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122813ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return __builtin_altivec_vcmpequh_p(__CR6_LT_REV,
122824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__a,
122834f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie                                      (vector short)__b);
12284a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12285a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12286a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122874f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector int __a, vector int __b)
12288dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
122894f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, __b);
12290dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12291dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
122924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
122934f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector int __a, vector bool int __b)
12294a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
122954f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, __a, (vector int)__b);
12296a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12297a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12298a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
122994f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned int __a, vector unsigned int __b)
12300dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123013ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
123024f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12303dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12304dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
123054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai
123064f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector unsigned int __a, vector bool int __b)
12307a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
123083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
123094f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12310a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12311a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12312a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
123134f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool int __a, vector int __b)
12314a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
123153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
123164f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12317a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12318a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12319a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
123204f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool int __a, vector unsigned int __b)
12321a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
123223ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
123234f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12324a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12325a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12326a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
123274f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector bool int __a, vector bool int __b)
12328a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{
123293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev  return
123304f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie    __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)__a, (vector int)__b);
12331a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev}
12332a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev
12333a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai
123344f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ne(vector float __a, vector float __b)
12335dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123364f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, __a, __b);
12337dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12338dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12339dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nge */
12340dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12341dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
123424f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nge(vector float __a, vector float __b)
12343dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123444f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __a, __b);
12345dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12346dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12347dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_ngt */
12348dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12349dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
123504f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_ngt(vector float __a, vector float __b)
12351dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123524f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __a, __b);
12353dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12354dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12355dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nle */
12356dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12357dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
123584f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nle(vector float __a, vector float __b)
12359dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123604f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, __b, __a);
12361dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12362dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12363dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nlt */
12364dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12365dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
123664f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_nlt(vector float __a, vector float __b)
12367dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123684f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, __b, __a);
12369dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12370dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12371dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_numeric */
12372dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12373dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
123744f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_numeric(vector float __a)
12375dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123764f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, __a, __a);
12377dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12378dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12379dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_out */
12380dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12381dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__))
123824f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikievec_any_out(vector float __a, vector float __b)
12383dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{
123844f918aed75d4927e88365541c7200f0b5fe5014bDavid Blaikie  return __builtin_altivec_vcmpbfp_p(__CR6_EQ_REV, __a, __b);
12385dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner}
12386dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
123874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#undef __ATTRS_o_ai
12388dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner
12389dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#endif /* __ALTIVEC_H */
12390