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 404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector signed char a, vector signed char b, vector unsigned char c); 414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_perm(vector unsigned char a, 443ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char b, 453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char c); 464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 47f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 48f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector bool char a, vector bool char b, vector unsigned char c); 49f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector short a, vector short b, vector unsigned char c); 524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_perm(vector unsigned short a, 553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char c); 574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 59f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector bool short a, vector bool short b, vector unsigned char c); 60f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 61f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 62f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector pixel a, vector pixel b, vector unsigned char c); 63f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector int a, vector int b, vector unsigned char c); 664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector unsigned int a, vector unsigned int b, vector unsigned char c); 694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 70f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai 71f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector bool int a, vector bool int b, vector unsigned char c); 72f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector float a, vector float b, vector unsigned char c); 75dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 76dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_abs */ 77dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 78dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v16qi vec_abs 79dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v8hi vec_abs 80dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abs_v4si vec_abs 81dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 83dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_abs(vector signed char a) 84dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 85dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vmaxsb(a, -a); 86dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 87dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai 89dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_abs(vector signed short a) 90dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 91dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vmaxsh(a, -a); 92dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 93dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __ATTRS_o_ai 95dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_abs(vector signed int a) 96dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 97dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vmaxsw(a, -a); 98dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 99dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 1004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 101dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_abs(vector float a) 102dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 1033ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned int res = (vector unsigned int)a 1043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev & (vector unsigned int)(0x7FFFFFFF); 105ab866b46f3f626ac2da42d2b16ec3b5c04105e38Chris Lattner return (vector float)res; 106dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 107dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 108dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_abss */ 109dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 110dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v16qi vec_abss 111dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v8hi vec_abss 112dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#define __builtin_altivec_abss_v4si vec_abss 113dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 1144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 115dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_abss(vector signed char a) 116dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 1173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vmaxsb 1183ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (a, __builtin_altivec_vsubsbs((vector signed char)(0), a)); 119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 120dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 1214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai 122dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_abss(vector signed short a) 123dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 1243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vmaxsh 1253ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (a, __builtin_altivec_vsubshs((vector signed short)(0), a)); 126dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 127dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 1284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __ATTRS_o_ai 129dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_abss(vector signed int a) 130dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 1313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vmaxsw 1323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (a, __builtin_altivec_vsubsws((vector signed int)(0), a)); 133dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 134dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 135dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_add */ 136dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 1374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 138dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_add(vector signed char a, vector signed char b) 139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 140dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a + b; 141dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 142dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 14305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 14405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector bool char a, vector signed char b) 14505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 14605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector signed char)a + b; 14705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 14805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 14905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 15005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector signed char a, vector bool char b) 15105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 15205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector signed char)b; 15305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 15405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 1554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 156dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_add(vector unsigned char a, vector unsigned char b) 157dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 158dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a + b; 159dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 160dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 16105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 16205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector bool char a, vector unsigned char b) 16305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 16405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned char)a + b; 16505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 16605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 16705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 16805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector unsigned char a, vector bool char b) 16905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 17005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector unsigned char)b; 17105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 17205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 1734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 1744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_add(vector short a, vector short b) 1754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 1774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 1784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 18005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector bool short a, vector short b) 18105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 18205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector short)a + b; 18305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 18405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 18505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 18605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector short a, vector bool short b) 18705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 18805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector short)b; 18905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 19005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 1914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 1924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_add(vector unsigned short a, vector unsigned short b) 1934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 1954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 1964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 19805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector bool short a, vector unsigned short b) 19905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 20005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned short)a + b; 20105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 20205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 20305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 20405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector unsigned short a, vector bool short b) 20505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 20605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector unsigned short)b; 20705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 20805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 2094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 2104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_add(vector int a, vector int b) 2114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 2124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 2134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 2144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 21605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector bool int a, vector int b) 21705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 21805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector int)a + b; 21905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 22005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 22105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 22205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector int a, vector bool int b) 22305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 22405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector int)b; 22505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 22605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 2274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 2284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_add(vector unsigned int a, vector unsigned int b) 2294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 2304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 2314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 2324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 23405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector bool int a, vector unsigned int b) 23505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 23605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned int)a + b; 23705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 23805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 23905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 24005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_add(vector unsigned int a, vector bool int b) 24105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 24205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector unsigned int)b; 24305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 24405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 2454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 2464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_add(vector float a, vector float b) 2474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 2484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 2494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 2504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddubm */ 2524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vaddubm vec_vaddubm 2544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 2564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddubm(vector signed char a, vector signed char b) 2574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 2584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 2594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 2604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 26105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 26205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddubm(vector bool char a, vector signed char b) 26305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 26405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector signed char)a + b; 26505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 26605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 26705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 26805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddubm(vector signed char a, vector bool char b) 26905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 27005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector signed char)b; 27105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 27205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 2734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddubm(vector unsigned char a, vector unsigned char b) 2754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 2764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 2774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 2784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 28005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddubm(vector bool char a, vector unsigned char b) 28105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 28205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned char)a + b; 28305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 28405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 28505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 28605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddubm(vector unsigned char a, vector bool char b) 28705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 28805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector unsigned char)b; 28905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 29005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 2914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduhm */ 2924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vadduhm vec_vadduhm 2944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 2964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vadduhm(vector short a, vector short b) 2974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 2984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 2994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 3004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 30105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 30205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduhm(vector bool short a, vector short b) 30305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 30405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector short)a + b; 30505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 30605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 30705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 30805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduhm(vector short a, vector bool short b) 30905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 31005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector short)b; 31105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 31205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 3134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 3144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vadduhm(vector unsigned short a, vector unsigned short b) 3154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 3164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 3174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 3184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 31905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 32005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduhm(vector bool short a, vector unsigned short b) 32105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 32205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned short)a + b; 32305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 32405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 32505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 32605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduhm(vector unsigned short a, vector bool short b) 32705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 32805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector unsigned short)b; 32905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 33005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 3314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduwm */ 3324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vadduwm vec_vadduwm 3344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 3364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vadduwm(vector int a, vector int b) 3374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 3384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 3394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 3404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 34205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduwm(vector bool int a, vector int b) 34305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 34405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector int)a + b; 34505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 34605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 34705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 34805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduwm(vector int a, vector bool int b) 34905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 35005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector int)b; 35105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 35205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 3534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 3544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vadduwm(vector unsigned int a, vector unsigned int b) 3554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 3564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 3574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 3584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 36005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduwm(vector bool int a, vector unsigned int b) 36105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 36205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned int)a + b; 36305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 36405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 36505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 36605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduwm(vector unsigned int a, vector bool int b) 36705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 36805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a + (vector unsigned int)b; 36905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 37005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 3714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddfp */ 3724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vaddfp vec_vaddfp 3744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 3764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddfp(vector float a, vector float b) 3774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 3784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a + b; 3794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 3804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_addc */ 3824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 3844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_addc(vector unsigned int a, vector unsigned int b) 3854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 3864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddcuw(a, b); 3874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 3884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddcuw */ 3904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 3924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddcuw(vector unsigned int a, vector unsigned int b) 3934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 3944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddcuw(a, b); 3954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 3964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_adds */ 3984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 4004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_adds(vector signed char a, vector signed char b) 4014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddsbs(a, b); 4034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 4044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 40505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 40605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector bool char a, vector signed char b) 40705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 40805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsbs((vector signed char)a, b); 40905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 41005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 41105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 41205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector signed char a, vector bool char b) 41305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 41405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsbs(a, (vector signed char)b); 41505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 41605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 4174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 4184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_adds(vector unsigned char a, vector unsigned char b) 4194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddubs(a, b); 4214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 4224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 42405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector bool char a, vector unsigned char b) 42505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 42605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddubs((vector unsigned char)a, b); 42705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 42805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 42905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 43005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector unsigned char a, vector bool char b) 43105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 43205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddubs(a, (vector unsigned char)b); 43305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 43405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 4354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 4364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_adds(vector short a, vector short b) 4374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddshs(a, b); 4394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 4404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 44205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector bool short a, vector short b) 44305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 44405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddshs((vector short)a, b); 44505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 44605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 44705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 44805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector short a, vector bool short b) 44905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 45005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddshs(a, (vector short)b); 45105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 45205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 4534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 4544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_adds(vector unsigned short a, vector unsigned short b) 4554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vadduhs(a, b); 4574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 4584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 46005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector bool short a, vector unsigned short b) 46105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 46205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduhs((vector unsigned short)a, b); 46305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 46405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 46505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 46605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector unsigned short a, vector bool short b) 46705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 46805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduhs(a, (vector unsigned short)b); 46905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 47005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 4714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 4724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_adds(vector int a, vector int b) 4734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddsws(a, b); 4754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 4764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 47705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 47805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector bool int a, vector int b) 47905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 48005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsws((vector int)a, b); 48105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 48205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 48305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 48405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector int a, vector bool int b) 48505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 48605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsws(a, (vector int)b); 48705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 48805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 4894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 4904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_adds(vector unsigned int a, vector unsigned int b) 4914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vadduws(a, b); 4934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 4944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 49605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector bool int a, vector unsigned int b) 49705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 49805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduws((vector unsigned int)a, b); 49905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 50005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 50105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 50205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_adds(vector unsigned int a, vector bool int b) 50305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 50405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduws(a, (vector unsigned int)b); 50505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 50605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 5074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddsbs */ 5084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 5104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddsbs(vector signed char a, vector signed char b) 5114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddsbs(a, b); 5134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 5144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 51505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 51605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddsbs(vector bool char a, vector signed char b) 51705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 51805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsbs((vector signed char)a, b); 51905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 52005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 52105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 52205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddsbs(vector signed char a, vector bool char b) 52305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 52405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsbs(a, (vector signed char)b); 52505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 52605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 5274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddubs */ 5284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 5304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddubs(vector unsigned char a, vector unsigned char b) 5314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddubs(a, b); 5334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 5344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 53605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddubs(vector bool char a, vector unsigned char b) 53705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 53805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddubs((vector unsigned char)a, b); 53905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 54005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 54105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 54205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddubs(vector unsigned char a, vector bool char b) 54305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 54405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddubs(a, (vector unsigned char)b); 54505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 54605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 5474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddshs */ 5484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 5504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddshs(vector short a, vector short b) 5514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddshs(a, b); 5534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 5544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 55605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddshs(vector bool short a, vector short b) 55705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 55805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddshs((vector short)a, b); 55905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 56005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 56105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 56205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddshs(vector short a, vector bool short b) 56305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 56405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddshs(a, (vector short)b); 56505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 56605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 5674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduhs */ 5684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 5704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vadduhs(vector unsigned short a, vector unsigned short b) 5714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vadduhs(a, b); 5734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 5744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 57605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduhs(vector bool short a, vector unsigned short b) 57705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 57805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduhs((vector unsigned short)a, b); 57905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 58005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 58105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 58205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduhs(vector unsigned short a, vector bool short b) 58305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 58405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduhs(a, (vector unsigned short)b); 58505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 58605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 5874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vaddsws */ 5884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 5904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vaddsws(vector int a, vector int b) 5914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vaddsws(a, b); 5934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 5944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 59605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddsws(vector bool int a, vector int b) 59705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 59805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsws((vector int)a, b); 59905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 60005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 60105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 60205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vaddsws(vector int a, vector bool int b) 60305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 60405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vaddsws(a, (vector int)b); 60505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 60605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 6074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vadduws */ 6084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 6104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vadduws(vector unsigned int a, vector unsigned int b) 6114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vadduws(a, b); 6134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 6144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 61605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduws(vector bool int a, vector unsigned int b) 61705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 61805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduws((vector unsigned int)a, b); 61905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 62005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 62105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 62205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vadduws(vector unsigned int a, vector bool int b) 62305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 62405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return __builtin_altivec_vadduws(a, (vector unsigned int)b); 62505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 62605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 6274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_and */ 6284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vand vec_and 6304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 6324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_and(vector signed char a, vector signed char b) 6334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 6354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 6364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 63805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool char a, vector signed char b) 63905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 64005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector signed char)a & b; 64105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 64205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 64305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 64405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector signed char a, vector bool char b) 64505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 64605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector signed char)b; 64705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 64805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 6494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 6504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_and(vector unsigned char a, vector unsigned char b) 6514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 6534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 6544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 65605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool char a, vector unsigned char b) 65705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 65805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned char)a & b; 65905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 66005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 66105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 66205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector unsigned char a, vector bool char b) 66305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 66405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector unsigned char)b; 66505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 66605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 66705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai 66805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool char a, vector bool char b) 66905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 67005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & b; 67105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 67205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 6734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 6744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_and(vector short a, vector short b) 6754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 6774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 6784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 68005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool short a, vector short b) 68105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 68205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector short)a & b; 68305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 68405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 68505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 68605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector short a, vector bool short b) 68705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 68805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector short)b; 68905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 69005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 6914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 6924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_and(vector unsigned short a, vector unsigned short b) 6934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 6954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 6964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 69805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool short a, vector unsigned short b) 69905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 70005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned short)a & b; 70105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 70205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 70305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 70405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector unsigned short a, vector bool short b) 70505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 70605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector unsigned short)b; 70705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 70805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 70905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai 71005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool short a, vector bool short b) 71105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 71205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & b; 71305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 71405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 7154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 7164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_and(vector int a, vector int b) 7174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 7184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 7194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 7204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 72105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 72205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool int a, vector int b) 72305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 72405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector int)a & b; 72505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 72605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 72705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 72805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector int a, vector bool int b) 72905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 73005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector int)b; 73105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 73205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 7334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 7344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_and(vector unsigned int a, vector unsigned int b) 7354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 7364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 7374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 7384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 74005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool int a, vector unsigned int b) 74105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 74205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned int)a & b; 74305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 74405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 74505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 74605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector unsigned int a, vector bool int b) 74705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 74805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector unsigned int)b; 74905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 75005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 75105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai 75205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool int a, vector bool int b) 75305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 75405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & b; 75505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 75605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 7574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 7584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_and(vector float a, vector float b) 7594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 7604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a & (vector unsigned int)b; 7614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 7624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 7634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 76405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 76505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector bool int a, vector float b) 76605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 76705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & (vector unsigned int)b; 76805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 76905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 77005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 77105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 77205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_and(vector float a, vector bool int b) 77305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 77405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & (vector unsigned int)b; 77505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 77605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 77705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 7784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vand */ 7794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 7804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 7814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vand(vector signed char a, vector signed char b) 7824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 7834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 7844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 7854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 78605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 78705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool char a, vector signed char b) 78805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 78905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector signed char)a & b; 79005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 79105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 79205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 79305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector signed char a, vector bool char b) 79405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 79505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector signed char)b; 79605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 79705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 7984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 7994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vand(vector unsigned char a, vector unsigned char b) 8004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 8014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 8024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 8034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 80405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 80505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool char a, vector unsigned char b) 80605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 80705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned char)a & b; 80805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 80905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 81005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 81105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector unsigned char a, vector bool char b) 81205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 81305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector unsigned char)b; 81405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 81505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 81605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai 81705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool char a, vector bool char b) 81805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 81905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & b; 82005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 82105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 8224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 8234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vand(vector short a, vector short b) 8244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 8254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 8264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 8274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 82805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 82905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool short a, vector short b) 83005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 83105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector short)a & b; 83205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 83305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 83405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 83505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector short a, vector bool short b) 83605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 83705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector short)b; 83805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 83905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 8404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 8414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vand(vector unsigned short a, vector unsigned short b) 8424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 8434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 8444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 8454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 84605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 84705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool short a, vector unsigned short b) 84805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 84905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned short)a & b; 85005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 85105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 85205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 85305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector unsigned short a, vector bool short b) 85405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 85505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector unsigned short)b; 85605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 85705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 85805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai 85905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool short a, vector bool short b) 86005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 86105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & b; 86205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 86305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 8644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 8654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vand(vector int a, vector int b) 8664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 8674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 8684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 8694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 87005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 87105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool int a, vector int b) 87205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 87305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector int)a & b; 87405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 87505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 87605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 87705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector int a, vector bool int b) 87805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 87905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector int)b; 88005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 88105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 8824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 8834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vand(vector unsigned int a, vector unsigned int b) 8844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 8854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & b; 8864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 8874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 88805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 88905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool int a, vector unsigned int b) 89005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 89105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned int)a & b; 89205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 89305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 89405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 89505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector unsigned int a, vector bool int b) 89605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 89705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & (vector unsigned int)b; 89805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 89905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 90005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai 90105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool int a, vector bool int b) 90205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 90305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & b; 90405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 90505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 9064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 9074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vand(vector float a, vector float b) 9084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 9094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a & (vector unsigned int)b; 9104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 9114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 9124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 91305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 91405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector bool int a, vector float b) 91505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 91605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & (vector unsigned int)b; 91705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 91805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 91905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 92005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 92105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vand(vector float a, vector bool int b) 92205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 92305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & (vector unsigned int)b; 92405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 92505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 92605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 9274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_andc */ 9284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 9294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vandc vec_andc 9304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 9314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 9324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_andc(vector signed char a, vector signed char b) 9334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 9344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 9354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 9364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 93705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 93805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool char a, vector signed char b) 93905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 94005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector signed char)a & ~b; 94105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 94205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 94305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 94405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector signed char a, vector bool char b) 94505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 94605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector signed char)b; 94705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 94805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 9494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 9504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_andc(vector unsigned char a, vector unsigned char b) 9514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 9524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 9534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 9544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 95505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 95605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool char a, vector unsigned char b) 95705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 95805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned char)a & ~b; 95905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 96005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 96105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 96205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector unsigned char a, vector bool char b) 96305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 96405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector unsigned char)b; 96505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 96605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 96705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai 96805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool char a, vector bool char b) 96905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 97005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~b; 97105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 97205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 9734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 9744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_andc(vector short a, vector short b) 9754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 9764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 9774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 9784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 97905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 98005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool short a, vector short b) 98105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 98205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector short)a & ~b; 98305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 98405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 98505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 98605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector short a, vector bool short b) 98705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 98805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector short)b; 98905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 99005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 9914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 9924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_andc(vector unsigned short a, vector unsigned short b) 9934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 9944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 9954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 9964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 99705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 99805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool short a, vector unsigned short b) 99905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 100005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned short)a & ~b; 100105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 100205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 100305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 100405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector unsigned short a, vector bool short b) 100505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 100605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector unsigned short)b; 100705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 100805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 100905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai 101005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool short a, vector bool short b) 101105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 101205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~b; 101305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 101405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 10154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 10164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_andc(vector int a, vector int b) 10174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 10184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 10194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 10204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 102105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 102205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool int a, vector int b) 102305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 102405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector int)a & ~b; 102505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 102605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 102705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 102805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector int a, vector bool int b) 102905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 103005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector int)b; 103105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 103205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 10334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 10344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_andc(vector unsigned int a, vector unsigned int b) 10354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 10364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 10374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 10384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 103905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 104005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool int a, vector unsigned int b) 104105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 104205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned int)a & ~b; 104305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 104405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 104505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 104605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector unsigned int a, vector bool int b) 104705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 104805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector unsigned int)b; 104905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 105005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 105105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai 105205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool int a, vector bool int b) 105305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 105405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~b; 105505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 105605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 10574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 10584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_andc(vector float a, vector float b) 10594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 10604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a & ~(vector unsigned int)b; 10614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 10624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 10634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 106405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 106505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector bool int a, vector float b) 106605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 106705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & ~(vector unsigned int)b; 106805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 106905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 107005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 107105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 107205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_andc(vector float a, vector bool int b) 107305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 107405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & ~(vector unsigned int)b; 107505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 107605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 107705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 10784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vandc */ 10794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 10804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 10814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vandc(vector signed char a, vector signed char b) 10824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 10834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 10844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 10854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 108605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 108705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool char a, vector signed char b) 108805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 108905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector signed char)a & ~b; 109005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 109105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 109205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector signed char __ATTRS_o_ai 109305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector signed char a, vector bool char b) 109405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 109505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector signed char)b; 109605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 109705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 10984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 10994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vandc(vector unsigned char a, vector unsigned char b) 11004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 11014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 11024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 11034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 110405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 110505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool char a, vector unsigned char b) 110605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 110705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned char)a & ~b; 110805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 110905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 111005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned char __ATTRS_o_ai 111105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector unsigned char a, vector bool char b) 111205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 111305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector unsigned char)b; 111405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 111505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 111605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool char __ATTRS_o_ai 111705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool char a, vector bool char b) 111805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 111905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~b; 112005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 112105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 11224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 11234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vandc(vector short a, vector short b) 11244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 11254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 11264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 11274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 112805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 112905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool short a, vector short b) 113005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 113105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector short)a & ~b; 113205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 113305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 113405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector short __ATTRS_o_ai 113505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector short a, vector bool short b) 113605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 113705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector short)b; 113805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 113905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 11404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 11414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vandc(vector unsigned short a, vector unsigned short b) 11424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 11434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 11444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 11454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 114605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 114705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool short a, vector unsigned short b) 114805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 114905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned short)a & ~b; 115005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 115105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 115205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned short __ATTRS_o_ai 115305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector unsigned short a, vector bool short b) 115405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 115505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector unsigned short)b; 115605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 115705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 115805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool short __ATTRS_o_ai 115905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool short a, vector bool short b) 116005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 116105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~b; 116205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 116305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 11644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 11654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vandc(vector int a, vector int b) 11664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 11674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 11684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 11694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 117005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 117105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool int a, vector int b) 117205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 117305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector int)a & ~b; 117405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 117505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 117605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector int __ATTRS_o_ai 117705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector int a, vector bool int b) 117805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 117905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector int)b; 118005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 118105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 11824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 11834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vandc(vector unsigned int a, vector unsigned int b) 11844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 11854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a & ~b; 11864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 11874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 118805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 118905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool int a, vector unsigned int b) 119005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 119105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector unsigned int)a & ~b; 119205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 119305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 119405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector unsigned int __ATTRS_o_ai 119505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector unsigned int a, vector bool int b) 119605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 119705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~(vector unsigned int)b; 119805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 119905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 120005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector bool int __ATTRS_o_ai 120105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool int a, vector bool int b) 120205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 120305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return a & ~b; 120405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 120505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 12064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 12074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vandc(vector float a, vector float b) 12084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a & ~(vector unsigned int)b; 12104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 12114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 121305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 121405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector bool int a, vector float b) 121505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 121605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & ~(vector unsigned int)b; 121705e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 121805e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 121905e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 122005e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevstatic vector float __ATTRS_o_ai 122105e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsevvec_vandc(vector float a, vector bool int b) 122205e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev{ 122305e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev vector unsigned int res = (vector unsigned int)a & ~(vector unsigned int)b; 122405e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev return (vector float)res; 122505e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev} 122605e3555b21d7fe123a57de5b26dbf4600376e776Anton Yartsev 12274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_avg */ 12284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 12304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_avg(vector signed char a, vector signed char b) 12314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgsb(a, b); 12334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 12364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_avg(vector unsigned char a, vector unsigned char b) 12374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgub(a, b); 12394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 12424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_avg(vector short a, vector short b) 12434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgsh(a, b); 12454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 12484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_avg(vector unsigned short a, vector unsigned short b) 12494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavguh(a, b); 12514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 12544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_avg(vector int a, vector int b) 12554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgsw(a, b); 12574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 12604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_avg(vector unsigned int a, vector unsigned int b) 12614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavguw(a, b); 12634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsb */ 12664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __attribute__((__always_inline__)) 12684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vavgsb(vector signed char a, vector signed char b) 12694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgsb(a, b); 12714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgub */ 12744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __attribute__((__always_inline__)) 12764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vavgub(vector unsigned char a, vector unsigned char b) 12774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgub(a, b); 12794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsh */ 12824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__)) 12844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vavgsh(vector short a, vector short b) 12854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgsh(a, b); 12874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavguh */ 12904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__)) 12924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vavguh(vector unsigned short a, vector unsigned short b) 12934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 12944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavguh(a, b); 12954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 12964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavgsw */ 12984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 12994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 13004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vavgsw(vector int a, vector int b) 13014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 13024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavgsw(a, b); 13034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vavguw */ 13064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 13084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vavguw(vector unsigned int a, vector unsigned int b) 13094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 13104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vavguw(a, b); 13114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ceil */ 13144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 13164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_ceil(vector float a) 13174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 13184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfip(a); 13194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfip */ 13224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 13244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrfip(vector float a) 13254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 13264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfip(a); 13274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpb */ 13304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 13324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpb(vector float a, vector float b) 13334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 13344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vcmpbfp(a, b); 13354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpbfp */ 13384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 13404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpbfp(vector float a, vector float b) 13414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 13424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vcmpbfp(a, b); 13434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpeq */ 13464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 13484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpeq(vector signed char a, vector signed char b) 13494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1350a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char) 1351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_vcmpequb((vector char)a, (vector char)b); 13524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1354a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 13554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpeq(vector unsigned char a, vector unsigned char b) 13564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char) 1358a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_vcmpequb((vector char)a, (vector char)b); 13594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1361a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 13624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpeq(vector short a, vector short b) 13634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1364a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vcmpequh(a, b); 13654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1367a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 13684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpeq(vector unsigned short a, vector unsigned short b) 13694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1370a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short) 1371a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_vcmpequh((vector short)a, (vector short)b); 13724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1374a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 13754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpeq(vector int a, vector int b) 13764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1377a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpequw(a, b); 13784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1380a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 13814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpeq(vector unsigned int a, vector unsigned int b) 13824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1383a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int) 1384a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_vcmpequw((vector int)a, (vector int)b); 13854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1387a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 13884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpeq(vector float a, vector float b) 13894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1390a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpeqfp(a, b); 13914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 13924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 13934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpge */ 13944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1395a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__)) 13964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpge(vector float a, vector float b) 13974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgefp(a, b); 13994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgefp */ 14024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__)) 14044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgefp(vector float a, vector float b) 14054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1406a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgefp(a, b); 14074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmpgt */ 14104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1411a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 14124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpgt(vector signed char a, vector signed char b) 14134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1414a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vcmpgtsb(a, b); 14154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 14184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpgt(vector unsigned char a, vector unsigned char b) 14194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vcmpgtub(a, b); 14214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 14244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpgt(vector short a, vector short b) 14254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vcmpgtsh(a, b); 14274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 14304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpgt(vector unsigned short a, vector unsigned short b) 14314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1432a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vcmpgtuh(a, b); 14334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 14364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpgt(vector int a, vector int b) 14374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtsw(a, b); 14394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 14424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpgt(vector unsigned int a, vector unsigned int b) 14434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtuw(a, b); 14454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 14484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmpgt(vector float a, vector float b) 14494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1450a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtfp(a, b); 14514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsb */ 14544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __attribute__((__always_inline__)) 14564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgtsb(vector signed char a, vector signed char b) 14574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vcmpgtsb(a, b); 14594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtub */ 14624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __attribute__((__always_inline__)) 14644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgtub(vector unsigned char a, vector unsigned char b) 14654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1466a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vcmpgtub(a, b); 14674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsh */ 14704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __attribute__((__always_inline__)) 14724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgtsh(vector short a, vector short b) 14734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1474a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vcmpgtsh(a, b); 14754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtuh */ 14784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __attribute__((__always_inline__)) 14804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgtuh(vector unsigned short a, vector unsigned short b) 14814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1482a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vcmpgtuh(a, b); 14834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtsw */ 14864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1487a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__)) 14884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgtsw(vector int a, vector int b) 14894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1490a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtsw(a, b); 14914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 14924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 14934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtuw */ 14944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1495a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__)) 14964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgtuw(vector unsigned int a, vector unsigned int b) 14974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtuw(a, b); 14994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcmpgtfp */ 15024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__)) 15044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcmpgtfp(vector float a, vector float b) 15054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtfp(a, b); 15074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmple */ 15104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1511a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __attribute__((__always_inline__)) 15124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmple(vector float a, vector float b) 15134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1514a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgefp(b, a); 15154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cmplt */ 15184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1519a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 15204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmplt(vector signed char a, vector signed char b) 15214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1522a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vcmpgtsb(b, a); 15234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1525a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 15264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmplt(vector unsigned char a, vector unsigned char b) 15274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1528a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vcmpgtub(b, a); 15294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1531a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 15324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmplt(vector short a, vector short b) 15334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1534a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vcmpgtsh(b, a); 15354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1537a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 15384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmplt(vector unsigned short a, vector unsigned short b) 15394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1540a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vcmpgtuh(b, a); 15414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 15444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmplt(vector int a, vector int b) 15454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1546a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtsw(b, a); 15474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 15504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmplt(vector unsigned int a, vector unsigned int b) 15514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1552a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtuw(b, a); 15534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1555a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 15564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cmplt(vector float a, vector float b) 15574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 1558a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vcmpgtfp(b, a); 15594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ctf */ 15624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 15644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_ctf(vector int a, int b) 15654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 15664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vcfsx(a, b); 15674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 15704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_ctf(vector unsigned int a, int b) 15714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 15724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vcfux((vector int)a, b); 15734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcfsx */ 15764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 15784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcfsx(vector int a, int b) 15794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 15804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vcfsx(a, b); 15814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vcfux */ 15844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 15864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vcfux(vector unsigned int a, int b) 15874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 15884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vcfux((vector int)a, b); 15894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_cts */ 15924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 15944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_cts(vector float a, int b) 15954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 15964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vctsxs(a, b); 15974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 15984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 15994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vctsxs */ 16004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 16024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vctsxs(vector float a, int b) 16034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vctsxs(a, b); 16054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ctu */ 16084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 16104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_ctu(vector float a, int b) 16114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vctuxs(a, b); 16134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vctuxs */ 16164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 16184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vctuxs(vector float a, int b) 16194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vctuxs(a, b); 16214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dss */ 16244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__)) 16264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_dss(int a) 16274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_dss(a); 16294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dssall */ 16324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__)) 16344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_dssall(void) 16354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_dssall(); 16374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dst */ 16404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__)) 1642e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_dst(const void *a, int b, int c) 16434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_dst(a, b, c); 16454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dstst */ 16484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__)) 1650e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_dstst(const void *a, int b, int c) 16514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_dstst(a, b, c); 16534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dststt */ 16564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__)) 1658e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_dststt(const void *a, int b, int c) 16594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_dststt(a, b, c); 16614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_dstt */ 16644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __attribute__((__always_inline__)) 1666e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_dstt(const void *a, int b, int c) 16674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_dstt(a, b, c); 16694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_expte */ 16724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 16744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_expte(vector float a) 16754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vexptefp(a); 16774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vexptefp */ 16804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 16824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vexptefp(vector float a) 16834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vexptefp(a); 16854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_floor */ 16884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 16904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_floor(vector float a) 16914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 16924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfim(a); 16934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 16944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfim */ 16964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 16974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 16984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrfim(vector float a) 16994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfim(a); 17014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ld */ 17044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 1706e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector signed char *b) 17074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvx(a, b); 17094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 1712e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const signed char *b) 17134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvx(a, b); 17154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 1718e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector unsigned char *b) 17194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvx(a, b); 17214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 1724e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const unsigned char *b) 17254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvx(a, b); 17274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1729a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 1730e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector bool char *b) 1731a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1732a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_lvx(a, b); 1733a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 17354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 1736e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector short *b) 17374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvx(a, b); 17394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 1742e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const short *b) 17434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvx(a, b); 17454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 1748e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector unsigned short *b) 17494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvx(a, b); 17514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 1754e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const unsigned short *b) 17554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvx(a, b); 17574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1759a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 1760e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector bool short *b) 1761a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_lvx(a, b); 1763a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1764a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 1765a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 1766e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector pixel *b) 1767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_lvx(a, b); 1769a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1770a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 17714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 1772e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector int *b) 17734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvx(a, b); 17754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 1778e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const int *b) 17794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvx(a, b); 17814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 1784e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector unsigned int *b) 17854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvx(a, b); 17874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 17894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 1790e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const unsigned int *b) 17914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 17924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvx(a, b); 17934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 17944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1795a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 1796e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector bool int *b) 1797a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_lvx(a, b); 1799a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 18014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 1802e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const vector float *b) 18034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvx(a, b); 18054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 1808e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ld(int a, const float *b) 18094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvx(a, b); 18114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvx */ 18144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 1816e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector signed char *b) 18174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvx(a, b); 18194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 1822e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const signed char *b) 18234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvx(a, b); 18254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 1828e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector unsigned char *b) 18294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvx(a, b); 18314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 1834e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const unsigned char *b) 18354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvx(a, b); 18374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1839a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 1840e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector bool char *b) 1841a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1842a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_lvx(a, b); 1843a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 18454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 1846e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector short *b) 18474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvx(a, b); 18494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 1852e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const short *b) 18534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvx(a, b); 18554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 1858e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector unsigned short *b) 18594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvx(a, b); 18614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 1864e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const unsigned short *b) 18654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvx(a, b); 18674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1869a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 1870e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector bool short *b) 1871a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_lvx(a, b); 1873a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1874a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 1875a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 1876e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector pixel *b) 1877a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1878a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_lvx(a, b); 1879a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1880a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 18814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 1882e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector int *b) 18834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvx(a, b); 18854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 1888e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const int *b) 18894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvx(a, b); 18914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 1894e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector unsigned int *b) 18954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 18964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvx(a, b); 18974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 18984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 18994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 1900e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const unsigned int *b) 19014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvx(a, b); 19034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 1905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 1906e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector bool int *b) 1907a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 1908a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_lvx(a, b); 1909a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 1910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 19114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 1912e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const vector float *b) 19134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvx(a, b); 19154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 1918e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvx(int a, const float *b) 19194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvx(a, b); 19214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lde */ 19244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 1926e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lde(int a, const vector signed char *b) 19274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvebx(a, b); 19294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 1932e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lde(int a, const vector unsigned char *b) 19334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvebx(a, b); 19354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 1938e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lde(int a, const vector short *b) 19394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvehx(a, b); 19414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 1944e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lde(int a, const vector unsigned short *b) 19454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvehx(a, b); 19474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 1950e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lde(int a, const vector int *b) 19514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvewx(a, b); 19534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 1956e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lde(int a, const vector unsigned int *b) 19574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvewx(a, b); 19594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 1962e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lde(int a, const vector float *b) 19634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvewx(a, b); 19654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvebx */ 19684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 1970e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvebx(int a, const vector signed char *b) 19714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvebx(a, b); 19734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 1976e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvebx(int a, const vector unsigned char *b) 19774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvebx(a, b); 19794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvehx */ 19824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 1984e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvehx(int a, const vector short *b) 19854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvehx(a, b); 19874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 1990e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvehx(int a, const vector unsigned short *b) 19914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 19924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvehx(a, b); 19934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 19944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvewx */ 19964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 19974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 1998e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvewx(int a, const vector int *b) 19994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvewx(a, b); 20014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 2004e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvewx(int a, const vector unsigned int *b) 20054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvewx(a, b); 20074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 2010e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvewx(int a, const vector float *b) 20114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvewx(a, b); 20134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_ldl */ 20164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 2018e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector signed char *b) 20194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvxl(a, b); 20214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 2024e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const signed char *b) 20254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvxl(a, b); 20274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2030e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector unsigned char *b) 20314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvxl(a, b); 20334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2036e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const unsigned char *b) 20374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvxl(a, b); 20394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 2042e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector bool char *b) 2043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2044a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_lvxl(a, b); 2045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 20474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 2048e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector short *b) 20494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvxl(a, b); 20514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 2054e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const short *b) 20554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvxl(a, b); 20574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 2060e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector unsigned short *b) 20614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvxl(a, b); 20634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 2066e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const unsigned short *b) 20674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvxl(a, b); 20694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 2072e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector bool short *b) 2073a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2074a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_lvxl(a, b); 2075a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2077a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 2078e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector pixel *b) 2079a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2080a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel short)__builtin_altivec_lvxl(a, b); 2081a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2082a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 20834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 2084e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector int *b) 20854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvxl(a, b); 20874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 2090e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const int *b) 20914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvxl(a, b); 20934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 20944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 20954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 2096e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector unsigned int *b) 20974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 20984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvxl(a, b); 20994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 2102e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const unsigned int *b) 21034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvxl(a, b); 21054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 2108e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector bool int *b) 2109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_lvxl(a, b); 2111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 21134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 2114e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const vector float *b) 21154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvxl(a, b); 21174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 2120e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_ldl(int a, const float *b) 21214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvxl(a, b); 21234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvxl */ 21264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 2128e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector signed char *b) 21294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvxl(a, b); 21314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 2134e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const signed char *b) 21354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_lvxl(a, b); 21374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2140e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector unsigned char *b) 21414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvxl(a, b); 21434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2146e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const unsigned char *b) 21474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvxl(a, b); 21494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 2152e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector bool char *b) 2153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_lvxl(a, b); 2155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 21574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 2158e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector short *b) 21594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvxl(a, b); 21614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 2164e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const short *b) 21654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_lvxl(a, b); 21674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 2170e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector unsigned short *b) 21714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvxl(a, b); 21734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 2176e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const unsigned short *b) 21774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_lvxl(a, b); 21794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 2182e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector bool short *b) 2183a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2184a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_lvxl(a, b); 2185a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2186a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2187a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 2188e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector pixel *b) 2189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2190a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_lvxl(a, b); 2191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 21934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 2194e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector int *b) 21954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 21964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvxl(a, b); 21974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 21984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 21994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 2200e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const int *b) 22014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_lvxl(a, b); 22034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 2206e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector unsigned int *b) 22074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvxl(a, b); 22094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 2212e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const unsigned int *b) 22134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_lvxl(a, b); 22154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 2218e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector bool int *b) 2219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2220a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_lvxl(a, b); 2221a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 22234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 2224e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const vector float *b) 22254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvxl(a, b); 22274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 2230e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvxl(int a, const float *b) 22314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_lvxl(a, b); 22334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_loge */ 22364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 22384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_loge(vector float a) 22394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vlogefp(a); 22414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vlogefp */ 22444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 22464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vlogefp(vector float a) 22474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vlogefp(a); 22494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvsl */ 22524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2254e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsl(int a, const signed char *b) 22554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsl(a, b); 22574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2260e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsl(int a, const unsigned char *b) 22614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsl(a, b); 22634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2266e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsl(int a, const short *b) 22674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsl(a, b); 22694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2272e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsl(int a, const unsigned short *b) 22734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsl(a, b); 22754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2278e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsl(int a, const int *b) 22794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsl(a, b); 22814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2284e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsl(int a, const unsigned int *b) 22854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsl(a, b); 22874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2290e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsl(int a, const float *b) 22914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 22924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsl(a, b); 22934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 22944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_lvsr */ 22964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 22974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2298e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsr(int a, const signed char *b) 22994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsr(a, b); 23014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2304e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsr(int a, const unsigned char *b) 23054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsr(a, b); 23074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2310e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsr(int a, const short *b) 23114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsr(a, b); 23134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2316e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsr(int a, const unsigned short *b) 23174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsr(a, b); 23194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2322e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsr(int a, const int *b) 23234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsr(a, b); 23254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2328e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsr(int a, const unsigned int *b) 23294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsr(a, b); 23314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2334e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvsr(int a, const float *b) 23354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_lvsr(a, b); 23374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_madd */ 23404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 23424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_madd(vector float a, vector float b, vector float c) 23434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaddfp(a, b, c); 23454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaddfp */ 23484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 23504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmaddfp(vector float a, vector float b, vector float c) 23514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaddfp(a, b, c); 23534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_madds */ 23564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__)) 23584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_madds(vector signed short a, vector signed short b, vector signed short c) 23594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmhaddshs(a, b, c); 23614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmhaddshs */ 23644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__)) 23653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vmhaddshs(vector signed short a, 23663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector signed short b, 23673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector signed short c) 23684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmhaddshs(a, b, c); 23704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_max */ 23734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 23744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 2375a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_max(vector signed char a, vector signed char b) 23764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxsb(a, b); 23784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2380a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 2381a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector bool char a, vector signed char b) 2382a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2383a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsb((vector signed char)a, b); 2384a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2385a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2386a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 2387a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector signed char a, vector bool char b) 2388a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2389a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsb(a, (vector signed char)b); 2390a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2391a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 23924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 2393a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_max(vector unsigned char a, vector unsigned char b) 23944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 23954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxub(a, b); 23964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 23974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 2399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector bool char a, vector unsigned char b) 2400a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2401a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxub((vector unsigned char)a, b); 2402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 2405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector unsigned char a, vector bool char b) 2406a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2407a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxub(a, (vector unsigned char)b); 2408a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2409a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 24104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 24114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_max(vector short a, vector short b) 24124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 24134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxsh(a, b); 24144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 24154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2416a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 2417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector bool short a, vector short b) 2418a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2419a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsh((vector short)a, b); 2420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2421a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 2423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector short a, vector bool short b) 2424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2425a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsh(a, (vector short)b); 2426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 24284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 24294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_max(vector unsigned short a, vector unsigned short b) 24304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 24314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxuh(a, b); 24324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 24334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2434a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 2435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector bool short a, vector unsigned short b) 2436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuh((vector unsigned short)a, b); 2438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 2441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector unsigned short a, vector bool short b) 2442a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2443a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuh(a, (vector unsigned short)b); 2444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2445a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 24464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 24474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_max(vector int a, vector int b) 24484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 24494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxsw(a, b); 24504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 24514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2452a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 2453a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector bool int a, vector int b) 2454a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsw((vector int)a, b); 2456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 2459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector int a, vector bool int b) 2460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsw(a, (vector int)b); 2462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 24644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 24654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_max(vector unsigned int a, vector unsigned int b) 24664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 24674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxuw(a, b); 24684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 24694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2470a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 2471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector bool int a, vector unsigned int b) 2472a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2473a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuw((vector unsigned int)a, b); 2474a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2475a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2476a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 2477a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_max(vector unsigned int a, vector bool int b) 2478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuw(a, (vector unsigned int)b); 2480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 24824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 24834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_max(vector float a, vector float b) 24844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 24854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxfp(a, b); 24864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 24874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 24884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsb */ 24894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2490a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 2491a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_vmaxsb(vector signed char a, vector signed char b) 24924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 24934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxsb(a, b); 24944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 24954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 2497a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxsb(vector bool char a, vector signed char b) 2498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsb((vector signed char)a, b); 2500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 2503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxsb(vector signed char a, vector bool char b) 2504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsb(a, (vector signed char)b); 2506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 25084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxub */ 25094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2510a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 2511a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_vmaxub(vector unsigned char a, vector unsigned char b) 25124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 25134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxub(a, b); 25144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 25154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2516a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 2517a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxub(vector bool char a, vector unsigned char b) 2518a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2519a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxub((vector unsigned char)a, b); 2520a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2521a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2522a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 2523a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxub(vector unsigned char a, vector bool char b) 2524a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2525a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxub(a, (vector unsigned char)b); 2526a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 25284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsh */ 25294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2530a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 25314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmaxsh(vector short a, vector short b) 25324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 25334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxsh(a, b); 25344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 25354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2536a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 2537a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxsh(vector bool short a, vector short b) 2538a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2539a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsh((vector short)a, b); 2540a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2541a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2542a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 2543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxsh(vector short a, vector bool short b) 2544a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsh(a, (vector short)b); 2546a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 25484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxuh */ 25494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2550a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 25514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmaxuh(vector unsigned short a, vector unsigned short b) 25524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 25534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxuh(a, b); 25544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 25554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2556a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 2557a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxuh(vector bool short a, vector unsigned short b) 2558a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2559a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuh((vector unsigned short)a, b); 2560a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2561a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2562a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 2563a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxuh(vector unsigned short a, vector bool short b) 2564a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2565a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuh(a, (vector unsigned short)b); 2566a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2567a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 25684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxsw */ 25694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2570a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 25714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmaxsw(vector int a, vector int b) 25724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 25734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxsw(a, b); 25744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 25754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2576a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 2577a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxsw(vector bool int a, vector int b) 2578a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2579a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsw((vector int)a, b); 2580a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2581a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2582a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 2583a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxsw(vector int a, vector bool int b) 2584a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2585a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxsw(a, (vector int)b); 2586a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2587a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 25884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxuw */ 25894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2590a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 25914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmaxuw(vector unsigned int a, vector unsigned int b) 25924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 25934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxuw(a, b); 25944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 25954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2596a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 2597a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxuw(vector bool int a, vector unsigned int b) 2598a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2599a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuw((vector unsigned int)a, b); 2600a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 2602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 2603a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vmaxuw(vector unsigned int a, vector bool int b) 2604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 2605a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vmaxuw(a, (vector unsigned int)b); 2606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 2607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 26084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmaxfp */ 26094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 26104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 26114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmaxfp(vector float a, vector float b) 26124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 26134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmaxfp(a, b); 26144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 26154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 26164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mergeh */ 26174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 26184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 26194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergeh(vector signed char a, vector signed char b) 26204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 26214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 26224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 26234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); 26244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 26254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 26264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 26274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergeh(vector unsigned char a, vector unsigned char b) 26284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 26294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 26304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 26314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); 26324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 26334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2634f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 2635f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergeh(vector bool char a, vector bool char b) 2636f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2637f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2638f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 2639f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); 2640f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2641f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 26424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 26434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergeh(vector short a, vector short b) 26444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 26454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 26464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 26474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 26484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 26494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 26504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 26514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergeh(vector unsigned short a, vector unsigned short b) 26524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 26534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 26544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 26554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 26564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 26574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2658f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 2659f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergeh(vector bool short a, vector bool short b) 2660f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2661f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2662f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 2663f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 2664f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2665f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 2666f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 2667f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergeh(vector pixel a, vector pixel b) 2668f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2669f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2670f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 2671f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 2672f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2673f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 26744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 26754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergeh(vector int a, vector int b) 26764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 26774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 26784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 26794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 26804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 26814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 26824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 26834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergeh(vector unsigned int a, vector unsigned int b) 26844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 26854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 26864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 26874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 26884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 26894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2690f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai 2691f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergeh(vector bool int a, vector bool int b) 2692f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2693f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2694f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 2695f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 2696f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2697f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 26984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 26994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergeh(vector float a, vector float b) 27004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 27014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 27024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 27034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 27044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 27054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghb */ 27074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghb vec_vmrghb 27094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 27114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrghb(vector signed char a, vector signed char b) 27124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 27134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 27144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 27154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); 27164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 27174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 27194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrghb(vector unsigned char a, vector unsigned char b) 27204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 27214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 27224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 27234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); 27244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 27254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2726f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 2727f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrghb(vector bool char a, vector bool char b) 2728f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2729f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2730f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x10, 0x01, 0x11, 0x02, 0x12, 0x03, 0x13, 2731f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x14, 0x05, 0x15, 0x06, 0x16, 0x07, 0x17)); 2732f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2733f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 27344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghh */ 27354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghh vec_vmrghh 27374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 27394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrghh(vector short a, vector short b) 27404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 27414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 27424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 27434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 27444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 27454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 27474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrghh(vector unsigned short a, vector unsigned short b) 27484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 27494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 27504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 27514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 27524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 27534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2754f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 2755f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrghh(vector bool short a, vector bool short b) 2756f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2757f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2758f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 2759f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 2760f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2761f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 2762f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 2763f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrghh(vector pixel a, vector pixel b) 2764f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2765f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2766f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x01, 0x10, 0x11, 0x02, 0x03, 0x12, 0x13, 2767f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x05, 0x14, 0x15, 0x06, 0x07, 0x16, 0x17)); 2768f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2769f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 27704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrghw */ 27714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrghw vec_vmrghw 27734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 27754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrghw(vector int a, vector int b) 27764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 27774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 27784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 27794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 27804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 27814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 27824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 27834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrghw(vector unsigned int a, vector unsigned int b) 27844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 27854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 27864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 27874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 27884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 27894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2790f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai 2791f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrghw(vector bool int a, vector bool int b) 2792f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2793f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2794f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 2795f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 2796f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2797f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 27984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 27994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrghw(vector float a, vector float b) 28004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x00, 0x01, 0x02, 0x03, 0x10, 0x11, 0x12, 0x13, 28034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x04, 0x05, 0x06, 0x07, 0x14, 0x15, 0x16, 0x17)); 28044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 28064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mergel */ 28074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 28084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 28094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergel(vector signed char a, vector signed char b) 28104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 28134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); 28144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 28164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 28174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergel(vector unsigned char a, vector unsigned char b) 28184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 28214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); 28224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2824f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 2825f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergel(vector bool char a, vector bool char b) 2826f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2827f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2828f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 2829f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); 2830f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2831f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 28324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 28334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergel(vector short a, vector short b) 28344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 28374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 28384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 28404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 28414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergel(vector unsigned short a, vector unsigned short b) 28424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 28454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 28464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2848f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 2849f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergel(vector bool short a, vector bool short b) 2850f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2851f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2852f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 2853f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 2854f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2855f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 2856f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 2857f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergel(vector pixel a, vector pixel b) 2858f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2859f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2860f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 2861f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 2862f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2863f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 28644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 28654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergel(vector int a, vector int b) 28664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 28694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 28704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 28724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 28734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergel(vector unsigned int a, vector unsigned int b) 28744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 28774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 28784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2880f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai 2881f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_mergel(vector bool int a, vector bool int b) 2882f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2883f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2884f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 2885f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 2886f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2887f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 28884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 28894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mergel(vector float a, vector float b) 28904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 28914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 28924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 28934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 28944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 28954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 28964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglb */ 28974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 28984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglb vec_vmrglb 28994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 29014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrglb(vector signed char a, vector signed char b) 29024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 29034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 29044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 29054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); 29064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 29074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 29094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrglb(vector unsigned char a, vector unsigned char b) 29104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 29114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 29124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 29134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); 29144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 29154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2916f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 2917f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrglb(vector bool char a, vector bool char b) 2918f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2919f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2920f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x18, 0x09, 0x19, 0x0A, 0x1A, 0x0B, 0x1B, 2921f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x1C, 0x0D, 0x1D, 0x0E, 0x1E, 0x0F, 0x1F)); 2922f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2923f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 29244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglh */ 29254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglh vec_vmrglh 29274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 29294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrglh(vector short a, vector short b) 29304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 29314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 29324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 29334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 29344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 29354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 29374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrglh(vector unsigned short a, vector unsigned short b) 29384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 29394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 29404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 29414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 29424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 29434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2944f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 2945f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrglh(vector bool short a, vector bool short b) 2946f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2947f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2948f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 2949f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 2950f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2951f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 2952f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 2953f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrglh(vector pixel a, vector pixel b) 2954f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2955f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2956f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x09, 0x18, 0x19, 0x0A, 0x0B, 0x1A, 0x1B, 2957f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x0D, 0x1C, 0x1D, 0x0E, 0x0F, 0x1E, 0x1F)); 2958f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2959f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 29604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmrglw */ 29614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmrglw vec_vmrglw 29634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 29654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrglw(vector int a, vector int b) 29664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 29674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 29684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 29694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 29704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 29714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 29734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrglw(vector unsigned int a, vector unsigned int b) 29744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 29754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 29764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 29774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 29784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 29794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 2980f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai 2981f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vmrglw(vector bool int a, vector bool int b) 2982f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 2983f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 2984f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 2985f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 2986f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 2987f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 29884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 29894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmrglw(vector float a, vector float b) 29904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 29914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 29924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x08, 0x09, 0x0A, 0x0B, 0x18, 0x19, 0x1A, 0x1B, 29934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x0C, 0x0D, 0x0E, 0x0F, 0x1C, 0x1D, 0x1E, 0x1F)); 29944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 29954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mfvscr */ 29974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 29984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__)) 29994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mfvscr(void) 30004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 30014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_mfvscr(); 30024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 30034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 30044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_min */ 30054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 30064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 3007a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_min(vector signed char a, vector signed char b) 30084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 30094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminsb(a, b); 30104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 30114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3012a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3013a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector bool char a, vector signed char b) 3014a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsb((vector signed char)a, b); 3016a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3017a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3018a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector signed char a, vector bool char b) 3020a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsb(a, (vector signed char)b); 3022a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 30244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 3025a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_min(vector unsigned char a, vector unsigned char b) 30264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 30274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminub(a, b); 30284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 30294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3030a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3031a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector bool char a, vector unsigned char b) 3032a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3033a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminub((vector unsigned char)a, b); 3034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3035a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3036a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector unsigned char a, vector bool char b) 3038a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminub(a, (vector unsigned char)b); 3040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 30424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 30434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_min(vector short a, vector short b) 30444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 30454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminsh(a, b); 30464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 30474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3048a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3049a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector bool short a, vector short b) 3050a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3051a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsh((vector short)a, b); 3052a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3054a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3055a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector short a, vector bool short b) 3056a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3057a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsh(a, (vector short)b); 3058a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3059a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 30604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 30614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_min(vector unsigned short a, vector unsigned short b) 30624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 30634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminuh(a, b); 30644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 30654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3066a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3067a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector bool short a, vector unsigned short b) 3068a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3069a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuh((vector unsigned short)a, b); 3070a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3072a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3073a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector unsigned short a, vector bool short b) 3074a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3075a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuh(a, (vector unsigned short)b); 3076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3077a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 30784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 30794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_min(vector int a, vector int b) 30804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 30814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminsw(a, b); 30824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 30834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3084a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3085a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector bool int a, vector int b) 3086a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3087a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsw((vector int)a, b); 3088a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3089a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3090a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3091a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector int a, vector bool int b) 3092a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3093a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsw(a, (vector int)b); 3094a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3095a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 30964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 30974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_min(vector unsigned int a, vector unsigned int b) 30984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 30994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminuw(a, b); 31004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 31014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3102a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 3103a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector bool int a, vector unsigned int b) 3104a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3105a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuw((vector unsigned int)a, b); 3106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3108a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 3109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_min(vector unsigned int a, vector bool int b) 3110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuw(a, (vector unsigned int)b); 3112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 31144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 31154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_min(vector float a, vector float b) 31164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 31174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminfp(a, b); 31184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 31194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 31204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminsb */ 31214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3122a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3123a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_vminsb(vector signed char a, vector signed char b) 31244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 31254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminsb(a, b); 31264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 31274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3128a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3129a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminsb(vector bool char a, vector signed char b) 3130a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3131a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsb((vector signed char)a, b); 3132a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3134a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3135a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminsb(vector signed char a, vector bool char b) 3136a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3137a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsb(a, (vector signed char)b); 3138a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3139a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 31404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminub */ 31414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3142a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3143a816ec833869eab267b7cf6e2c662552d814d768Anton Yartsevvec_vminub(vector unsigned char a, vector unsigned char b) 31444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 31454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminub(a, b); 31464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 31474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3148a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3149a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminub(vector bool char a, vector unsigned char b) 3150a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminub((vector unsigned char)a, b); 3152a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminub(vector unsigned char a, vector bool char b) 3156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminub(a, (vector unsigned char)b); 3158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3160a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_vminsh */ 3161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3162a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 31634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vminsh(vector short a, vector short b) 31644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 31654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminsh(a, b); 31664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 31674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3168a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3169a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminsh(vector bool short a, vector short b) 3170a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3171a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsh((vector short)a, b); 3172a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3173a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3174a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3175a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminsh(vector short a, vector bool short b) 3176a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsh(a, (vector short)b); 3178a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 31804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminuh */ 31814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 31834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vminuh(vector unsigned short a, vector unsigned short b) 31844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 31854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminuh(a, b); 31864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 31874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3188a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminuh(vector bool short a, vector unsigned short b) 3190a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuh((vector unsigned short)a, b); 3192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3194a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminuh(vector unsigned short a, vector bool short b) 3196a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3197a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuh(a, (vector unsigned short)b); 3198a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3199a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 32004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminsw */ 32014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3202a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 32034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vminsw(vector int a, vector int b) 32044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminsw(a, b); 32064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3208a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3209a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminsw(vector bool int a, vector int b) 3210a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3211a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsw((vector int)a, b); 3212a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3214a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3215a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminsw(vector int a, vector bool int b) 3216a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminsw(a, (vector int)b); 3218a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 32204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminuw */ 32214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 32234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vminuw(vector unsigned int a, vector unsigned int b) 32244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminuw(a, b); 32264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 3229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminuw(vector bool int a, vector unsigned int b) 3230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuw((vector unsigned int)a, b); 3232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 3235a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vminuw(vector unsigned int a, vector bool int b) 3236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3237a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vminuw(a, (vector unsigned int)b); 3238a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 32404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vminfp */ 32414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 32434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vminfp(vector float a, vector float b) 32444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vminfp(a, b); 32464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mladd */ 32494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vmladduhm vec_mladd 32514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 32534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mladd(vector short a, vector short b, vector short c) 32544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a * b + c; 32564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 32594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mladd(vector short a, vector unsigned short b, vector unsigned short c) 32604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a * (vector short)b + (vector short)c; 32624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 32654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mladd(vector unsigned short a, vector short b, vector short c) 32664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)a * b + c; 32684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 32713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_mladd(vector unsigned short a, 32723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 32733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short c) 32744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a * b + c; 32764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmladduhm */ 32794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 32814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmladduhm(vector short a, vector short b, vector short c) 32824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a * b + c; 32844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 32874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmladduhm(vector short a, vector unsigned short b, vector unsigned short c) 32884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a * (vector short)b + (vector short)c; 32904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 32934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmladduhm(vector unsigned short a, vector short b, vector short c) 32944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 32954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)a * b + c; 32964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 32974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 32984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 32993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vmladduhm(vector unsigned short a, 33003ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 33013ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short c) 33024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a * b + c; 33044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mradds */ 33074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__)) 33094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mradds(vector short a, vector short b, vector short c) 33104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmhraddshs(a, b, c); 33124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmhraddshs */ 33154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__)) 33174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmhraddshs(vector short a, vector short b, vector short c) 33184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmhraddshs(a, b, c); 33204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_msum */ 33234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 33254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_msum(vector signed char a, vector unsigned char b, vector int c) 33264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsummbm(a, b, c); 33284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 33314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_msum(vector unsigned char a, vector unsigned char b, vector unsigned int c) 33324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumubm(a, b, c); 33344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 33374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_msum(vector short a, vector short b, vector int c) 33384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumshm(a, b, c); 33404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 33433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_msum(vector unsigned short a, 33443ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 33453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned int c) 33464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumuhm(a, b, c); 33484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsummbm */ 33514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 33534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmsummbm(vector signed char a, vector unsigned char b, vector int c) 33544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsummbm(a, b, c); 33564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumubm */ 33594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 33613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vmsumubm(vector unsigned char a, 33623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char b, 33633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned int c) 33644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumubm(a, b, c); 33664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumshm */ 33694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 33714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmsumshm(vector short a, vector short b, vector int c) 33724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumshm(a, b, c); 33744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumuhm */ 33774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 33793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vmsumuhm(vector unsigned short a, 33803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 33813ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned int c) 33824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumuhm(a, b, c); 33844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_msums */ 33874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 33894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_msums(vector short a, vector short b, vector int c) 33904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumshs(a, b, c); 33924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 33934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 33944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 33953ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_msums(vector unsigned short a, 33963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 33973ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned int c) 33984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 33994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumuhs(a, b, c); 34004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumshs */ 34034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 34054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmsumshs(vector short a, vector short b, vector int c) 34064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumshs(a, b, c); 34084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmsumuhs */ 34114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 34133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vmsumuhs(vector unsigned short a, 34143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 34153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned int c) 34164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmsumuhs(a, b, c); 34184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mtvscr */ 34214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 34234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mtvscr(vector signed char a) 34244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_mtvscr((vector int)a); 34264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 34294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mtvscr(vector unsigned char a) 34304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_mtvscr((vector int)a); 34324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 3435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_mtvscr(vector bool char a) 3436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_mtvscr((vector int)a); 3438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 34414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mtvscr(vector short a) 34424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_mtvscr((vector int)a); 34444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 34474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mtvscr(vector unsigned short a) 34484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_mtvscr((vector int)a); 34504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 3453a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_mtvscr(vector bool short a) 3454a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_mtvscr((vector int)a); 3456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 3459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_mtvscr(vector pixel a) 3460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_mtvscr((vector int)a); 3462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3464a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 34654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mtvscr(vector int a) 34664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_mtvscr((vector int)a); 34684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 34714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mtvscr(vector unsigned int a) 34724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_mtvscr((vector int)a); 34744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 3477a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_mtvscr(vector bool int a) 3478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_mtvscr((vector int)a); 3480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3482a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 34834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mtvscr(vector float a) 34844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_mtvscr((vector int)a); 34864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mule */ 34894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 34914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mule(vector signed char a, vector signed char b) 34924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulesb(a, b); 34944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 34954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 34964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 34974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mule(vector unsigned char a, vector unsigned char b) 34984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 34994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmuleub(a, b); 35004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 35034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mule(vector short a, vector short b) 35044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulesh(a, b); 35064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 35094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mule(vector unsigned short a, vector unsigned short b) 35104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmuleuh(a, b); 35124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulesb */ 35154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__)) 35174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmulesb(vector signed char a, vector signed char b) 35184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulesb(a, b); 35204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuleub */ 35234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__)) 35254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmuleub(vector unsigned char a, vector unsigned char b) 35264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmuleub(a, b); 35284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulesh */ 35314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 35334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmulesh(vector short a, vector short b) 35344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulesh(a, b); 35364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuleuh */ 35394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 35414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmuleuh(vector unsigned short a, vector unsigned short b) 35424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmuleuh(a, b); 35444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_mulo */ 35474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 35494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mulo(vector signed char a, vector signed char b) 35504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulosb(a, b); 35524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 35554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mulo(vector unsigned char a, vector unsigned char b) 35564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmuloub(a, b); 35584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 35614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mulo(vector short a, vector short b) 35624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulosh(a, b); 35644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 35674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_mulo(vector unsigned short a, vector unsigned short b) 35684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulouh(a, b); 35704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulosb */ 35734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __attribute__((__always_inline__)) 35754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmulosb(vector signed char a, vector signed char b) 35764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulosb(a, b); 35784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmuloub */ 35814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__)) 35834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmuloub(vector unsigned char a, vector unsigned char b) 35844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmuloub(a, b); 35864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulosh */ 35894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 35914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmulosh(vector short a, vector short b) 35924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 35934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulosh(a, b); 35944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 35954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vmulouh */ 35974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 35984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 35994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vmulouh(vector unsigned short a, vector unsigned short b) 36004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vmulouh(a, b); 36024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_nmsub */ 36054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 36074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nmsub(vector float a, vector float b, vector float c) 36084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vnmsubfp(a, b, c); 36104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vnmsubfp */ 36134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 36154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnmsubfp(vector float a, vector float b, vector float c) 36164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vnmsubfp(a, b, c); 36184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_nor */ 36214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vnor vec_nor 36234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 36254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nor(vector signed char a, vector signed char b) 36264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 36314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nor(vector unsigned char a, vector unsigned char b) 36324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3636a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 3637a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_nor(vector bool char a, vector bool char b) 3638a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3639a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return ~(a | b); 3640a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3641a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 36424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 36434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nor(vector short a, vector short b) 36444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 36494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nor(vector unsigned short a, vector unsigned short b) 36504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3654a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 3655a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_nor(vector bool short a, vector bool short b) 3656a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3657a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return ~(a | b); 3658a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3659a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 36604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 36614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nor(vector int a, vector int b) 36624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 36674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nor(vector unsigned int a, vector unsigned int b) 36684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3672a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 3673a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_nor(vector bool int a, vector bool int b) 3674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3675a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return ~(a | b); 3676a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3677a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 36784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 36794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_nor(vector float a, vector float b) 36804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = ~((vector unsigned int)a | (vector unsigned int)b); 36824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 36834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vnor */ 36864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 36884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnor(vector signed char a, vector signed char b) 36894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 36934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 36944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnor(vector unsigned char a, vector unsigned char b) 36954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 36964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 36974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 36984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3699a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 3700a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vnor(vector bool char a, vector bool char b) 3701a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3702a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return ~(a | b); 3703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3704a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 37054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 37064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnor(vector short a, vector short b) 37074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 37094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 37114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 37124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnor(vector unsigned short a, vector unsigned short b) 37134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 37154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3717a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 3718a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vnor(vector bool short a, vector bool short b) 3719a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3720a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return ~(a | b); 3721a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3722a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 37234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 37244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnor(vector int a, vector int b) 37254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 37274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 37294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 37304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnor(vector unsigned int a, vector unsigned int b) 37314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return ~(a | b); 37334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 3736a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vnor(vector bool int a, vector bool int b) 3737a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3738a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return ~(a | b); 3739a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3740a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 37414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 37424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vnor(vector float a, vector float b) 37434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = ~((vector unsigned int)a | (vector unsigned int)b); 37454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 37464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 37484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_or */ 37494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 37504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vor vec_or 37514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 37524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 37534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_or(vector signed char a, vector signed char b) 37544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 37564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3758a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3759a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool char a, vector signed char b) 3760a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3761a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector signed char)a | b; 3762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3763a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3764a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3765a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector signed char a, vector bool char b) 3766a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector signed char)b; 3768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3769a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 37704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 37714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_or(vector unsigned char a, vector unsigned char b) 37724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 37744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3776a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3777a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool char a, vector unsigned char b) 3778a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3779a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned char)a | b; 3780a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3781a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3782a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3783a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector unsigned char a, vector bool char b) 3784a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3785a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector unsigned char)b; 3786a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3787a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3788a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 3789a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool char a, vector bool char b) 3790a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3791a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | b; 3792a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3793a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 37944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 37954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_or(vector short a, vector short b) 37964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 37974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 37984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 37994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3801a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool short a, vector short b) 3802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3803a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector short)a | b; 3804a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3805a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3806a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3807a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector short a, vector bool short b) 3808a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3809a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector short)b; 3810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3811a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 38124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 38134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_or(vector unsigned short a, vector unsigned short b) 38144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 38154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 38164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 38174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3818a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3819a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool short a, vector unsigned short b) 3820a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3821a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned short)a | b; 3822a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3823a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3824a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3825a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector unsigned short a, vector bool short b) 3826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3827a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector unsigned short)b; 3828a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3829a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 3831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool short a, vector bool short b) 3832a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3833a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | b; 3834a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3835a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 38364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 38374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_or(vector int a, vector int b) 38384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 38394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 38404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 38414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3842a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3843a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool int a, vector int b) 3844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3845a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)a | b; 3846a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3847a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3848a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3849a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector int a, vector bool int b) 3850a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3851a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector int)b; 3852a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3853a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 38544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 38554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_or(vector unsigned int a, vector unsigned int b) 38564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 38574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 38584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 38594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3860a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 3861a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool int a, vector unsigned int b) 3862a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3863a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)a | b; 3864a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3865a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3866a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 3867a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector unsigned int a, vector bool int b) 3868a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3869a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector unsigned int)b; 3870a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3871a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 3873a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool int a, vector bool int b) 3874a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3875a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | b; 3876a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3877a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 38784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 38794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_or(vector float a, vector float b) 38804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 38814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a | (vector unsigned int)b; 38824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 38834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 38844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3885a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 3886a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector bool int a, vector float b) 3887a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3888a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a | (vector unsigned int)b; 3889a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 3890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3891a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3892a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 3893a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_or(vector float a, vector bool int b) 3894a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3895a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a | (vector unsigned int)b; 3896a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 3897a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3898a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 38994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vor */ 39004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 39014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 39024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vor(vector signed char a, vector signed char b) 39034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 39044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 39054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 39064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3907a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3908a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool char a, vector signed char b) 3909a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector signed char)a | b; 3911a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3912a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3913a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 3914a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector signed char a, vector bool char b) 3915a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3916a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector signed char)b; 3917a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3918a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 39194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 39204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vor(vector unsigned char a, vector unsigned char b) 39214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 39224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 39234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 39244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3925a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3926a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool char a, vector unsigned char b) 3927a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3928a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned char)a | b; 3929a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3930a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3931a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 3932a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector unsigned char a, vector bool char b) 3933a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3934a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector unsigned char)b; 3935a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3936a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3937a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 3938a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool char a, vector bool char b) 3939a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3940a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | b; 3941a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3942a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 39434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 39444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vor(vector short a, vector short b) 39454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 39464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 39474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 39484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3949a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3950a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool short a, vector short b) 3951a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3952a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector short)a | b; 3953a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3954a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3955a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 3956a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector short a, vector bool short b) 3957a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3958a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector short)b; 3959a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3960a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 39614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 39624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vor(vector unsigned short a, vector unsigned short b) 39634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 39644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 39654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 39664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3967a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3968a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool short a, vector unsigned short b) 3969a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3970a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned short)a | b; 3971a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3972a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3973a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 3974a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector unsigned short a, vector bool short b) 3975a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3976a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector unsigned short)b; 3977a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3978a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3979a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 3980a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool short a, vector bool short b) 3981a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3982a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | b; 3983a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3984a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 39854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 39864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vor(vector int a, vector int b) 39874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 39884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 39894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 39904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 3991a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3992a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool int a, vector int b) 3993a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 3994a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)a | b; 3995a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 3996a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 3997a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 3998a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector int a, vector bool int b) 3999a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4000a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector int)b; 4001a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4002a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 40034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 40044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vor(vector unsigned int a, vector unsigned int b) 40054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 40064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a | b; 40074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 40084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4009a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 4010a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool int a, vector unsigned int b) 4011a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4012a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)a | b; 4013a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4014a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 4016a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector unsigned int a, vector bool int b) 4017a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4018a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | (vector unsigned int)b; 4019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4020a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 4022a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool int a, vector bool int b) 4023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4024a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a | b; 4025a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4026a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 40274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 40284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vor(vector float a, vector float b) 40294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 40304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a | (vector unsigned int)b; 40314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 40324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 40334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 4035a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector bool int a, vector float b) 4036a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a | (vector unsigned int)b; 4038a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 4039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 4042a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vor(vector float a, vector bool int b) 4043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4044a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a | (vector unsigned int)b; 4045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 4046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4047a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 40484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_pack */ 40494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 40504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 40514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_pack(vector signed short a, vector signed short b) 40524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 40534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)vec_perm(a, b, (vector unsigned char) 40544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 40554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F)); 40564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 40574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 40584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 40594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_pack(vector unsigned short a, vector unsigned short b) 40604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 40614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)vec_perm(a, b, (vector unsigned char) 40624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 40634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F)); 40644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 40654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4066f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 4067f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_pack(vector bool short a, vector bool short b) 4068f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 4069f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return (vector bool char)vec_perm(a, b, (vector unsigned char) 4070f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 4071f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F)); 4072f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4073f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 40744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 40754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_pack(vector int a, vector int b) 40764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 40774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)vec_perm(a, b, (vector unsigned char) 40784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F, 40794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F)); 40804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 40814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 40824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 40834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_pack(vector unsigned int a, vector unsigned int b) 40844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 40854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)vec_perm(a, b, (vector unsigned char) 40864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F, 40874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F)); 40884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 40894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4090f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 4091f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_pack(vector bool int a, vector bool int b) 4092f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 4093f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return (vector bool short)vec_perm(a, b, (vector unsigned char) 4094f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F, 4095f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F)); 4096f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4097f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 40984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuhum */ 40994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vpkuhum vec_vpkuhum 41014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 41034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkuhum(vector signed short a, vector signed short b) 41044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)vec_perm(a, b, (vector unsigned char) 41064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 41074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F)); 41084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 41114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkuhum(vector unsigned short a, vector unsigned short b) 41124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)vec_perm(a, b, (vector unsigned char) 41144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 41154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F)); 41164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4118f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 4119f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vpkuhum(vector bool short a, vector bool short b) 4120f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 4121f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return (vector bool char)vec_perm(a, b, (vector unsigned char) 4122f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x01, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0F, 4123f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x11, 0x13, 0x15, 0x17, 0x19, 0x1B, 0x1D, 0x1F)); 4124f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4125f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 41264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuwum */ 41274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vpkuwum vec_vpkuwum 41294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 41314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkuwum(vector int a, vector int b) 41324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)vec_perm(a, b, (vector unsigned char) 41344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F, 41354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F)); 41364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 41394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkuwum(vector unsigned int a, vector unsigned int b) 41404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)vec_perm(a, b, (vector unsigned char) 41424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F, 41434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F)); 41444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4146f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 4147f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vpkuwum(vector bool int a, vector bool int b) 4148f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 4149f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return (vector bool short)vec_perm(a, b, (vector unsigned char) 4150f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (0x02, 0x03, 0x06, 0x07, 0x0A, 0x0B, 0x0E, 0x0F, 4151f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 0x12, 0x13, 0x16, 0x17, 0x1A, 0x1B, 0x1E, 0x1F)); 4152f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4153f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 41544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packpx */ 41554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector pixel __attribute__((__always_inline__)) 41574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packpx(vector unsigned int a, vector unsigned int b) 41584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector pixel)__builtin_altivec_vpkpx(a, b); 41604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkpx */ 41634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector pixel __attribute__((__always_inline__)) 41654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkpx(vector unsigned int a, vector unsigned int b) 41664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector pixel)__builtin_altivec_vpkpx(a, b); 41684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packs */ 41714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 41734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packs(vector short a, vector short b) 41744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkshss(a, b); 41764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 41794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packs(vector unsigned short a, vector unsigned short b) 41804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuhus(a, b); 41824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __ATTRS_o_ai 41854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packs(vector int a, vector int b) 41864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkswss(a, b); 41884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 41914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packs(vector unsigned int a, vector unsigned int b) 41924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 41934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuwus(a, b); 41944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 41954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkshss */ 41974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 41984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __attribute__((__always_inline__)) 41994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkshss(vector short a, vector short b) 42004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkshss(a, b); 42024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuhus */ 42054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __attribute__((__always_inline__)) 42074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkuhus(vector unsigned short a, vector unsigned short b) 42084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuhus(a, b); 42104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkswss */ 42134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed short __attribute__((__always_inline__)) 42154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkswss(vector int a, vector int b) 42164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkswss(a, b); 42184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkuwus */ 42214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __attribute__((__always_inline__)) 42234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkuwus(vector unsigned int a, vector unsigned int b) 42244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuwus(a, b); 42264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_packsu */ 42294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 42314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packsu(vector short a, vector short b) 42324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkshus(a, b); 42344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 42374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packsu(vector unsigned short a, vector unsigned short b) 42384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuhus(a, b); 42404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 42434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packsu(vector int a, vector int b) 42444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkswus(a, b); 42464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 42494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_packsu(vector unsigned int a, vector unsigned int b) 42504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuwus(a, b); 42524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkshus */ 42554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 42574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkshus(vector short a, vector short b) 42584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkshus(a, b); 42604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 42634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkshus(vector unsigned short a, vector unsigned short b) 42644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuhus(a, b); 42664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vpkswus */ 42694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 42714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkswus(vector int a, vector int b) 42724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkswus(a, b); 42744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 42774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vpkswus(vector unsigned int a, vector unsigned int b) 42784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vpkuwus(a, b); 42804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_perm */ 42834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector signed char __ATTRS_o_ai 42854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector signed char a, vector signed char b, vector unsigned char c) 42864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42873ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 42883ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 42894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 42914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned char __ATTRS_o_ai 42923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_perm(vector unsigned char a, 42933ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char b, 42943ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char c) 42954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 42963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 42973ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 42984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 42994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4300f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool char __ATTRS_o_ai 4301f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector bool char a, vector bool char b, vector unsigned char c) 4302f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 43033ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector bool char) 43043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4305f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4306f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 43074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector short __ATTRS_o_ai 43084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector short a, vector short b, vector unsigned char c) 43094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector short) 43113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 43124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 43144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned short __ATTRS_o_ai 43153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_perm(vector unsigned short a, 43163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 43173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char c) 43184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 43203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 43214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4323f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool short __ATTRS_o_ai 4324f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector bool short a, vector bool short b, vector unsigned char c) 4325f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 43263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector bool short) 43273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4328f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4329f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 4330f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector pixel __ATTRS_o_ai 4331f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector pixel a, vector pixel b, vector unsigned char c) 4332f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 43333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector pixel) 43343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4335f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4336f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 43374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector int __ATTRS_o_ai 43384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector int a, vector int b, vector unsigned char c) 43394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vperm_4si(a, b, c); 43414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 43434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned int __ATTRS_o_ai 43444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector unsigned int a, vector unsigned int b, vector unsigned char c) 43454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 43473ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 43484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4350f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool int __ATTRS_o_ai 4351f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_perm(vector bool int a, vector bool int b, vector unsigned char c) 4352f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 43533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector bool int) 43543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4355f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4356f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 43574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector float __ATTRS_o_ai 43584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_perm(vector float a, vector float b, vector unsigned char c) 43594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector float) 43613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 43624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 43644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vperm */ 43654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 43664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector signed char __ATTRS_o_ai 43674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vperm(vector signed char a, vector signed char b, vector unsigned char c) 43684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 43703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 43714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 43734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned char __ATTRS_o_ai 43743ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vperm(vector unsigned char a, 43753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char b, 43763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char c) 43774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 43793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 43804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4382f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool char __ATTRS_o_ai 4383f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vperm(vector bool char a, vector bool char b, vector unsigned char c) 4384f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 43853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector bool char) 43863ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4387f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4388f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 43894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector short __ATTRS_o_ai 43904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vperm(vector short a, vector short b, vector unsigned char c) 43914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 43923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector short) 43933ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 43944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 43954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 43964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned short __ATTRS_o_ai 43973ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vperm(vector unsigned short a, 43983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 43993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned char c) 44004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44013ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 44023ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 44034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4405f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool short __ATTRS_o_ai 4406f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vperm(vector bool short a, vector bool short b, vector unsigned char c) 4407f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 44083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector bool short) 44093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4410f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4411f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 4412f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector pixel __ATTRS_o_ai 4413f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vperm(vector pixel a, vector pixel b, vector unsigned char c) 4414f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 44153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector pixel) 44163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4417f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4418f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 44194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector int __ATTRS_o_ai 44204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vperm(vector int a, vector int b, vector unsigned char c) 44214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vperm_4si(a, b, c); 44234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector unsigned int __ATTRS_o_ai 44264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vperm(vector unsigned int a, vector unsigned int b, vector unsigned char c) 44274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 44293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 44304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4432f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvector bool int __ATTRS_o_ai 4433f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vperm(vector bool int a, vector bool int b, vector unsigned char c) 4434f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 44353ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector bool int) 44363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 4437f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4438f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 44394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector float __ATTRS_o_ai 44404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vperm(vector float a, vector float b, vector unsigned char c) 44414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44423ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector float) 44433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vperm_4si((vector int)a, (vector int)b, c); 44444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_re */ 44474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector float __attribute__((__always_inline__)) 44494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_re(vector float a) 44504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrefp(a); 44524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrefp */ 44554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvector float __attribute__((__always_inline__)) 44574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrefp(vector float a) 44584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrefp(a); 44604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_rl */ 44634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 44654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_rl(vector signed char a, vector unsigned char b) 44664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_vrlb((vector char)a, b); 44684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 44714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_rl(vector unsigned char a, vector unsigned char b) 44724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_vrlb((vector char)a, b); 44744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 44774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_rl(vector short a, vector unsigned short b) 44784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrlh(a, b); 44804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 44834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_rl(vector unsigned short a, vector unsigned short b) 44844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_vrlh((vector short)a, b); 44864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 44894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_rl(vector int a, vector unsigned int b) 44904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrlw(a, b); 44924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 44944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 44954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_rl(vector unsigned int a, vector unsigned int b) 44964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 44974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_vrlw((vector int)a, b); 44984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 44994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlb */ 45014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 45034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrlb(vector signed char a, vector unsigned char b) 45044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_vrlb((vector char)a, b); 45064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 45094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrlb(vector unsigned char a, vector unsigned char b) 45104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_vrlb((vector char)a, b); 45124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlh */ 45154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 45174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrlh(vector short a, vector unsigned short b) 45184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrlh(a, b); 45204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 45234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrlh(vector unsigned short a, vector unsigned short b) 45244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_vrlh((vector short)a, b); 45264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrlw */ 45294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 45314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrlw(vector int a, vector unsigned int b) 45324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrlw(a, b); 45344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 45374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrlw(vector unsigned int a, vector unsigned int b) 45384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_vrlw((vector int)a, b); 45404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_round */ 45434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 45454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_round(vector float a) 45464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfin(a); 45484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfin */ 45514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 45534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrfin(vector float a) 45544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfin(a); 45564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_rsqrte */ 45594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic __vector float __attribute__((__always_inline__)) 45614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_rsqrte(vector float a) 45624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrsqrtefp(a); 45644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrsqrtefp */ 45674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic __vector float __attribute__((__always_inline__)) 45694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrsqrtefp(vector float a) 45704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrsqrtefp(a); 45724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sel */ 45754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsel_4si vec_sel 45774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 45784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 45794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sel(vector signed char a, vector signed char b, vector unsigned char c) 45804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~(vector signed char)c) | (b & (vector signed char)c); 45824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4584a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 4585a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector signed char a, vector signed char b, vector bool char c) 4586a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4587a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector signed char)c) | (b & (vector signed char)c); 4588a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4589a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 45904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 45914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sel(vector unsigned char a, vector unsigned char b, vector unsigned char c) 45924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 45934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~c) | (b & c); 45944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 45954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4596a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 4597a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector unsigned char a, vector unsigned char b, vector bool char c) 4598a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4599a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector unsigned char)c) | (b & (vector unsigned char)c); 4600a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 4603a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector bool char a, vector bool char b, vector unsigned char c) 4604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4605a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector bool char)c) | (b & (vector bool char)c); 4606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4608a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 4609a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector bool char a, vector bool char b, vector bool char c) 4610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4611a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~c) | (b & c); 4612a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4613a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4614a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 4615a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector short a, vector short b, vector unsigned short c) 4616a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4617a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector short)c) | (b & (vector short)c); 4618a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4619a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4620a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 4621a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector short a, vector short b, vector bool short c) 46224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 46234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~(vector short)c) | (b & (vector short)c); 46244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 46254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 46264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 46273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_sel(vector unsigned short a, 46283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 46293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short c) 46304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 46314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~c) | (b & c); 46324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 46334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4634a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 4635a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector unsigned short a, vector unsigned short b, vector bool short c) 4636a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4637a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector unsigned short)c) | (b & (vector unsigned short)c); 4638a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4639a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4640a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 4641a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector bool short a, vector bool short b, vector unsigned short c) 4642a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4643a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector bool short)c) | (b & (vector bool short)c); 4644a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4645a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4646a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 4647a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector bool short a, vector bool short b, vector bool short c) 4648a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4649a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~c) | (b & c); 4650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 46524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 46534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sel(vector int a, vector int b, vector unsigned int c) 46544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 46554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~(vector int)c) | (b & (vector int)c); 46564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 46574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4658a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 4659a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector int a, vector int b, vector bool int c) 4660a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4661a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector int)c) | (b & (vector int)c); 4662a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4663a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 46644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 46654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sel(vector unsigned int a, vector unsigned int b, vector unsigned int c) 46664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 46674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~c) | (b & c); 46684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 46694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4670a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 4671a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector unsigned int a, vector unsigned int b, vector bool int c) 4672a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4673a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector unsigned int)c) | (b & (vector unsigned int)c); 4674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4675a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4676a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 4677a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector bool int a, vector bool int b, vector unsigned int c) 4678a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4679a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector bool int)c) | (b & (vector bool int)c); 4680a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4681a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4682a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 4683a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector bool int a, vector bool int b, vector bool int c) 4684a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4685a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~c) | (b & c); 4686a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4687a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 46884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 46894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sel(vector float a, vector float b, vector unsigned int c) 46904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 46913ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector int res = ((vector int)a & ~(vector int)c) 46923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev | ((vector int)b & (vector int)c); 46934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 46944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 46954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4696a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 4697a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sel(vector float a, vector float b, vector bool int c) 4698a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 46993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector int res = ((vector int)a & ~(vector int)c) 47003ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev | ((vector int)b & (vector int)c); 4701a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 4702a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 47044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsel */ 47054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 47064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 47074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsel(vector signed char a, vector signed char b, vector unsigned char c) 47084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 47094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~(vector signed char)c) | (b & (vector signed char)c); 47104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 47114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4712a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 4713a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector signed char a, vector signed char b, vector bool char c) 4714a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4715a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector signed char)c) | (b & (vector signed char)c); 4716a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4717a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 47184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 47194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsel(vector unsigned char a, vector unsigned char b, vector unsigned char c) 47204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 47214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~c) | (b & c); 47224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 47234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4724a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 4725a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector unsigned char a, vector unsigned char b, vector bool char c) 4726a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4727a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector unsigned char)c) | (b & (vector unsigned char)c); 4728a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4729a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4730a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 4731a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector bool char a, vector bool char b, vector unsigned char c) 4732a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4733a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector bool char)c) | (b & (vector bool char)c); 4734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4736a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 4737a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector bool char a, vector bool char b, vector bool char c) 4738a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4739a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~c) | (b & c); 4740a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4741a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 47424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 47434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsel(vector short a, vector short b, vector unsigned short c) 47444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 47454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~(vector short)c) | (b & (vector short)c); 47464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 47474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4748a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 4749a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector short a, vector short b, vector bool short c) 4750a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4751a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector short)c) | (b & (vector short)c); 4752a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4753a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 47544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 47553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsevvec_vsel(vector unsigned short a, 47563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short b, 47573ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector unsigned short c) 47584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 47594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~c) | (b & c); 47604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 47614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 4763a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector unsigned short a, vector unsigned short b, vector bool short c) 4764a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4765a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector unsigned short)c) | (b & (vector unsigned short)c); 4766a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4767a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 4769a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector bool short a, vector bool short b, vector unsigned short c) 4770a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4771a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector bool short)c) | (b & (vector bool short)c); 4772a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4773a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4774a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 4775a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector bool short a, vector bool short b, vector bool short c) 4776a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4777a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~c) | (b & c); 4778a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4779a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 47804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 47814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsel(vector int a, vector int b, vector unsigned int c) 47824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 47834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~(vector int)c) | (b & (vector int)c); 47844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 47854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4786a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 4787a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector int a, vector int b, vector bool int c) 4788a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4789a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector int)c) | (b & (vector int)c); 4790a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4791a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 47924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 47934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsel(vector unsigned int a, vector unsigned int b, vector unsigned int c) 47944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 47954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (a & ~c) | (b & c); 47964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 47974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 4799a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector unsigned int a, vector unsigned int b, vector bool int c) 4800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4801a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector unsigned int)c) | (b & (vector unsigned int)c); 4802a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4803a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4804a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 4805a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector bool int a, vector bool int b, vector unsigned int c) 4806a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4807a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~(vector bool int)c) | (b & (vector bool int)c); 4808a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4809a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 4810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 4811a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector bool int a, vector bool int b, vector bool int c) 4812a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 4813a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (a & ~c) | (b & c); 4814a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4815a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 48164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 48174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsel(vector float a, vector float b, vector unsigned int c) 48184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector int res = ((vector int)a & ~(vector int)c) 48203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev | ((vector int)b & (vector int)c); 48214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 48224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 4824a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 4825a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsel(vector float a, vector float b, vector bool int c) 4826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 48273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev vector int res = ((vector int)a & ~(vector int)c) 48283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev | ((vector int)b & (vector int)c); 4829a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 4830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 4831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 48324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sl */ 48334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 48354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sl(vector signed char a, vector unsigned char b) 48364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a << (vector signed char)b; 48384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 48414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sl(vector unsigned char a, vector unsigned char b) 48424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a << b; 48444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 48474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sl(vector short a, vector unsigned short b) 48484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a << (vector short)b; 48504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 48534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sl(vector unsigned short a, vector unsigned short b) 48544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a << b; 48564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 48594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sl(vector int a, vector unsigned int b) 48604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a << (vector int)b; 48624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 48654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sl(vector unsigned int a, vector unsigned int b) 48664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a << b; 48684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslb */ 48714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslb vec_vslb 48734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 48754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslb(vector signed char a, vector unsigned char b) 48764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_sl(a, b); 48784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 48814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslb(vector unsigned char a, vector unsigned char b) 48824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_sl(a, b); 48844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslh */ 48874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslh vec_vslh 48894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 48914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslh(vector short a, vector unsigned short b) 48924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_sl(a, b); 48944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 48954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 48964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 48974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslh(vector unsigned short a, vector unsigned short b) 48984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 48994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_sl(a, b); 49004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslw */ 49034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vslw vec_vslw 49054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 49074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslw(vector int a, vector unsigned int b) 49084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 49094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_sl(a, b); 49104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 49134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslw(vector unsigned int a, vector unsigned int b) 49144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 49154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_sl(a, b); 49164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sld */ 49194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsldoi_4si vec_sld 49214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 49234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sld(vector signed char a, vector signed char b, unsigned char c) 49244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4925f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 49264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 49314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sld(vector unsigned char a, vector unsigned char b, unsigned char c) 49324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4933f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 49344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 49394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sld(vector short a, vector short b, unsigned char c) 49404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4941f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 49424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 49474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sld(vector unsigned short a, vector unsigned short b, unsigned char c) 49484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4949f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 4950f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 4951f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 4952f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 4953f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 4954f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 4955f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_sld(vector pixel a, vector pixel b, unsigned char c) 4956f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 4957f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 49584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 49634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sld(vector int a, vector int b, unsigned char c) 49644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 49654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 49664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 49714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sld(vector unsigned int a, vector unsigned int b, unsigned char c) 49724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4973f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 49744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 49794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sld(vector float a, vector float b, unsigned char c) 49804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4981f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 49824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsldoi */ 49874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 49894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsldoi(vector signed char a, vector signed char b, unsigned char c) 49904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4991f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 49924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 49934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 49944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 49954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 49964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 49974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsldoi(vector unsigned char a, vector unsigned char b, unsigned char c) 49984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 4999f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 50004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 50014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 50024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 50054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsldoi(vector short a, vector short b, unsigned char c) 50064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5007f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 50084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 50094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 50104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 50134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsldoi(vector unsigned short a, vector unsigned short b, unsigned char c) 50144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5015f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 5016f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 5017f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 5018f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5019f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5020f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 5021f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vsldoi(vector pixel a, vector pixel b, unsigned char c) 5022f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5023f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 50244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 50254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 50264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 50294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsldoi(vector int a, vector int b, unsigned char c) 50304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 50314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, b, (vector unsigned char) 50324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 50334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 50344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 50374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsldoi(vector unsigned int a, vector unsigned int b, unsigned char c) 50384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5039f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 50404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 50414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 50424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 50454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsldoi(vector float a, vector float b, unsigned char c) 50464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5047f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, b, (vector unsigned char) 50484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov (c, c+1, c+2, c+3, c+4, c+5, c+6, c+7, 50494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov c+8, c+9, c+10, c+11, c+12, c+13, c+14, c+15)); 50504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sll */ 50534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 50554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector signed char a, vector unsigned char b) 50564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 50573ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 50583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 50594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 50624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector signed char a, vector unsigned short b) 50634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 50643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 50653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 50664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 50694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector signed char a, vector unsigned int b) 50704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 50713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 50723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 50734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 50764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned char a, vector unsigned char b) 50774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 50783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 50793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 50804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 50834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned char a, vector unsigned short b) 50844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 50853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 50863ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 50874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 50894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 50904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned char a, vector unsigned int b) 50914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 50923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 50933ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 50944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 50954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5096a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 5097a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool char a, vector unsigned char b) 5098a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5099a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsl((vector int)a, (vector int)b); 5100a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5101a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5102a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 5103a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool char a, vector unsigned short b) 5104a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5105a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsl((vector int)a, (vector int)b); 5106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5108a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 5109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool char a, vector unsigned int b) 5110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsl((vector int)a, (vector int)b); 5112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 51144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 51154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector short a, vector unsigned char b) 51164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsl((vector int)a, (vector int)b); 51184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 51194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 51204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 51214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector short a, vector unsigned short b) 51224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsl((vector int)a, (vector int)b); 51244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 51254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 51264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 51274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector short a, vector unsigned int b) 51284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsl((vector int)a, (vector int)b); 51304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 51314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 51324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 51334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned short a, vector unsigned char b) 51344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51353ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 51363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 51374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 51384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 51394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 51404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned short a, vector unsigned short b) 51414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51423ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 51433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 51444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 51454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 51464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 51474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned short a, vector unsigned int b) 51484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51493ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 51503ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 51514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 51524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 5154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool short a, vector unsigned char b) 5155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsl((vector int)a, (vector int)b); 5157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 5160a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool short a, vector unsigned short b) 5161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5162a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsl((vector int)a, (vector int)b); 5163a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5164a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5165a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 5166a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool short a, vector unsigned int b) 5167a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5168a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsl((vector int)a, (vector int)b); 5169a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5170a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5171a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5172a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector pixel a, vector unsigned char b) 5173a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5174a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsl((vector int)a, (vector int)b); 5175a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5176a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5178a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector pixel a, vector unsigned short b) 5179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5180a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsl((vector int)a, (vector int)b); 5181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5183a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5184a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector pixel a, vector unsigned int b) 5185a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5186a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsl((vector int)a, (vector int)b); 5187a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5188a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 51894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 51904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector int a, vector unsigned char b) 51914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsl(a, (vector int)b); 51934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 51944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 51954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 51964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector int a, vector unsigned short b) 51974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 51984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsl(a, (vector int)b); 51994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 52024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector int a, vector unsigned int b) 52034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsl(a, (vector int)b); 52054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 52084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned int a, vector unsigned char b) 52094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 52113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 52154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned int a, vector unsigned short b) 52164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 52183ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 52224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sll(vector unsigned int a, vector unsigned int b) 52234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 52253ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 5229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool int a, vector unsigned char b) 5230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsl((vector int)a, (vector int)b); 5232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 5235a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool int a, vector unsigned short b) 5236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5237a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsl((vector int)a, (vector int)b); 5238a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5240a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 5241a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sll(vector bool int a, vector unsigned int b) 5242a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5243a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsl((vector int)a, (vector int)b); 5244a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 52464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsl */ 52474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 52494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector signed char a, vector unsigned char b) 52504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52513ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 52523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 52564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector signed char a, vector unsigned short b) 52574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 52593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 52634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector signed char a, vector unsigned int b) 52644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 52663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 52704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned char a, vector unsigned char b) 52714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 52733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 52774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned char a, vector unsigned short b) 52784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 52803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 52834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 52844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned char a, vector unsigned int b) 52854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 52863ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 52873ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 52884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 52894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5290a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 5291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool char a, vector unsigned char b) 5292a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5293a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsl((vector int)a, (vector int)b); 5294a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5295a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5296a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 5297a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool char a, vector unsigned short b) 5298a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5299a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsl((vector int)a, (vector int)b); 5300a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5301a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5302a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 5303a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool char a, vector unsigned int b) 5304a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5305a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsl((vector int)a, (vector int)b); 5306a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5307a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 53084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 53094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector short a, vector unsigned char b) 53104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsl((vector int)a, (vector int)b); 53124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 53154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector short a, vector unsigned short b) 53164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsl((vector int)a, (vector int)b); 53184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 53214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector short a, vector unsigned int b) 53224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsl((vector int)a, (vector int)b); 53244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 53274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned short a, vector unsigned char b) 53284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 53303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 53314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 53344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned short a, vector unsigned short b) 53354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 53373ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 53384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 53414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned short a, vector unsigned int b) 53424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53433ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 53443ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 53454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 5348a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool short a, vector unsigned char b) 5349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5350a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsl((vector int)a, (vector int)b); 5351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5352a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5353a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 5354a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool short a, vector unsigned short b) 5355a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5356a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsl((vector int)a, (vector int)b); 5357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5358a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5359a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 5360a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool short a, vector unsigned int b) 5361a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5362a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsl((vector int)a, (vector int)b); 5363a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5364a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5365a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5366a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector pixel a, vector unsigned char b) 5367a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5368a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsl((vector int)a, (vector int)b); 5369a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5370a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5371a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5372a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector pixel a, vector unsigned short b) 5373a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5374a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsl((vector int)a, (vector int)b); 5375a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5376a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5377a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5378a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector pixel a, vector unsigned int b) 5379a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5380a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsl((vector int)a, (vector int)b); 5381a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5382a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 53834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 53844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector int a, vector unsigned char b) 53854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsl(a, (vector int)b); 53874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 53904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector int a, vector unsigned short b) 53914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsl(a, (vector int)b); 53934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 53944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 53954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 53964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector int a, vector unsigned int b) 53974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 53984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsl(a, (vector int)b); 53994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 54024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned int a, vector unsigned char b) 54034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 54053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 54064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 54094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned int a, vector unsigned short b) 54104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 54123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 54134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 54164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsl(vector unsigned int a, vector unsigned int b) 54174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54183ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 54193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsl((vector int)a, (vector int)b); 54204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 5423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool int a, vector unsigned char b) 5424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5425a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsl((vector int)a, (vector int)b); 5426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5428a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 5429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool int a, vector unsigned short b) 5430a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5431a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsl((vector int)a, (vector int)b); 5432a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5433a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5434a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 5435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsl(vector bool int a, vector unsigned int b) 5436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsl((vector int)a, (vector int)b); 5438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 54404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_slo */ 54414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 54434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector signed char a, vector signed char b) 54444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 54463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 54474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 54504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector signed char a, vector unsigned char b) 54514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 54533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 54544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 54574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector unsigned char a, vector signed char b) 54584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 54603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 54614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 54644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector unsigned char a, vector unsigned char b) 54654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 54673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 54684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 54714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector short a, vector signed char b) 54724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vslo((vector int)a, (vector int)b); 54744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 54774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector short a, vector unsigned char b) 54784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vslo((vector int)a, (vector int)b); 54804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 54834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector unsigned short a, vector signed char b) 54844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 54863ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 54874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 54894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 54904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector unsigned short a, vector unsigned char b) 54914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 54923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 54933ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 54944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 54954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5497a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_slo(vector pixel a, vector signed char b) 5498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vslo((vector int)a, (vector int)b); 5500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_slo(vector pixel a, vector unsigned char b) 5504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vslo((vector int)a, (vector int)b); 5506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 55084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 55094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector int a, vector signed char b) 55104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vslo(a, (vector int)b); 55124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 55154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector int a, vector unsigned char b) 55164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vslo(a, (vector int)b); 55184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 55214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector unsigned int a, vector signed char b) 55224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 55243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 55254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 55284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector unsigned int a, vector unsigned char b) 55294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 55313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 55324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 55354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector float a, vector signed char b) 55364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vslo((vector int)a, (vector int)b); 55384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 55414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_slo(vector float a, vector unsigned char b) 55424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vslo((vector int)a, (vector int)b); 55444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vslo */ 55474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 55494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector signed char a, vector signed char b) 55504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55513ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 55523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 55534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 55564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector signed char a, vector unsigned char b) 55574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 55593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 55604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 55634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector unsigned char a, vector signed char b) 55644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 55663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 55674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 55704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector unsigned char a, vector unsigned char b) 55714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 55733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 55744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 55774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector short a, vector signed char b) 55784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vslo((vector int)a, (vector int)b); 55804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 55834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector short a, vector unsigned char b) 55844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vslo((vector int)a, (vector int)b); 55864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 55894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector unsigned short a, vector signed char b) 55904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55913ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 55923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 55934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 55944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 55954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 55964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector unsigned short a, vector unsigned char b) 55974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 55983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 55993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 56004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 5602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5603a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vslo(vector pixel a, vector signed char b) 5604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5605a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vslo((vector int)a, (vector int)b); 5606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 5608a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 5609a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vslo(vector pixel a, vector unsigned char b) 5610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 5611a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vslo((vector int)a, (vector int)b); 5612a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 5613a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 56144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 56154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector int a, vector signed char b) 56164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vslo(a, (vector int)b); 56184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 56214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector int a, vector unsigned char b) 56224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vslo(a, (vector int)b); 56244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 56274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector unsigned int a, vector signed char b) 56284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 56303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 56314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 56344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector unsigned int a, vector unsigned char b) 56354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56363ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 56373ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vslo((vector int)a, (vector int)b); 56384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 56414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector float a, vector signed char b) 56424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vslo((vector int)a, (vector int)b); 56444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 56474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vslo(vector float a, vector unsigned char b) 56484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vslo((vector int)a, (vector int)b); 56504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat */ 56534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 56554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat(vector signed char a, unsigned char b) 56564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5657f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char)(b)); 56584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 56614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat(vector unsigned char a, unsigned char b) 56624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5663f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char)(b)); 5664f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5665f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5666f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 5667f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_splat(vector bool char a, unsigned char b) 5668f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5669f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char)(b)); 56704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 56734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat(vector short a, unsigned char b) 56744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 2; 567664ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5677f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 567864ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 56794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 56804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 56814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 56824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat(vector unsigned short a, unsigned char b) 56834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 56844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 2; 568564ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5686f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 568764ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 5688f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5689f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5690f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 5691f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_splat(vector bool short a, unsigned char b) 5692f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5693f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev b *= 2; 569464ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5695f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 569664ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 5697f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5698f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5699f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 5700f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_splat(vector pixel a, unsigned char b) 5701f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5702f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev b *= 2; 570364ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5704f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 570564ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 57064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 57074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 57094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat(vector int a, unsigned char b) 57104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 57114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 4; 571264ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 57134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return vec_perm(a, a, (vector unsigned char) 571464ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 57154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 57164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 57184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat(vector unsigned int a, unsigned char b) 57194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 57204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 4; 572164ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 5722f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 572364ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 5724f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5725f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5726f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai 5727f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_splat(vector bool int a, unsigned char b) 5728f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5729f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev b *= 4; 573064ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 5731f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 573264ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 57334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 57344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 57364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat(vector float a, unsigned char b) 57374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 57384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 4; 573964ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 5740f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 574164ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 57424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 57434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltb */ 57454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltb vec_vspltb 57474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 57494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltb(vector signed char a, unsigned char b) 57504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5751f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char)(b)); 57524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 57534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 57554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltb(vector unsigned char a, unsigned char b) 57564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 5757f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char)(b)); 5758f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5759f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5760f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool char __ATTRS_o_ai 5761f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vspltb(vector bool char a, unsigned char b) 5762f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5763f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char)(b)); 57644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 57654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsplth */ 57674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsplth vec_vsplth 57694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 57714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsplth(vector short a, unsigned char b) 57724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 57734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 2; 577464ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5775f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 577664ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 57774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 57784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 57794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 57804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsplth(vector unsigned short a, unsigned char b) 57814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 57824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 2; 578364ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5784f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 578564ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 5786f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5787f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5788f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool short __ATTRS_o_ai 5789f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vsplth(vector bool short a, unsigned char b) 5790f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5791f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev b *= 2; 579264ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5793f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 579464ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 5795f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5796f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5797f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector pixel __ATTRS_o_ai 5798f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vsplth(vector pixel a, unsigned char b) 5799f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5800f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev b *= 2; 580164ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1; 5802f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 580364ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1, b, b1)); 58044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltw */ 58074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltw vec_vspltw 58094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 58114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltw(vector int a, unsigned char b) 58124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 4; 581464ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 5815f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 581664ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 58174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 58204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltw(vector unsigned int a, unsigned char b) 58214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 4; 582364ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 5824f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 582564ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 5826f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev} 5827f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev 5828f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevstatic vector bool int __ATTRS_o_ai 5829f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsevvec_vspltw(vector bool int a, unsigned char b) 5830f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev{ 5831f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev b *= 4; 583264ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 5833f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 583464ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 58354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 58384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltw(vector float a, unsigned char b) 58394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov b *= 4; 584164ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev unsigned char b1=b+1, b2=b+2, b3=b+3; 5842f54dbfdd16c053d6f305a4c48cb5aba0fe168f2dAnton Yartsev return vec_perm(a, a, (vector unsigned char) 584364ce733f60bb1523037e6b1bcea3509a9429bfdeAnton Yartsev (b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3, b, b1, b2, b3)); 58444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s8 */ 58474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltisb vec_splat_s8 58494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 58514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 58524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat_s8(signed char a) 58534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)(a); 58554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltisb */ 58584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 58604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 58614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltisb(signed char a) 58624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)(a); 58644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s16 */ 58674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltish vec_splat_s16 58694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 58714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 58724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat_s16(signed char a) 58734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)(a); 58754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltish */ 58784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 58804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 58814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltish(signed char a) 58824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)(a); 58844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_s32 */ 58874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vspltisw vec_splat_s32 58894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 58914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 58924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat_s32(signed char a) 58934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 58944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)(a); 58954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 58964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vspltisw */ 58984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 58994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 59004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 59014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vspltisw(signed char a) 59024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)(a); 59044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u8 */ 59074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 59094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 59104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat_u8(unsigned char a) 59114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)(a); 59134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u16 */ 59164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 59184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 59194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat_u16(signed char a) 59204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)(a); 59224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_splat_u32 */ 59254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov// FIXME: parameter should be treated as 5-bit signed literal 59274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 59284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_splat_u32(signed char a) 59294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)(a); 59314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sr */ 59344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 59364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sr(vector signed char a, vector unsigned char b) 59374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> (vector signed char)b; 59394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 59424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sr(vector unsigned char a, vector unsigned char b) 59434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> b; 59454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 59484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sr(vector short a, vector unsigned short b) 59494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> (vector short)b; 59514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 59544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sr(vector unsigned short a, vector unsigned short b) 59554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> b; 59574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 59604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sr(vector int a, vector unsigned int b) 59614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> (vector int)b; 59634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 59664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sr(vector unsigned int a, vector unsigned int b) 59674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> b; 59694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrb */ 59724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrb vec_vsrb 59744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 59764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrb(vector signed char a, vector unsigned char b) 59774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> (vector signed char)b; 59794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 59824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrb(vector unsigned char a, vector unsigned char b) 59834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> b; 59854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrh */ 59884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrh vec_vsrh 59904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 59924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrh(vector short a, vector unsigned short b) 59934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 59944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> (vector short)b; 59954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 59964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 59974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 59984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrh(vector unsigned short a, vector unsigned short b) 59994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> b; 60014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrw */ 60044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsrw vec_vsrw 60064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 60084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrw(vector int a, vector unsigned int b) 60094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> (vector int)b; 60114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 60144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrw(vector unsigned int a, vector unsigned int b) 60154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a >> b; 60174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sra */ 60204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 60224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sra(vector signed char a, vector unsigned char b) 60234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_vsrab((vector char)a, b); 60254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 60284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sra(vector unsigned char a, vector unsigned char b) 60294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_vsrab((vector char)a, b); 60314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 60344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sra(vector short a, vector unsigned short b) 60354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsrah(a, (vector unsigned short)b); 60374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 60404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sra(vector unsigned short a, vector unsigned short b) 60414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_vsrah((vector short)a, b); 60434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 60464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sra(vector int a, vector unsigned int b) 60474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsraw(a, b); 60494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 60524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sra(vector unsigned int a, vector unsigned int b) 60534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_vsraw((vector int)a, b); 60554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrab */ 60584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 60604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrab(vector signed char a, vector unsigned char b) 60614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector signed char)__builtin_altivec_vsrab((vector char)a, b); 60634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 60664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrab(vector unsigned char a, vector unsigned char b) 60674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned char)__builtin_altivec_vsrab((vector char)a, b); 60694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsrah */ 60724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 60744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrah(vector short a, vector unsigned short b) 60754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsrah(a, (vector unsigned short)b); 60774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 60804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsrah(vector unsigned short a, vector unsigned short b) 60814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned short)__builtin_altivec_vsrah((vector short)a, b); 60834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsraw */ 60864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 60884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsraw(vector int a, vector unsigned int b) 60894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsraw(a, b); 60914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 60944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsraw(vector unsigned int a, vector unsigned int b) 60954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 60964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector unsigned int)__builtin_altivec_vsraw((vector int)a, b); 60974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 60984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 60994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_srl */ 61004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 61024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector signed char a, vector unsigned char b) 61034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61043ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 61053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 61094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector signed char a, vector unsigned short b) 61104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 61123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 61164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector signed char a, vector unsigned int b) 61174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61183ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 61193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 61234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned char a, vector unsigned char b) 61244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61253ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 61263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 61304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned char a, vector unsigned short b) 61314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 61333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 61374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned char a, vector unsigned int b) 61384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61393ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 61403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6143a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 6144a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool char a, vector unsigned char b) 6145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6146a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsr((vector int)a, (vector int)b); 6147a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6148a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6149a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 6150a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool char a, vector unsigned short b) 6151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6152a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsr((vector int)a, (vector int)b); 6153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 6156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool char a, vector unsigned int b) 6157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsr((vector int)a, (vector int)b); 6159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6160a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 61614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 61624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector short a, vector unsigned char b) 61634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsr((vector int)a, (vector int)b); 61654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 61684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector short a, vector unsigned short b) 61694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsr((vector int)a, (vector int)b); 61714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 61744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector short a, vector unsigned int b) 61754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsr((vector int)a, (vector int)b); 61774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 61804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned short a, vector unsigned char b) 61814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61823ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 61833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 61874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned short a, vector unsigned short b) 61884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61893ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 61903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 61934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 61944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned short a, vector unsigned int b) 61954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 61963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 61973ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 61984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 61994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6200a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 6201a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool short a, vector unsigned char b) 62024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6203a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsr((vector int)a, (vector int)b); 62044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 62054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6206a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 6207a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool short a, vector unsigned short b) 62084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6209a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsr((vector int)a, (vector int)b); 62104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 62114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6212a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 6213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool short a, vector unsigned int b) 62144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6215a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsr((vector int)a, (vector int)b); 62164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 62174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6218a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector pixel a, vector unsigned char b) 6220a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6221a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsr((vector int)a, (vector int)b); 6222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6223a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6224a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector pixel a, vector unsigned short b) 6226a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6227a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsr((vector int)a, (vector int)b); 6228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector pixel a, vector unsigned int b) 6232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsr((vector int)a, (vector int)b); 6234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6235a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 6237a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector int a, vector unsigned char b) 6238a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)__builtin_altivec_vsr(a, (vector int)b); 6240a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6241a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6242a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 6243a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector int a, vector unsigned short b) 6244a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)__builtin_altivec_vsr(a, (vector int)b); 6246a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6247a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6248a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 6249a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector int a, vector unsigned int b) 6250a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6251a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)__builtin_altivec_vsr(a, (vector int)b); 6252a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6253a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6254a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 6255a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector unsigned int a, vector unsigned char b) 62564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 62573ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 62583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 62594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 62604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 62614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 62624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned int a, vector unsigned short b) 62634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 62643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 62653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 62664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 62674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 62684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 62694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_srl(vector unsigned int a, vector unsigned int b) 62704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 62713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 62723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 62734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 62744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6275a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 6276a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool int a, vector unsigned char b) 6277a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6278a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsr((vector int)a, (vector int)b); 6279a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6280a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6281a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 6282a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool int a, vector unsigned short b) 6283a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6284a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsr((vector int)a, (vector int)b); 6285a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6286a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6287a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 6288a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_srl(vector bool int a, vector unsigned int b) 6289a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6290a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsr((vector int)a, (vector int)b); 6291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6292a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 62934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsr */ 62944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 62954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 62964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector signed char a, vector unsigned char b) 62974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 62983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 62993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 63034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector signed char a, vector unsigned short b) 63044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 63063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 63104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector signed char a, vector unsigned int b) 63114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 63133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 63174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned char a, vector unsigned char b) 63184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 63203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 63244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned char a, vector unsigned short b) 63254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 63273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 63314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned char a, vector unsigned int b) 63324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 63343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6337a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 6338a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool char a, vector unsigned char b) 6339a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6340a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsr((vector int)a, (vector int)b); 6341a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6342a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6343a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 6344a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool char a, vector unsigned short b) 6345a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6346a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsr((vector int)a, (vector int)b); 6347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6348a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 6350a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool char a, vector unsigned int b) 6351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6352a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool char)__builtin_altivec_vsr((vector int)a, (vector int)b); 6353a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6354a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 63554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 63564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector short a, vector unsigned char b) 63574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsr((vector int)a, (vector int)b); 63594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 63624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector short a, vector unsigned short b) 63634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsr((vector int)a, (vector int)b); 63654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 63684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector short a, vector unsigned int b) 63694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsr((vector int)a, (vector int)b); 63714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 63744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned short a, vector unsigned char b) 63754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 63773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 63814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned short a, vector unsigned short b) 63824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 63843ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 63874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 63884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned short a, vector unsigned int b) 63894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 63903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 63913ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 63924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 63934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6394a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 6395a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool short a, vector unsigned char b) 6396a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6397a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsr((vector int)a, (vector int)b); 6398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6400a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 6401a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool short a, vector unsigned short b) 6402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsr((vector int)a, (vector int)b); 6404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6406a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 6407a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool short a, vector unsigned int b) 6408a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6409a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vsr((vector int)a, (vector int)b); 6410a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6411a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6412a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6413a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector pixel a, vector unsigned char b) 6414a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6415a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsr((vector int)a, (vector int)b); 6416a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6418a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6419a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector pixel a, vector unsigned short b) 6420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6421a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsr((vector int)a, (vector int)b); 6422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6425a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector pixel a, vector unsigned int b) 6426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsr((vector int)a, (vector int)b); 6428a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 64304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 64314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector int a, vector unsigned char b) 64324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsr(a, (vector int)b); 64344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 64354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 64364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 64374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector int a, vector unsigned short b) 64384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsr(a, (vector int)b); 64404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 64414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 64424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 64434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector int a, vector unsigned int b) 64444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsr(a, (vector int)b); 64464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 64474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 64484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 64494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned int a, vector unsigned char b) 64504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64513ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 64523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 64534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 64544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 64554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 64564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned int a, vector unsigned short b) 64574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64583ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 64593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 64604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 64614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 64624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 64634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsr(vector unsigned int a, vector unsigned int b) 64644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 64663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsr((vector int)a, (vector int)b); 64674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 64684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6469a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 6470a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool int a, vector unsigned char b) 6471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6472a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsr((vector int)a, (vector int)b); 6473a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6474a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6475a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 6476a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool int a, vector unsigned short b) 6477a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsr((vector int)a, (vector int)b); 6479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 6482a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsr(vector bool int a, vector unsigned int b) 6483a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6484a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vsr((vector int)a, (vector int)b); 6485a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6486a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 64874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sro */ 64884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 64894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 64904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector signed char a, vector signed char b) 64914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 64933ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 64944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 64954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 64964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 64974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector signed char a, vector unsigned char b) 64984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 64993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 65003ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 65014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 65044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector unsigned char a, vector signed char b) 65054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 65073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 65084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 65114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector unsigned char a, vector unsigned char b) 65124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 65143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 65154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 65184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector short a, vector signed char b) 65194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsro((vector int)a, (vector int)b); 65214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 65244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector short a, vector unsigned char b) 65254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsro((vector int)a, (vector int)b); 65274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 65304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector unsigned short a, vector signed char b) 65314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 65333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 65344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 65374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector unsigned short a, vector unsigned char b) 65384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65393ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 65403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 65414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6543a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6544a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sro(vector pixel a, vector signed char b) 6545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6546a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsro((vector int)a, (vector int)b); 6547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6548a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6550a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sro(vector pixel a, vector unsigned char b) 6551a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6552a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsro((vector int)a, (vector int)b); 6553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6554a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 65554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 65564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector int a, vector signed char b) 65574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsro(a, (vector int)b); 65594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 65624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector int a, vector unsigned char b) 65634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsro(a, (vector int)b); 65654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 65684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector unsigned int a, vector signed char b) 65694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 65713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 65724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 65754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector unsigned int a, vector unsigned char b) 65764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 65783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 65794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 65824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector float a, vector signed char b) 65834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vsro((vector int)a, (vector int)b); 65854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 65884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sro(vector float a, vector unsigned char b) 65894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vsro((vector int)a, (vector int)b); 65914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 65924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsro */ 65944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 65954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 65964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector signed char a, vector signed char b) 65974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 65983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 65993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 66034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector signed char a, vector unsigned char b) 66044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector signed char) 66063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 66104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector unsigned char a, vector signed char b) 66114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 66133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 66174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector unsigned char a, vector unsigned char b) 66184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned char) 66203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 66244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector short a, vector signed char b) 66254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsro((vector int)a, (vector int)b); 66274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 66304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector short a, vector unsigned char b) 66314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector short)__builtin_altivec_vsro((vector int)a, (vector int)b); 66334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 66364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector unsigned short a, vector signed char b) 66374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 66393ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 66434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector unsigned short a, vector unsigned char b) 66444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned short) 66463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6649a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsro(vector pixel a, vector signed char b) 6651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6652a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsro((vector int)a, (vector int)b); 6653a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6654a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 6655a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector pixel __ATTRS_o_ai 6656a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsro(vector pixel a, vector unsigned char b) 6657a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 6658a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector pixel)__builtin_altivec_vsro((vector int)a, (vector int)b); 6659a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 6660a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 66614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 66624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector int a, vector signed char b) 66634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsro(a, (vector int)b); 66654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 66684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector int a, vector unsigned char b) 66694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector int)__builtin_altivec_vsro(a, (vector int)b); 66714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 66744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector unsigned int a, vector signed char b) 66754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 66773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 66814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector unsigned int a, vector unsigned char b) 66824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return (vector unsigned int) 66843ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vsro((vector int)a, (vector int)b); 66854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 66884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector float a, vector signed char b) 66894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vsro((vector int)a, (vector int)b); 66914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 66944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsro(vector float a, vector unsigned char b) 66954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 66964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)__builtin_altivec_vsro((vector int)a, (vector int)b); 66974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 66984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 66994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_st */ 67004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 67024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_st(vector signed char a, int b, vector signed char *c) 67034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 67084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_st(vector signed char a, int b, signed char *c) 67094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 67144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_st(vector unsigned char a, int b, vector unsigned char *c) 67154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 67204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_st(vector unsigned char a, int b, unsigned char *c) 67214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6726a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool char a, int b, signed char *c) 67274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6732a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool char a, int b, unsigned char *c) 67334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6738a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool char a, int b, vector bool char *c) 67394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6744a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector short a, int b, vector short *c) 67454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6750a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector short a, int b, short *c) 67514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6752a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 67534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6756a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector unsigned short a, int b, vector unsigned short *c) 67574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6758a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 67594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6762a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector unsigned short a, int b, unsigned short *c) 67634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6768a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool short a, int b, short *c) 67694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6774a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool short a, int b, unsigned short *c) 67754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6780a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool short a, int b, vector bool short *c) 67814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6786a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector pixel a, int b, short *c) 67874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6792a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector pixel a, int b, unsigned short *c) 67934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 67944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 67954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 67964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 67974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector pixel a, int b, vector pixel *c) 67994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6804a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector int a, int b, vector int *c) 68054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6806a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx(a, b, c); 68074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector int a, int b, int *c) 68114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6812a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx(a, b, c); 68134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6816a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector unsigned int a, int b, vector unsigned int *c) 68174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6822a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector unsigned int a, int b, unsigned int *c) 68234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6828a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool int a, int b, int *c) 68294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6834a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool int a, int b, unsigned int *c) 68354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6836a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 68374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6840a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector bool int a, int b, vector bool int *c) 68414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6842a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 68434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6846a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector float a, int b, vector float *c) 68474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6852a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_st(vector float a, int b, float *c) 68534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 6857a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvx */ 6858a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 68594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6860a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector signed char a, int b, vector signed char *c) 68614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6866a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector signed char a, int b, signed char *c) 68674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 68684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvx((vector int)a, b, c); 68694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector unsigned char a, int b, vector unsigned char *c) 68734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6874a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 68754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6878a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector unsigned char a, int b, unsigned char *c) 68794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6880a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 68814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6884a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool char a, int b, signed char *c) 68854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6886a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 68874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool char a, int b, unsigned char *c) 68914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6892a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 68934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 68944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 68954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6896a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool char a, int b, vector bool char *c) 68974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6898a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 68994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6902a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector short a, int b, vector short *c) 69034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6904a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6908a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector short a, int b, short *c) 69094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6914a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector unsigned short a, int b, vector unsigned short *c) 69154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6916a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6920a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector unsigned short a, int b, unsigned short *c) 69214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6922a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6926a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool short a, int b, short *c) 69274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6928a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6932a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool short a, int b, unsigned short *c) 69334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6934a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6938a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool short a, int b, vector bool short *c) 69394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6940a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69434d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6944a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector pixel a, int b, short *c) 69454d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6946a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6950a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector pixel a, int b, unsigned short *c) 69514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6952a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6956a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector pixel a, int b, vector pixel *c) 69574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6958a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6962a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector int a, int b, vector int *c) 69634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6964a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx(a, b, c); 69654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6968a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector int a, int b, int *c) 69694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6970a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx(a, b, c); 69714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6974a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector unsigned int a, int b, vector unsigned int *c) 69754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6976a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6980a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector unsigned int a, int b, unsigned int *c) 69814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6982a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69854d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6986a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool int a, int b, int *c) 69874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6988a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6992a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool int a, int b, unsigned int *c) 69934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 6994a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 69954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 69964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 69974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 6998a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector bool int a, int b, vector bool int *c) 69994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 7000a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 70014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 70024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 70034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 7004a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector float a, int b, vector float *c) 70054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 7006a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 70074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 70084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 70094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 7010a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvx(vector float a, int b, float *c) 70114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 7012a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvx((vector int)a, b, c); 70134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 70144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 7015a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_ste */ 7016a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 70174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 7018a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector signed char a, int b, signed char *c) 7019a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7020a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7021a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7022a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7023a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7024a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector unsigned char a, int b, unsigned char *c) 7025a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7026a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7027a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7028a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7029a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7030a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector bool char a, int b, signed char *c) 7031a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7032a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7033a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7034a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7035a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7036a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector bool char a, int b, unsigned char *c) 7037a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7038a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7039a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7040a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7041a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7042a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector short a, int b, short *c) 7043a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7044a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx(a, b, c); 7045a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7046a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7047a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7048a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector unsigned short a, int b, unsigned short *c) 7049a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7050a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7051a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7052a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7053a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7054a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector bool short a, int b, short *c) 7055a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7056a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7057a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7058a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7059a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7060a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector bool short a, int b, unsigned short *c) 7061a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7062a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7063a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7064a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7065a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7066a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector pixel a, int b, short *c) 7067a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7068a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7069a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7070a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7071a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7072a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector pixel a, int b, unsigned short *c) 7073a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7074a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7075a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7076a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7077a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7078a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector int a, int b, int *c) 7079a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7080a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx(a, b, c); 7081a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7082a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7083a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7084a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector unsigned int a, int b, unsigned int *c) 7085a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7086a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7087a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7088a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7089a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7090a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector bool int a, int b, int *c) 7091a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7092a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7093a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7094a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7095a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7096a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector bool int a, int b, unsigned int *c) 7097a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7098a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7099a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7100a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7101a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7102a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_ste(vector float a, int b, float *c) 7103a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7104a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7105a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7106a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7107a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvebx */ 7108a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7109a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7110a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvebx(vector signed char a, int b, signed char *c) 7111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7114a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7115a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7116a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvebx(vector unsigned char a, int b, unsigned char *c) 7117a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7118a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7119a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7120a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7121a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7122a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvebx(vector bool char a, int b, signed char *c) 7123a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7124a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7125a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7126a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7127a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7128a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvebx(vector bool char a, int b, unsigned char *c) 7129a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7130a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvebx((vector char)a, b, c); 7131a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7132a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvehx */ 7134a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7135a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7136a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvehx(vector short a, int b, short *c) 7137a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7138a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx(a, b, c); 7139a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7140a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7141a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7142a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvehx(vector unsigned short a, int b, unsigned short *c) 7143a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7144a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7146a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7147a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7148a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvehx(vector bool short a, int b, short *c) 7149a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7150a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7152a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7153a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7154a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvehx(vector bool short a, int b, unsigned short *c) 7155a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7156a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7160a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvehx(vector pixel a, int b, short *c) 7161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7162a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7163a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7164a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7165a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7166a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvehx(vector pixel a, int b, unsigned short *c) 7167a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7168a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvehx((vector short)a, b, c); 7169a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7170a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7171a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stvewx */ 7172a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7173a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7174a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvewx(vector int a, int b, int *c) 7175a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7176a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx(a, b, c); 7177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7178a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7180a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvewx(vector unsigned int a, int b, unsigned int *c) 7181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7183a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7184a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7185a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7186a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvewx(vector bool int a, int b, int *c) 7187a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7188a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7190a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvewx(vector bool int a, int b, unsigned int *c) 7193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7194a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7196a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7197a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7198a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvewx(vector float a, int b, float *c) 7199a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7200a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvewx((vector int)a, b, c); 7201a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7202a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7203a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev/* vec_stl */ 7204a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7205a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7206a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector signed char a, int b, vector signed char *c) 7207a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7208a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7209a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7210a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7211a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7212a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector signed char a, int b, signed char *c) 7213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7214a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7215a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7216a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7218a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector unsigned char a, int b, vector unsigned char *c) 7219a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7220a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7221a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7222a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7223a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7224a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector unsigned char a, int b, unsigned char *c) 7225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7226a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7227a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool char a, int b, signed char *c) 7231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7235a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7236a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool char a, int b, unsigned char *c) 7237a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7238a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7239a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7240a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7241a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7242a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool char a, int b, vector bool char *c) 7243a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7244a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7246a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7247a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7248a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector short a, int b, vector short *c) 7249a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7250a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7251a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7252a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7253a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7254a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector short a, int b, short *c) 7255a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7256a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7257a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7258a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7259a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7260a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector unsigned short a, int b, vector unsigned short *c) 7261a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7262a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7263a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7264a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7265a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7266a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector unsigned short a, int b, unsigned short *c) 7267a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7268a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7269a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7270a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7271a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7272a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool short a, int b, short *c) 7273a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7274a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7275a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7276a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7277a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7278a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool short a, int b, unsigned short *c) 7279a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7280a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7281a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7282a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7283a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7284a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool short a, int b, vector bool short *c) 7285a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7286a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7287a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7288a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7289a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7290a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector pixel a, int b, short *c) 7291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7292a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7293a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7294a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7295a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7296a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector pixel a, int b, unsigned short *c) 7297a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7298a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7299a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7300a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7301a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7302a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector pixel a, int b, vector pixel *c) 7303a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7304a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7305a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7306a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7307a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7308a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector int a, int b, vector int *c) 7309a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7310a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl(a, b, c); 7311a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7312a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7313a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7314a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector int a, int b, int *c) 7315a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7316a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl(a, b, c); 7317a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7318a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7319a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7320a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector unsigned int a, int b, vector unsigned int *c) 73214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 73224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 73234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 73244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 73264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stl(vector unsigned int a, int b, unsigned int *c) 73274d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 73284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 73294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 73304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 7332a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool int a, int b, int *c) 7333a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7334a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7335a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7336a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7337a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7338a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool int a, int b, unsigned int *c) 7339a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7340a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7341a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7342a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7343a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7344a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stl(vector bool int a, int b, vector bool int *c) 7345a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7346a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7348a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 73504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stl(vector float a, int b, vector float *c) 73514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 73524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 73534d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 73544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 73564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stl(vector float a, int b, float *c) 73574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 73584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 73594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 73604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73614d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_stvxl */ 73624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 73644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector signed char a, int b, vector signed char *c) 73654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 73664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 73674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 73684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 73704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector signed char a, int b, signed char *c) 73714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 73724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 73734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 73744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 73764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector unsigned char a, int b, vector unsigned char *c) 73774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov{ 73784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 73794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov} 73804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 73814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 73824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector unsigned char a, int b, unsigned char *c) 7383dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 73844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7385dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7386dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 73874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 7388a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool char a, int b, signed char *c) 7389a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7390a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7391a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7392a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7393a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7394a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool char a, int b, unsigned char *c) 7395a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7396a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7397a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7400a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool char a, int b, vector bool char *c) 7401a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 74064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector short a, int b, vector short *c) 7407dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7409dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7410dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 74124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector short a, int b, short *c) 7413dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7415dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7416dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 74184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector unsigned short a, int b, vector unsigned short *c) 7419dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7421dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7422dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 74244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector unsigned short a, int b, unsigned short *c) 7425dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7427dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7428dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 7430a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool short a, int b, short *c) 7431a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7432a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7433a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7434a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7435a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool short a, int b, unsigned short *c) 7437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7442a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool short a, int b, vector bool short *c) 7443a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7445a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7446a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7448a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector pixel a, int b, short *c) 7449a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7450a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7451a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7452a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7453a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7454a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector pixel a, int b, unsigned short *c) 7455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector pixel a, int b, vector pixel *c) 7461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7464a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7465a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 74664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector int a, int b, vector int *c) 7467dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl(a, b, c); 7469dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7470dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 74724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector int a, int b, int *c) 7473dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl(a, b, c); 7475dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7476dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 74784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector unsigned int a, int b, vector unsigned int *c) 7479dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7481dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7482dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 74844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector unsigned int a, int b, unsigned int *c) 7485dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 74864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7487dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7488dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 74894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 7490a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool int a, int b, int *c) 7491a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7492a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7493a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7494a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7495a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool int a, int b, unsigned int *c) 7497a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 7502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_stvxl(vector bool int a, int b, vector bool int *c) 7503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev __builtin_altivec_stvxl((vector int)a, b, c); 7505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic void __ATTRS_o_ai 75084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector float a, int b, vector float *c) 7509dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 75104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7511dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7512dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 75134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic void __ATTRS_o_ai 75144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_stvxl(vector float a, int b, float *c) 7515dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 75164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov __builtin_altivec_stvxl((vector int)a, b, c); 7517dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7518dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7519dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_sub */ 7520dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 75214d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 7522dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_sub(vector signed char a, vector signed char b) 7523dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 7524dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a - b; 7525dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7526dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7528a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector bool char a, vector signed char b) 7529a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7530a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector signed char)a - b; 7531a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7532a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7533a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7534a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector signed char a, vector bool char b) 7535a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7536a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector signed char)b; 7537a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7538a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 75394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 7540dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_sub(vector unsigned char a, vector unsigned char b) 7541dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 7542dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a - b; 7543dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7544dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7545a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7546a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector bool char a, vector unsigned char b) 7547a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7548a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned char)a - b; 7549a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7550a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7551a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7552a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector unsigned char a, vector bool char b) 7553a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7554a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector unsigned char)b; 7555a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7556a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 75574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 7558dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_sub(vector short a, vector short b) 7559dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 7560dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a - b; 7561dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7562dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7563a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7564a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector bool short a, vector short b) 7565a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7566a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector short)a - b; 7567a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7568a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7569a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7570a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector short a, vector bool short b) 7571a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7572a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector short)b; 7573a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7574a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 75754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 7576dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_sub(vector unsigned short a, vector unsigned short b) 7577dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 7578dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a - b; 7579dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7580dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7581a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7582a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector bool short a, vector unsigned short b) 7583a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7584a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned short)a - b; 7585a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7586a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7587a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7588a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector unsigned short a, vector bool short b) 7589a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7590a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector unsigned short)b; 7591a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7592a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 75934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 7594dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_sub(vector int a, vector int b) 7595dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 7596dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a - b; 7597dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7598dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7599a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7600a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector bool int a, vector int b) 7601a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7602a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)a - b; 7603a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7604a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7605a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7606a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector int a, vector bool int b) 7607a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7608a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector int)b; 7609a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7610a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 76114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 7612dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_sub(vector unsigned int a, vector unsigned int b) 7613dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 7614dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a - b; 7615dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7616dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7617a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 7618a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector bool int a, vector unsigned int b) 7619a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7620a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)a - b; 7621a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7622a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7623a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 7624a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_sub(vector unsigned int a, vector bool int b) 7625a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7626a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector unsigned int)b; 7627a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7628a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 76294d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 7630dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_sub(vector float a, vector float b) 7631dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 7632dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return a - b; 7633dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7634dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 76354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsububm */ 7636dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 76374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsububm vec_vsububm 7638dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 76394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 76404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsububm(vector signed char a, vector signed char b) 7641dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 76424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a - b; 7643dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7644dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7645a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7646a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsububm(vector bool char a, vector signed char b) 7647a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7648a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector signed char)a - b; 7649a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7650a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7651a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7652a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsububm(vector signed char a, vector bool char b) 7653a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7654a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector signed char)b; 7655a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7656a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 76574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 76584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsububm(vector unsigned char a, vector unsigned char b) 7659dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 76604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a - b; 7661dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7662dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7663a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7664a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsububm(vector bool char a, vector unsigned char b) 7665a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7666a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned char)a - b; 7667a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7668a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7669a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7670a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsububm(vector unsigned char a, vector bool char b) 7671a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7672a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector unsigned char)b; 7673a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7674a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 76754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuhm */ 7676dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 76774d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubuhm vec_vsubuhm 76784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 76794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 76804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubuhm(vector short a, vector short b) 7681dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 76824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a - b; 7683dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7684dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7685a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7686a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuhm(vector bool short a, vector short b) 7687a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7688a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector short)a - b; 7689a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7690a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7691a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7692a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuhm(vector short a, vector bool short b) 7693a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7694a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector short)b; 7695a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7696a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 76974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 76984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubuhm(vector unsigned short a, vector unsigned short b) 7699dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 77004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a - b; 7701dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7702dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7703a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7704a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuhm(vector bool short a, vector unsigned short b) 7705a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7706a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned short)a - b; 7707a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7708a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7709a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7710a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuhm(vector unsigned short a, vector bool short b) 7711a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7712a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector unsigned short)b; 7713a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7714a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 77154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuwm */ 7716dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 77174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubuwm vec_vsubuwm 7718dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 77194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 77204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubuwm(vector int a, vector int b) 7721dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 77224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a - b; 7723dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7724dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7725a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7726a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuwm(vector bool int a, vector int b) 7727a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7728a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)a - b; 7729a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7730a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7731a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7732a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuwm(vector int a, vector bool int b) 7733a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7734a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector int)b; 7735a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7736a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 77374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 77384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubuwm(vector unsigned int a, vector unsigned int b) 7739dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 77404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a - b; 7741dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7742dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7743a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 7744a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuwm(vector bool int a, vector unsigned int b) 7745a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7746a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)a - b; 7747a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7748a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7749a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 7750a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuwm(vector unsigned int a, vector bool int b) 7751a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7752a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a - (vector unsigned int)b; 7753a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7754a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 77554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubfp */ 7756dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 77574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vsubfp vec_vsubfp 77584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 77594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 77604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubfp(vector float a, vector float b) 7761dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 77624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a - b; 7763dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7764dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 77654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_subc */ 77664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 77674d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 77684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_subc(vector unsigned int a, vector unsigned int b) 7769dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 77704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubcuw(a, b); 7771dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7772dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 77734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubcuw */ 7774dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 77754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 77764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubcuw(vector unsigned int a, vector unsigned int b) 7777dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 77784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubcuw(a, b); 7779dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7780dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 77814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_subs */ 77824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 77834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 77844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_subs(vector signed char a, vector signed char b) 7785dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 77864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubsbs(a, b); 7787dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7788dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7789a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7790a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector bool char a, vector signed char b) 7791a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7792a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsbs((vector signed char)a, b); 7793a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7794a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7795a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7796a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector signed char a, vector bool char b) 7797a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7798a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsbs(a, (vector signed char)b); 7799a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7800a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 78014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 78024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_subs(vector unsigned char a, vector unsigned char b) 7803dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 78044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsububs(a, b); 7805dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7806dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7807a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7808a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector bool char a, vector unsigned char b) 7809a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7810a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsububs((vector unsigned char)a, b); 7811a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7812a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7813a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7814a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector unsigned char a, vector bool char b) 7815a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7816a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsububs(a, (vector unsigned char)b); 7817a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7818a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 78194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 78204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_subs(vector short a, vector short b) 7821dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 78224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubshs(a, b); 7823dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7824dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7825a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7826a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector bool short a, vector short b) 7827a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7828a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubshs((vector short)a, b); 7829a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7830a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7831a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7832a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector short a, vector bool short b) 7833a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7834a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubshs(a, (vector short)b); 7835a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7836a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 78374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 78384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_subs(vector unsigned short a, vector unsigned short b) 7839dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 78404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubuhs(a, b); 7841dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7842dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7843a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7844a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector bool short a, vector unsigned short b) 7845a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7846a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuhs((vector unsigned short)a, b); 7847a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7848a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7849a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7850a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector unsigned short a, vector bool short b) 7851a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7852a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuhs(a, (vector unsigned short)b); 7853a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7854a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 78554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 78564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_subs(vector int a, vector int b) 7857dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 78584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubsws(a, b); 7859dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7860dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7861a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7862a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector bool int a, vector int b) 7863a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7864a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsws((vector int)a, b); 7865a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7866a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7867a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7868a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector int a, vector bool int b) 7869a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7870a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsws(a, (vector int)b); 7871a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7872a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 78734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 78744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_subs(vector unsigned int a, vector unsigned int b) 7875dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 78764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubuws(a, b); 7877dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7878dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7879a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 7880a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector bool int a, vector unsigned int b) 7881a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7882a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuws((vector unsigned int)a, b); 7883a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7884a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7885a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 7886a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_subs(vector unsigned int a, vector bool int b) 7887a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7888a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuws(a, (vector unsigned int)b); 7889a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7890a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 78914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubsbs */ 7892dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7893a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 78944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubsbs(vector signed char a, vector signed char b) 7895dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 78964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubsbs(a, b); 7897dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7898dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7899a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7900a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubsbs(vector bool char a, vector signed char b) 7901a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7902a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsbs((vector signed char)a, b); 7903a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7904a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7905a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 7906a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubsbs(vector signed char a, vector bool char b) 7907a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7908a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsbs(a, (vector signed char)b); 7909a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7910a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 79114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsububs */ 7912dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7913a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 79144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsububs(vector unsigned char a, vector unsigned char b) 7915dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 79164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsububs(a, b); 7917dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7918dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7919a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7920a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsububs(vector bool char a, vector unsigned char b) 7921a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7922a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsububs((vector unsigned char)a, b); 7923a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7924a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7925a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 7926a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsububs(vector unsigned char a, vector bool char b) 7927a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7928a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsububs(a, (vector unsigned char)b); 7929a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7930a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 79314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubshs */ 7932dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7933a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 79344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubshs(vector short a, vector short b) 7935dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 79364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubshs(a, b); 7937dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7938dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7939a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7940a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubshs(vector bool short a, vector short b) 7941a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7942a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubshs((vector short)a, b); 7943a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7944a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7945a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 7946a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubshs(vector short a, vector bool short b) 7947a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7948a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubshs(a, (vector short)b); 7949a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7950a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 79514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuhs */ 7952dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7953a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 79544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubuhs(vector unsigned short a, vector unsigned short b) 7955dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 79564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubuhs(a, b); 7957dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7958dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7959a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7960a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuhs(vector bool short a, vector unsigned short b) 7961a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7962a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuhs((vector unsigned short)a, b); 7963a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7964a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7965a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 7966a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuhs(vector unsigned short a, vector bool short b) 7967a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7968a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuhs(a, (vector unsigned short)b); 7969a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7970a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 79714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubsws */ 7972dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7973a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 79744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubsws(vector int a, vector int b) 7975dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 79764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubsws(a, b); 7977dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7978dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7979a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7980a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubsws(vector bool int a, vector int b) 7981a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7982a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsws((vector int)a, b); 7983a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7984a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 7985a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 7986a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubsws(vector int a, vector bool int b) 7987a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 7988a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubsws(a, (vector int)b); 7989a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 7990a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 79914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsubuws */ 7992dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7993a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 79944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsubuws(vector unsigned int a, vector unsigned int b) 7995dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 79964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsubuws(a, b); 7997dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 7998dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 7999a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8000a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuws(vector bool int a, vector unsigned int b) 8001a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8002a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuws((vector unsigned int)a, b); 8003a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8004a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8005a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8006a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vsubuws(vector unsigned int a, vector bool int b) 8007a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8008a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return __builtin_altivec_vsubuws(a, (vector unsigned int)b); 8009a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8010a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 80114d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sum4s */ 8012dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 80144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sum4s(vector signed char a, vector int b) 8015dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80164d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum4sbs(a, b); 8017dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8018dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80194d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 80204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sum4s(vector unsigned char a, vector unsigned int b) 8021dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80224d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum4ubs(a, b); 8023dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8024dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80254d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 80264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sum4s(vector signed short a, vector int b) 8027dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80284d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum4shs(a, b); 8029dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8030dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4sbs */ 8032dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 80344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsum4sbs(vector signed char a, vector int b) 8035dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum4sbs(a, b); 8037dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8038dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4ubs */ 8040dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __attribute__((__always_inline__)) 80424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsum4ubs(vector unsigned char a, vector unsigned int b) 8043dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum4ubs(a, b); 8045dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8046dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80474d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum4shs */ 8048dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __attribute__((__always_inline__)) 80504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsum4shs(vector signed short a, vector int b) 8051dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum4shs(a, b); 8053dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8054dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80554d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sum2s */ 8056dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__)) 80584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sum2s(vector int a, vector int b) 8059dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum2sws(a, b); 8061dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8062dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80634d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsum2sws */ 8064dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__)) 80664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsum2sws(vector int a, vector int b) 8067dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsum2sws(a, b); 8069dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8070dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_sums */ 8072dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__)) 80744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_sums(vector signed int a, vector signed int b) 8075dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80764d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsumsws(a, b); 8077dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8078dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80794d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vsumsws */ 8080dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed int __attribute__((__always_inline__)) 80824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vsumsws(vector signed int a, vector signed int b) 8083dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vsumsws(a, b); 8085dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8086dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_trunc */ 8088dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 80904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_trunc(vector float a) 8091dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 80924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfiz(a); 8093dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8094dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80954d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vrfiz */ 8096dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 80974d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __attribute__((__always_inline__)) 80984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vrfiz(vector float a) 8099dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 81004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vrfiz(a); 8101dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8102dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 81034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_unpackh */ 8104dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 81054d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 81064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_unpackh(vector signed char a) 8107dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 81084d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupkhsb((vector char)a); 8109dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8110dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8111a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 8112a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_unpackh(vector bool char a) 8113a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8114a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vupkhsb((vector char)a); 8115a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8116a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 81174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 81184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_unpackh(vector short a) 8119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 81204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupkhsh(a); 8121dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8122dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8123a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 8124a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_unpackh(vector bool short a) 8125a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8126a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vupkhsh((vector short)a); 8127a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8128a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8129a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8130a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_unpackh(vector pixel a) 8131a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8132a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)__builtin_altivec_vupkhsh((vector short)a); 8133a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8134a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 81354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupkhsb */ 8136dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8137a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 81384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vupkhsb(vector signed char a) 8139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 81404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupkhsb((vector char)a); 8141dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8142dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8143a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 8144a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vupkhsb(vector bool char a) 8145a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8146a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vupkhsb((vector char)a); 8147a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8148a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 81494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupkhsh */ 81504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 8151a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 81524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vupkhsh(vector short a) 8153dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 81544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupkhsh(a); 8155dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8156dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8157a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 8158a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vupkhsh(vector bool short a) 8159a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8160a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vupkhsh((vector short)a); 8161a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8162a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8163a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8164a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vupkhsh(vector pixel a) 8165a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8166a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)__builtin_altivec_vupkhsh((vector short)a); 8167a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8168a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 81694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_unpackl */ 81704d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 81714d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 81724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_unpackl(vector signed char a) 8173dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 81744d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupklsb((vector char)a); 8175dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8176dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8177a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 8178a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_unpackl(vector bool char a) 8179a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8180a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vupklsb((vector char)a); 8181a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8182a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 81834d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 81844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_unpackl(vector short a) 8185dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 81864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupklsh(a); 8187dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8188dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8189a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 8190a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_unpackl(vector bool short a) 8191a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8192a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vupklsh((vector short)a); 8193a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8194a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8195a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8196a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_unpackl(vector pixel a) 8197a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8198a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)__builtin_altivec_vupklsh((vector short)a); 8199a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8200a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 82014d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupklsb */ 8202dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8203a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 82044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vupklsb(vector signed char a) 8205dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 82064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupklsb((vector char)a); 8207dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8208dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8209a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 8210a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vupklsb(vector bool char a) 8211a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8212a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool short)__builtin_altivec_vupklsb((vector char)a); 8213a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8214a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 82154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vupklsh */ 8216dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8217a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 82184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vupklsh(vector short a) 8219dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 82204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vupklsh(a); 8221dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8222dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8223a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 8224a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vupklsh(vector bool short a) 8225a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8226a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector bool int)__builtin_altivec_vupklsh((vector short)a); 8227a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8228a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8229a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8230a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vupklsh(vector pixel a) 8231a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8232a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)__builtin_altivec_vupklsh((vector short)a); 8233a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8234a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 82354d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_xor */ 82364d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 82374d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#define __builtin_altivec_vxor vec_xor 82384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 82394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 82404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_xor(vector signed char a, vector signed char b) 8241dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 82424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8243dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8244dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8245a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 8246a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool char a, vector signed char b) 8247a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8248a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector signed char)a ^ b; 8249a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8250a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8251a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 8252a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector signed char a, vector bool char b) 8253a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8254a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector signed char)b; 8255a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8256a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 82574d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 82584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_xor(vector unsigned char a, vector unsigned char b) 8259dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 82604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8261dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8262dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8263a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8264a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool char a, vector unsigned char b) 8265a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8266a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned char)a ^ b; 8267a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8268a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8269a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8270a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector unsigned char a, vector bool char b) 8271a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8272a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector unsigned char)b; 8273a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8274a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8275a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 8276a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool char a, vector bool char b) 8277a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8278a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ b; 8279a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8280a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 82814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 82824d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_xor(vector short a, vector short b) 8283dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 82844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8285dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8286dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8287a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 8288a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool short a, vector short b) 8289a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8290a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector short)a ^ b; 8291a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8292a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8293a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 8294a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector short a, vector bool short b) 8295a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8296a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector short)b; 8297a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8298a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 82994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 83004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_xor(vector unsigned short a, vector unsigned short b) 8301dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 83024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8303dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8304dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8305a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8306a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool short a, vector unsigned short b) 8307a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8308a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned short)a ^ b; 8309a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8310a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8311a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8312a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector unsigned short a, vector bool short b) 8313a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8314a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector unsigned short)b; 8315a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8316a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8317a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 8318a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool short a, vector bool short b) 8319a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8320a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ b; 8321a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8322a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 83234d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 83244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_xor(vector int a, vector int b) 8325dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 83264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8327dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8328dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8329a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 8330a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool int a, vector int b) 8331a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8332a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)a ^ b; 8333a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8334a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8335a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 8336a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector int a, vector bool int b) 8337a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8338a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector int)b; 8339a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8340a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 83414d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 83424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_xor(vector unsigned int a, vector unsigned int b) 8343dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 83444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8345dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8346dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8347a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8348a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool int a, vector unsigned int b) 8349a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8350a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)a ^ b; 8351a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8352a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8353a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8354a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector unsigned int a, vector bool int b) 8355a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8356a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector unsigned int)b; 8357a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8358a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8359a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 8360a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool int a, vector bool int b) 8361a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8362a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ b; 8363a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8364a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 83654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 83664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_xor(vector float a, vector float b) 8367dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 83684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a ^ (vector unsigned int)b; 83694d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 8370dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8371dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8372a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 8373a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector bool int a, vector float b) 8374a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8375a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a ^ (vector unsigned int)b; 8376a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 8377a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8378a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8379a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 8380a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_xor(vector float a, vector bool int b) 8381a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8382a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a ^ (vector unsigned int)b; 8383a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 8384a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8385a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 83864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov/* vec_vxor */ 83874d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 83884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector signed char __ATTRS_o_ai 83894d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vxor(vector signed char a, vector signed char b) 8390dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 83914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8392dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8393dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8394a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 8395a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool char a, vector signed char b) 8396a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8397a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector signed char)a ^ b; 8398a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8399a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8400a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector signed char __ATTRS_o_ai 8401a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector signed char a, vector bool char b) 8402a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8403a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector signed char)b; 8404a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8405a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 84064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned char __ATTRS_o_ai 84074d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vxor(vector unsigned char a, vector unsigned char b) 8408dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 84094d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8410dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8411dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8412a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8413a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool char a, vector unsigned char b) 8414a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8415a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned char)a ^ b; 8416a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8417a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8418a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8419a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector unsigned char a, vector bool char b) 8420a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8421a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector unsigned char)b; 8422a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8423a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8424a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool char __ATTRS_o_ai 8425a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool char a, vector bool char b) 8426a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8427a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ b; 8428a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8429a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 84304d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector short __ATTRS_o_ai 84314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vxor(vector short a, vector short b) 8432dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 84334d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8434dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8435dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8436a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 8437a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool short a, vector short b) 8438a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8439a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector short)a ^ b; 8440a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8441a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8442a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector short __ATTRS_o_ai 8443a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector short a, vector bool short b) 8444a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8445a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector short)b; 8446a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8447a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 84484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned short __ATTRS_o_ai 84494d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vxor(vector unsigned short a, vector unsigned short b) 8450dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 84514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8452dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8453dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8454a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8455a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool short a, vector unsigned short b) 8456a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8457a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned short)a ^ b; 8458a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8459a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8460a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8461a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector unsigned short a, vector bool short b) 8462a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8463a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector unsigned short)b; 8464a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8465a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8466a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool short __ATTRS_o_ai 8467a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool short a, vector bool short b) 8468a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8469a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ b; 8470a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8471a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 84724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector int __ATTRS_o_ai 84734d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vxor(vector int a, vector int b) 8474dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 84754d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8476dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8477dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8478a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 8479a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool int a, vector int b) 8480a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8481a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector int)a ^ b; 8482a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8483a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8484a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector int __ATTRS_o_ai 8485a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector int a, vector bool int b) 8486a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8487a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector int)b; 8488a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8489a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 84904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector unsigned int __ATTRS_o_ai 84914d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vxor(vector unsigned int a, vector unsigned int b) 8492dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 84934d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return a ^ b; 8494dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8495dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8496a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8497a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool int a, vector unsigned int b) 8498a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8499a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector unsigned int)a ^ b; 8500a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8501a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8502a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8503a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector unsigned int a, vector bool int b) 8504a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8505a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ (vector unsigned int)b; 8506a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8507a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8508a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector bool int __ATTRS_o_ai 8509a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool int a, vector bool int b) 8510a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8511a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return a ^ b; 8512a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8513a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 85144d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic vector float __ATTRS_o_ai 85154d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovvec_vxor(vector float a, vector float b) 8516dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 85174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov vector unsigned int res = (vector unsigned int)a ^ (vector unsigned int)b; 85184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return (vector float)res; 8519dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 8520dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 8521a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 8522a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector bool int a, vector float b) 8523a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8524a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a ^ (vector unsigned int)b; 8525a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 8526a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8527a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 8528a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevstatic vector float __ATTRS_o_ai 8529a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsevvec_vxor(vector float a, vector bool int b) 8530a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev{ 8531a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev vector unsigned int res = (vector unsigned int)a ^ (vector unsigned int)b; 8532a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev return (vector float)res; 8533a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev} 8534a2fc0f54d69461795433d42c46de337850be15cdAnton Yartsev 85353ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev/* ------------------------ extensions for CBEA ----------------------------- */ 853644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 853744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_extract */ 853844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 853944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic signed char __ATTRS_o_ai 854044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_extract(vector signed char a, int b) 854144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 854244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return a[b]; 854344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 854444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 854544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned char __ATTRS_o_ai 854644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_extract(vector unsigned char a, int b) 854744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 854844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return a[b]; 854944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 855044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 855144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic short __ATTRS_o_ai 855244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_extract(vector short a, int b) 855344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 855444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return a[b]; 855544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 855644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 855744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned short __ATTRS_o_ai 855844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_extract(vector unsigned short a, int b) 855944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 856044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return a[b]; 856144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 856244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 856344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic int __ATTRS_o_ai 856444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_extract(vector int a, int b) 856544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 856644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return a[b]; 856744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 856844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 856944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic unsigned int __ATTRS_o_ai 857044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_extract(vector unsigned int a, int b) 857144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 857244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return a[b]; 857344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 857444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 857544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic float __ATTRS_o_ai 857644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_extract(vector float a, int b) 857744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 857844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return a[b]; 857944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 858044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 858144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_insert */ 858244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 858344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 858444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_insert(signed char a, vector signed char b, int c) 858544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 858644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b[c] = a; 858744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return b; 858844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 858944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 859044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 859144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_insert(unsigned char a, vector unsigned char b, int c) 859244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 859344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b[c] = a; 859444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return b; 859544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 859644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 859744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 859844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_insert(short a, vector short b, int c) 859944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 860044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b[c] = a; 860144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return b; 860244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 860344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 860444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 860544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_insert(unsigned short a, vector unsigned short b, int c) 860644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 860744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b[c] = a; 860844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return b; 860944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 861044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 861144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 861244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_insert(int a, vector int b, int c) 861344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 861444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b[c] = a; 861544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return b; 861644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 861744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 861844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 861944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_insert(unsigned int a, vector unsigned int b, int c) 862044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 862144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b[c] = a; 862244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return b; 862344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 862444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 862544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 862644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_insert(float a, vector float b, int c) 862744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 862844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b[c] = a; 862944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return b; 863044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 863144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 863244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvlx */ 863344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 863444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 8635e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const signed char *b) 863644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 863744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 863844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector signed char)(0), 863944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 864044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 864144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 864244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 8643e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector signed char *b) 864444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 864544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 864644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector signed char)(0), 864744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 864844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 864944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 865044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8651e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const unsigned char *b) 865244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 865344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 865444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned char)(0), 865544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 865644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 865744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 865844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8659e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector unsigned char *b) 866044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 866144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 866244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned char)(0), 866344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 866444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 866544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 866644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai 8667e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector bool char *b) 866844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 866944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 867044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector bool char)(0), 867144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 867244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 867344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 867444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 8675e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const short *b) 867644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 867744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 867844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector short)(0), 867944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 868044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 868144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 868244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 8683e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector short *b) 868444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 868544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 868644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector short)(0), 868744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 868844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 868944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 869044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8691e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const unsigned short *b) 869244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 869344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 869444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned short)(0), 869544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 869644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 869744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 869844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8699e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector unsigned short *b) 870044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 870144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 870244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned short)(0), 870344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 870444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 870544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 870644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai 8707e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector bool short *b) 870844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 870944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 871044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector bool short)(0), 871144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 871244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 871344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 871444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai 8715e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector pixel *b) 871644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 871744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 871844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector pixel)(0), 871944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 872044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 872144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 872244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 8723e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const int *b) 872444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 872544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 872644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector int)(0), 872744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 872844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 872944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 873044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 8731e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector int *b) 873244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 873344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 873444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector int)(0), 873544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 873644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 873744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 873844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8739e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const unsigned int *b) 874044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 874144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 874244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned int)(0), 874344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 874444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 874544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 874644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8747e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector unsigned int *b) 874844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 874944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 875044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned int)(0), 875144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 875244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 875344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 875444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai 8755e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector bool int *b) 875644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 875744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 875844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector bool int)(0), 875944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 876044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 876144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 876244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 8763e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const float *b) 876444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 876544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 876644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector float)(0), 876744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 876844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 876944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 877044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 8771e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlx(int a, const vector float *b) 877244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 877344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ld(a, b), 877444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector float)(0), 877544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 877644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 877744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 877844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvlxl */ 877944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 878044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 8781e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const signed char *b) 878244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 878344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 878444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector signed char)(0), 878544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 878644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 878744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 878844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 8789e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector signed char *b) 879044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 879144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 879244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector signed char)(0), 879344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 879444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 879544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 879644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8797e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const unsigned char *b) 879844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 879944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 880044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned char)(0), 880144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 880244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 880344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 880444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8805e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector unsigned char *b) 880644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 880744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 880844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned char)(0), 880944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 881044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 881144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 881244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai 8813e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector bool char *b) 881444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 881544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 881644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector bool char)(0), 881744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 881844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 881944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 882044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 8821e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const short *b) 882244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 882344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 882444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector short)(0), 882544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 882644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 882744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 882844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 8829e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector short *b) 883044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 883144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 883244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector short)(0), 883344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 883444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 883544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 883644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8837e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const unsigned short *b) 883844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 883944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 884044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned short)(0), 884144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 884244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 884344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 884444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8845e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector unsigned short *b) 884644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 884744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 884844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned short)(0), 884944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 885044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 885144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 885244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai 8853e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector bool short *b) 885444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 885544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 885644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector bool short)(0), 885744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 885844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 885944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 886044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai 8861e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector pixel *b) 886244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 886344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 886444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector pixel)(0), 886544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 886644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 886744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 886844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 8869e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const int *b) 887044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 887144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 887244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector int)(0), 887344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 887444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 887544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 887644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 8877e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector int *b) 887844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 887944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 888044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector int)(0), 888144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 888244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 888344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 888444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8885e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const unsigned int *b) 888644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 888744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 888844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned int)(0), 888944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 889044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 889144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 889244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 8893e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector unsigned int *b) 889444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 889544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 889644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector unsigned int)(0), 889744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 889844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 889944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 890044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai 8901e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const vector bool int *b) 890244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 890344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 890444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector bool int)(0), 890544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 890644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 890744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 890844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 8909e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvlxl(int a, const float *b) 891044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 891144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 891244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector float)(0), 891344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 891444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 891544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 891644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 891744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_lvlxl(int a, vector float *b) 891844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 891944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm(vec_ldl(a, b), 892044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev (vector float)(0), 892144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 892244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 892344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 892444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvrx */ 892544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 892644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 8927e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const signed char *b) 892844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 892944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector signed char)(0), 893044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 893144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 893244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 893344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 893444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 8935e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector signed char *b) 893644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 893744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector signed char)(0), 893844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 893944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 894044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 894144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 894244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8943e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const unsigned char *b) 894444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 894544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned char)(0), 894644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 894744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 894844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 894944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 895044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 8951e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector unsigned char *b) 895244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 895344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned char)(0), 895444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 895544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 895644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 895744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 895844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai 8959e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector bool char *b) 896044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 896144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector bool char)(0), 896244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 896344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 896444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 896544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 896644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 8967e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const short *b) 896844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 896944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector short)(0), 897044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 897144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 897244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 897344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 897444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 8975e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector short *b) 897644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 897744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector short)(0), 897844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 897944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 898044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 898144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 898244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8983e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const unsigned short *b) 898444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 898544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned short)(0), 898644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 898744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 898844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 898944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 899044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 8991e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector unsigned short *b) 899244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 899344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned short)(0), 899444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 899544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 899644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 899744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 899844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai 8999e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector bool short *b) 900044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 900144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector bool short)(0), 900244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 900344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 900444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 900544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 900644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai 9007e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector pixel *b) 900844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 900944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector pixel)(0), 901044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 901144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 901244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 901344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 901444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 9015e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const int *b) 901644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 901744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector int)(0), 901844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 901944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 902044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 902144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 902244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 9023e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector int *b) 902444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 902544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector int)(0), 902644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 902744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 902844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 902944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 903044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 9031e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const unsigned int *b) 903244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 903344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned int)(0), 903444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 903544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 903644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 903744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 903844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 9039e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector unsigned int *b) 904044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 904144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned int)(0), 904244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 904344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 904444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 904544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 904644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai 9047e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector bool int *b) 904844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 904944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector bool int)(0), 905044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 905144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 905244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 905344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 905444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 9055e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const float *b) 905644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 905744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector float)(0), 905844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 905944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 906044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 906144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 906244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 9063e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrx(int a, const vector float *b) 906444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 906544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector float)(0), 906644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ld(a, b), 906744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 906844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 906944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 907044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_lvrxl */ 907144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 907244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 9073e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const signed char *b) 907444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 907544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector signed char)(0), 907644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 907744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 907844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 907944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 908044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 9081e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector signed char *b) 908244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 908344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector signed char)(0), 908444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 908544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 908644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 908744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 908844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 9089e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const unsigned char *b) 909044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 909144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned char)(0), 909244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 909344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 909444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 909544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 909644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 9097e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector unsigned char *b) 909844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 909944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned char)(0), 910044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 910144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 910244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 910344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 910444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool char __ATTRS_o_ai 9105e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector bool char *b) 910644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 910744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector bool char)(0), 910844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 910944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 911044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 911144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 911244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 9113e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const short *b) 911444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 911544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector short)(0), 911644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 911744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 911844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 911944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 912044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 9121e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector short *b) 912244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 912344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector short)(0), 912444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 912544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 912644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 912744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 912844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 9129e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const unsigned short *b) 913044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 913144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned short)(0), 913244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 913344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 913444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 913544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 913644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 9137e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector unsigned short *b) 913844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 913944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned short)(0), 914044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 914144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 914244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 914344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 914444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool short __ATTRS_o_ai 9145e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector bool short *b) 914644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 914744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector bool short)(0), 914844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 914944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 915044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 915144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 915244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector pixel __ATTRS_o_ai 9153e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector pixel *b) 915444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 915544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector pixel)(0), 915644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 915744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 915844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 915944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 916044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 9161e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const int *b) 916244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 916344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector int)(0), 916444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 916544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 916644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 916744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 916844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 9169e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector int *b) 917044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 917144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector int)(0), 917244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 917344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 917444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 917544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 917644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 9177e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const unsigned int *b) 917844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 917944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned int)(0), 918044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 918144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 918244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 918344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 918444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 9185e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector unsigned int *b) 918644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 918744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector unsigned int)(0), 918844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 918944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 919044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 919144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 919244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector bool int __ATTRS_o_ai 9193e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector bool int *b) 919444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 919544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector bool int)(0), 919644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 919744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 919844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 919944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 920044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 9201e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const float *b) 920244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 920344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector float)(0), 920444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 920544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, b)); 920644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 920744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 920844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 9209e19df1839992d54d37624e617f410ac7dda87f07Anton Yartsevvec_lvrxl(int a, const vector float *b) 921044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 921144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_perm((vector float)(0), 921244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_ldl(a, b), 921344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsl(a, (unsigned char *)b)); 921444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 921544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 921644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvlx */ 921744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 921844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 921944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector signed char a, int b, signed char *c) 922044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 922144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 922244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 922344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 922444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 922544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 922644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 922744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 922844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector signed char a, int b, vector signed char *c) 922944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 923044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 923144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 923244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 923344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 923444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 923544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 923644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 923744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector unsigned char a, int b, unsigned char *c) 923844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 923944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 924044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 924144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 924244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 924344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 924444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 924544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 924644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector unsigned char a, int b, vector unsigned char *c) 924744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 924844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 924944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 925044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 925144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 925244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 925344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 925444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 925544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector bool char a, int b, vector bool char *c) 925644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 925744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 925844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 925944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 926044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 926144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 926244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 926344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 926444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector short a, int b, short *c) 926544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 926644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 926744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 926844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 926944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 927044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 927144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 927244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 927344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector short a, int b, vector short *c) 927444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 927544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 927644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 927744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 927844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 927944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 928044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 928144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 928244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector unsigned short a, int b, unsigned short *c) 928344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 928444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 928544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 928644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 928744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 928844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 928944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 929044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 929144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector unsigned short a, int b, vector unsigned short *c) 929244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 929344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 929444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 929544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 929644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 929744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 929844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 929944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 930044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector bool short a, int b, vector bool short *c) 930144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 930244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 930344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 930444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 930544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 930644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 930744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 930844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 930944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector pixel a, int b, vector pixel *c) 931044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 931144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 931244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 931344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 931444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 931544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 931644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 931744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 931844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector int a, int b, int *c) 931944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 932044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 932144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 932244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 932344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 932444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 932544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 932644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 932744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector int a, int b, vector int *c) 932844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 932944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 933044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 933144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 933244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 933344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 933444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 933544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 933644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector unsigned int a, int b, unsigned int *c) 933744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 933844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 933944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 934044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 934144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 934244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 934344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 934444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 934544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector unsigned int a, int b, vector unsigned int *c) 934644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 934744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 934844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 934944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 935044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 935144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 935244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 935344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 935444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector bool int a, int b, vector bool int *c) 935544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 935644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 935744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 935844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 935944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 936044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 936144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 936244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 936344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlx(vector float a, int b, vector float *c) 936444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 936544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(vec_lvrx(b, c), 936644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 936744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 936844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 936944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 937044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 937144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvlxl */ 937244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 937344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 937444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector signed char a, int b, signed char *c) 937544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 937644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 937744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 937844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 937944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 938044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 938144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 938244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 938344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector signed char a, int b, vector signed char *c) 938444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 938544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 938644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 938744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 938844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 938944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 939044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 939144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 939244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector unsigned char a, int b, unsigned char *c) 939344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 939444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 939544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 939644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 939744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 939844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 939944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 940044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 940144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector unsigned char a, int b, vector unsigned char *c) 940244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 940344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 940444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 940544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 940644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 940744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 940844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 940944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 941044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector bool char a, int b, vector bool char *c) 941144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 941244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 941344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 941444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 941544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 941644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 941744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 941844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 941944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector short a, int b, short *c) 942044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 942144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 942244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 942344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 942444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 942544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 942644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 942744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 942844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector short a, int b, vector short *c) 942944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 943044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 943144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 943244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 943344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 943444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 943544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 943644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 943744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector unsigned short a, int b, unsigned short *c) 943844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 943944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 944044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 944144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 944244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 944344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 944444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 944544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 944644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector unsigned short a, int b, vector unsigned short *c) 944744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 944844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 944944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 945044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 945144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 945244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 945344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 945444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 945544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector bool short a, int b, vector bool short *c) 945644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 945744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 945844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 945944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 946044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 946144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 946244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 946344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 946444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector pixel a, int b, vector pixel *c) 946544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 946644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 946744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 946844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 946944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 947044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 947144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 947244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 947344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector int a, int b, int *c) 947444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 947544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 947644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 947744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 947844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 947944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 948044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 948144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 948244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector int a, int b, vector int *c) 948344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 948444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 948544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 948644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 948744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 948844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 948944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 949044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 949144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector unsigned int a, int b, unsigned int *c) 949244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 949344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 949444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 949544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 949644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 949744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 949844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 949944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 950044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector unsigned int a, int b, vector unsigned int *c) 950144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 950244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 950344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 950444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 950544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 950644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 950744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 950844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 950944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector bool int a, int b, vector bool int *c) 951044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 951144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 951244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 951344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 951444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 951544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 951644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 951744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 951844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvlxl(vector float a, int b, vector float *c) 951944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 952044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(vec_lvrx(b, c), 952144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev a, 952244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 952344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 952444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 952544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 952644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvrx */ 952744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 952844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 952944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector signed char a, int b, signed char *c) 953044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 953144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 953244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 953344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 953444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 953544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 953644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 953744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 953844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector signed char a, int b, vector signed char *c) 953944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 954044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 954144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 954244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 954344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 954444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 954544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 954644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 954744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector unsigned char a, int b, unsigned char *c) 954844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 954944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 955044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 955144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 955244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 955344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 955444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 955544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 955644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector unsigned char a, int b, vector unsigned char *c) 955744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 955844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 955944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 956044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 956144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 956244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 956344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 956444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 956544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector bool char a, int b, vector bool char *c) 956644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 956744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 956844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 956944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 957044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 957144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 957244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 957344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 957444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector short a, int b, short *c) 957544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 957644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 957744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 957844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 957944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 958044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 958144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 958244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 958344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector short a, int b, vector short *c) 958444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 958544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 958644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 958744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 958844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 958944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 959044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 959144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 959244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector unsigned short a, int b, unsigned short *c) 959344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 959444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 959544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 959644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 959744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 959844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 959944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 960044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 960144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector unsigned short a, int b, vector unsigned short *c) 960244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 960344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 960444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 960544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 960644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 960744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 960844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 960944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 961044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector bool short a, int b, vector bool short *c) 961144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 961244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 961344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 961444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 961544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 961644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 961744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 961844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 961944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector pixel a, int b, vector pixel *c) 962044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 962144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 962244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 962344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 962444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 962544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 962644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 962744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 962844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector int a, int b, int *c) 962944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 963044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 963144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 963244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 963344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 963444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 963544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 963644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 963744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector int a, int b, vector int *c) 963844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 963944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 964044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 964144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 964244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 964344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 964444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 964544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 964644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector unsigned int a, int b, unsigned int *c) 964744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 964844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 964944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 965044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 965144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 965244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 965344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 965444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 965544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector unsigned int a, int b, vector unsigned int *c) 965644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 965744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 965844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 965944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 966044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 966144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 966244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 966344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 966444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector bool int a, int b, vector bool int *c) 966544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 966644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 966744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 966844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 966944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 967044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 967144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 967244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 967344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrx(vector float a, int b, vector float *c) 967444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 967544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_st(vec_perm(a, 967644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 967744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 967844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 967944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 968044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 968144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_stvrxl */ 968244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 968344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 968444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector signed char a, int b, signed char *c) 968544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 968644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 968744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 968844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 968944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 969044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 969144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 969244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 969344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector signed char a, int b, vector signed char *c) 969444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 969544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 969644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 969744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 969844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 969944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 970044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 970144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 970244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector unsigned char a, int b, unsigned char *c) 970344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 970444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 970544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 970644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 970744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 970844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 970944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 971044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 971144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector unsigned char a, int b, vector unsigned char *c) 971244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 971344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 971444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 971544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 971644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 971744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 971844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 971944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 972044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector bool char a, int b, vector bool char *c) 972144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 972244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 972344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 972444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 972544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 972644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 972744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 972844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 972944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector short a, int b, short *c) 973044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 973144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 973244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 973344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 973444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 973544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 973644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 973744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 973844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector short a, int b, vector short *c) 973944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 974044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 974144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 974244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 974344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 974444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 974544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 974644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 974744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector unsigned short a, int b, unsigned short *c) 974844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 974944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 975044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 975144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 975244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 975344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 975444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 975544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 975644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector unsigned short a, int b, vector unsigned short *c) 975744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 975844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 975944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 976044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 976144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 976244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 976344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 976444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 976544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector bool short a, int b, vector bool short *c) 976644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 976744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 976844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 976944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 977044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 977144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 977244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 977344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 977444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector pixel a, int b, vector pixel *c) 977544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 977644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 977744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 977844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 977944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 978044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 978144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 978244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 978344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector int a, int b, int *c) 978444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 978544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 978644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 978744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 978844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 978944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 979044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 979144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 979244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector int a, int b, vector int *c) 979344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 979444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 979544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 979644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 979744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 979844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 979944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 980044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 980144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector unsigned int a, int b, unsigned int *c) 980244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 980344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 980444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 980544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, c)), 980644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 980744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 980844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 980944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 981044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector unsigned int a, int b, vector unsigned int *c) 981144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 981244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 981344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 981444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 981544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 981644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 981744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 981844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 981944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector bool int a, int b, vector bool int *c) 982044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 982144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 982244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 982344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 982444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 982544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 982644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 982744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic void __ATTRS_o_ai 982844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_stvrxl(vector float a, int b, vector float *c) 982944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 983044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return vec_stl(vec_perm(a, 983144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvlx(b, c), 983244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vec_lvsr(b, (unsigned char *)c)), 983344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev b, c); 983444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 983544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 983644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_promote */ 983744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 983844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 983944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_promote(signed char a, int b) 984044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 984144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vector signed char res = (vector signed char)(0); 984244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev res[b] = a; 984344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return res; 984444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 984544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 984644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 984744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_promote(unsigned char a, int b) 984844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 984944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vector unsigned char res = (vector unsigned char)(0); 985044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev res[b] = a; 985144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return res; 985244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 985344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 985444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 985544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_promote(short a, int b) 985644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 985744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vector short res = (vector short)(0); 985844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev res[b] = a; 985944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return res; 986044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 986144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 986244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 986344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_promote(unsigned short a, int b) 986444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 986544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vector unsigned short res = (vector unsigned short)(0); 986644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev res[b] = a; 986744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return res; 986844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 986944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 987044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 987144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_promote(int a, int b) 987244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 987344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vector int res = (vector int)(0); 987444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev res[b] = a; 987544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return res; 987644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 987744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 987844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 987944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_promote(unsigned int a, int b) 988044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 988144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vector unsigned int res = (vector unsigned int)(0); 988244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev res[b] = a; 988344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return res; 988444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 988544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 988644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 988744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_promote(float a, int b) 988844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 988944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev vector float res = (vector float)(0); 989044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev res[b] = a; 989144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return res; 989244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 989344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 989444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev/* vec_splats */ 989544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 989644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector signed char __ATTRS_o_ai 989744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_splats(signed char a) 989844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 989944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return (vector signed char)(a); 990044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 990144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 990244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned char __ATTRS_o_ai 990344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_splats(unsigned char a) 990444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 990544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return (vector unsigned char)(a); 990644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 990744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 990844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector short __ATTRS_o_ai 990944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_splats(short a) 991044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 991144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return (vector short)(a); 991244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 991344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 991444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned short __ATTRS_o_ai 991544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_splats(unsigned short a) 991644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 991744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return (vector unsigned short)(a); 991844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 991944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 992044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector int __ATTRS_o_ai 992144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_splats(int a) 992244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 992344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return (vector int)(a); 992444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 992544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 992644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector unsigned int __ATTRS_o_ai 992744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_splats(unsigned int a) 992844270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 992944270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return (vector unsigned int)(a); 993044270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 993144270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 993244270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevstatic vector float __ATTRS_o_ai 993344270d6abff30415cdd873164823f48a45be7f8cAnton Yartsevvec_splats(float a) 993444270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev{ 993544270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev return (vector float)(a); 993644270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev} 993744270d6abff30415cdd873164823f48a45be7f8cAnton Yartsev 99383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev/* ----------------------------- predicates --------------------------------- */ 99394d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov 9940dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_all_eq */ 9941dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99424d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9943dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_all_eq(vector signed char a, vector signed char b) 9944dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9945ab866b46f3f626ac2da42d2b16ec3b5c04105e38Chris Lattner return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)a, (vector char)b); 9946dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9947dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99484d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9949a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector signed char a, vector bool char b) 9950dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9951ab866b46f3f626ac2da42d2b16ec3b5c04105e38Chris Lattner return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)a, (vector char)b); 9952dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9953dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9955a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector unsigned char a, vector unsigned char b) 9956dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9957a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)a, (vector char)b); 9958dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9959dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99604d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9961a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector unsigned char a, vector bool char b) 9962dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9963a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)a, (vector char)b); 9964dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9965dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9967a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool char a, vector signed char b) 9968dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9969a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)a, (vector char)b); 9970dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9971dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9973a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool char a, vector unsigned char b) 9974dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9975a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)a, (vector char)b); 9976dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9977dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99784d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9979a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool char a, vector bool char b) 9980dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9981a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_LT, (vector char)a, (vector char)b); 9982dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9983dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99844d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9985a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector short a, vector short b) 9986dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9987a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT, a, b); 9988dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9989dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99904d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9991a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector short a, vector bool short b) 9992dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 9993a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT, a, (vector short)b); 9994dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 9995dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 99964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 9997a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector unsigned short a, vector unsigned short b) 9998dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 99993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 100003ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)a, (vector short)b); 10001dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10002dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100034d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10004a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector unsigned short a, vector bool short b) 10005dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 100063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 100073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)a, (vector short)b); 10008dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10009dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100104d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10011a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool short a, vector short b) 10012dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 100133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 100143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)a, (vector short)b); 10015dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10016dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100174d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10018a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool short a, vector unsigned short b) 10019dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 100203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 100213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)a, (vector short)b); 10022dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10023dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100244d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10025a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool short a, vector bool short b) 10026dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 100273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 100283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)a, (vector short)b); 10029dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10030dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100314d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10032a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector pixel a, vector pixel b) 10033dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 100343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 100353ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_LT, (vector short)a, (vector short)b); 10036dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10037dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10039a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector int a, vector int b) 10040dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10041a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT, a, b); 10042dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10043dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10045a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector int a, vector bool int b) 10046dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10047a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT, a, (vector int)b); 10048dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10049dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10051a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector unsigned int a, vector unsigned int b) 10052dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10053a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)a, (vector int)b); 10054dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10055dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100564d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10057a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector unsigned int a, vector bool int b) 10058dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10059a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)a, (vector int)b); 10060dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10061dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100624d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10063a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool int a, vector int b) 10064dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10065a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)a, (vector int)b); 10066dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10067dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100684d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10069a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool int a, vector unsigned int b) 10070dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10071a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)a, (vector int)b); 10072dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10073dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10074a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10075a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector bool int a, vector bool int b) 10076a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10077a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT, (vector int)a, (vector int)b); 10078a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10079dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10080a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10081a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_eq(vector float a, vector float b) 10082dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10083a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpeqfp_p(__CR6_LT, a, b); 10084dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10085dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10086a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ge */ 10087dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10089a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector signed char a, vector signed char b) 10090dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10091a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, b, a); 10092dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10093dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 100944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10095a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector signed char a, vector bool char b) 10096dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10097a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, (vector signed char)b, a); 10098dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10099dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10101a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector unsigned char a, vector unsigned char b) 10102dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10103a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, b, a); 10104dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10105dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10107a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector unsigned char a, vector bool char b) 10108dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10109a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)b, a); 10110dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10111dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10113a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool char a, vector signed char b) 10114dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 101153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, 101163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 101173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 10118dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10119dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10121a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool char a, vector unsigned char b) 10122dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10123a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, b, (vector unsigned char)a); 10124dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10125dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10127a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool char a, vector bool char b) 10128dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 101293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, 101303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 101313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 10132dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10133dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101344d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10135a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector short a, vector short b) 10136dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10137a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, b, a); 10138dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10139dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10141a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector short a, vector bool short b) 10142dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10143a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, (vector short)b, a); 10144dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10145dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101464d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10147a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector unsigned short a, vector unsigned short b) 10148dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10149a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, b, a); 10150dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10151dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10153a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector unsigned short a, vector bool short b) 10154dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10155a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)b, a); 10156dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10157dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10159a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool short a, vector short b) 10160dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 101613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, 101623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 101633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 10164dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10165dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10167a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool short a, vector unsigned short b) 10168dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10169a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, b, (vector unsigned short)a); 10170dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10171dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10173a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool short a, vector bool short b) 10174dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 101753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, 101763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 101773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 10178dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10179dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10180a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10181a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector int a, vector int b) 10182dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10183a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, b, a); 10184dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10185dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10187a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector int a, vector bool int b) 10188dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10189a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, (vector int)b, a); 10190dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10191dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10193a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector unsigned int a, vector unsigned int b) 10194dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10195a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, b, a); 10196dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10197dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 101984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10199a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector unsigned int a, vector bool int b) 10200dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10201a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)b, a); 10202dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10203dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10205a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool int a, vector int b) 10206dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 102073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, 102083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 102093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 10210dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10211dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10213a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool int a, vector unsigned int b) 10214dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10215a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, b, (vector unsigned int)a); 10216dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10217dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10219a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector bool int a, vector bool int b) 10220dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 102213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, 102223ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 102233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 10224dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10225dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10227a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ge(vector float a, vector float b) 10228dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10229a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgefp_p(__CR6_LT, a, b); 10230dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10231dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10232a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_gt */ 10233dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10234a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10235a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector signed char a, vector signed char b) 10236dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10237a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT, a, b); 10238dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10239dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10240a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10241a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector signed char a, vector bool char b) 10242dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10243a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT, a, (vector signed char)b); 10244dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10245dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10246a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10247a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector unsigned char a, vector unsigned char b) 10248dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10249a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, a, b); 10250dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10251dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10252a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10253a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector unsigned char a, vector bool char b) 10254dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10255a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, a, (vector unsigned char)b); 10256dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10257dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10258a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10259a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool char a, vector signed char b) 10260dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 102613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, 102623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 102633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 10264dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10265dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102664d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10267a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool char a, vector unsigned char b) 10268dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10269a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)a, b); 10270dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10271dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10273a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool char a, vector bool char b) 10274dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 102753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, 102763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 102773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 10278dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10279dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102804d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10281a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector short a, vector short b) 10282dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10283a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT, a, b); 10284dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10285dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10287a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector short a, vector bool short b) 10288dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10289a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT, a, (vector short)b); 10290dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10291dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10293a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector unsigned short a, vector unsigned short b) 10294dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10295a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, a, b); 10296dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10297dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 102984d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10299a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector unsigned short a, vector bool short b) 10300dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10301a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, a, (vector unsigned short)b); 10302dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10303dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10305a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool short a, vector short b) 10306dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 103073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, 103083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 103093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 10310dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10311dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10313a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool short a, vector unsigned short b) 10314dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10315a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)a, b); 10316dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10317dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103184d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10319a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool short a, vector bool short b) 10320dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 103213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, 103223ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 103233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 10324dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10325dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103264d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10327a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector int a, vector int b) 10328dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10329a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_LT, a, b); 10330dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10331dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103324d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10333a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector int a, vector bool int b) 10334dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10335a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_LT, a, (vector int)b); 10336dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10337dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10339a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector unsigned int a, vector unsigned int b) 10340dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10341a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, a, b); 10342dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10343dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10345a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector unsigned int a, vector bool int b) 10346dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10347a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, a, (vector unsigned int)b); 10348dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10349dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10351a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool int a, vector int b) 10352dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 103533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, 103543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 103553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 10356dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10357dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103584d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10359a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool int a, vector unsigned int b) 10360dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10361a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)a, b); 10362dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10363dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103644d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10365a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector bool int a, vector bool int b) 10366dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 103673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, 103683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 103693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 10370dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10371dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10373a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_gt(vector float a, vector float b) 10374dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10375a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtfp_p(__CR6_LT, a, b); 10376dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10377dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10378a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_in */ 10379a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10380a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__)) 10381a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_in(vector float a, vector float b) 10382dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10383a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpbfp_p(__CR6_EQ, a, b); 10384dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10385dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 10386a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_le */ 10387a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 103884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10389a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector signed char a, vector signed char b) 10390dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10391a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, a, b); 10392dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10393dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 103944d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10395a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector signed char a, vector bool char b) 10396dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10397a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_EQ, a, (vector signed char)b); 10398dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10399dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 104004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10401a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector unsigned char a, vector unsigned char b) 10402dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10403a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, a, b); 10404dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10405dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 104064d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10407a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector unsigned char a, vector bool char b) 10408dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10409a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, a, (vector unsigned char)b); 10410dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10411dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 104124d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10413a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool char a, vector signed char b) 10414dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 104153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, 104163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 104173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 10418dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 10419dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 104204d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 10421a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool char a, vector unsigned char b) 10422dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 10423a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, (vector unsigned char)a, b); 10424a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10425a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10426a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10427a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool char a, vector bool char b) 10428a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 104293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ, 104303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 104313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 10432a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10433a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10434a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10435a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector short a, vector short b) 10436a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10437a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, a, b); 10438a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10439a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10440a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10441a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector short a, vector bool short b) 10442a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10443a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_EQ, a, (vector short)b); 10444a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10445a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10446a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10447a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector unsigned short a, vector unsigned short b) 10448a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10449a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, a, b); 10450a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10451a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10452a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10453a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector unsigned short a, vector bool short b) 10454a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10455a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, a, (vector unsigned short)b); 10456a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10457a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10458a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10459a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool short a, vector short b) 10460a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 104613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, 104623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 104633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 10464a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10465a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10466a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10467a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool short a, vector unsigned short b) 10468a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10469a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, (vector unsigned short)a, b); 10470a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10471a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10472a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10473a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool short a, vector bool short b) 10474a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 104753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ, 104763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 104773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 10478a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10479a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10480a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10481a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector int a, vector int b) 10482a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10483a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, a, b); 10484a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10485a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10486a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10487a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector int a, vector bool int b) 10488a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10489a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_EQ, a, (vector int)b); 10490a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10491a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10492a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10493a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector unsigned int a, vector unsigned int b) 10494a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10495a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, a, b); 10496a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10497a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10498a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10499a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector unsigned int a, vector bool int b) 10500a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10501a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, a, (vector unsigned int)b); 10502a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10503a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10504a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10505a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool int a, vector int b) 10506a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 105073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, 105083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 105093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 10510a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10511a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10512a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10513a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool int a, vector unsigned int b) 10514a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10515a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, (vector unsigned int)a, b); 10516a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10517a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10518a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10519a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector bool int a, vector bool int b) 10520a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 105213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ, 105223ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 105233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 10524a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10525a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10526a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10527a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_le(vector float a, vector float b) 10528a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10529a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgefp_p(__CR6_LT, b, a); 10530a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10531a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10532a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_lt */ 10533a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10534a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10535a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector signed char a, vector signed char b) 10536a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10537a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT, b, a); 10538a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10539a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10540a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10541a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector signed char a, vector bool char b) 10542a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10543a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT, (vector signed char)b, a); 10544a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10545a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10546a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10547a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector unsigned char a, vector unsigned char b) 10548a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10549a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, b, a); 10550a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10551a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10552a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10553a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector unsigned char a, vector bool char b) 10554a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10555a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, (vector unsigned char)b, a); 10556a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10557a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10558a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10559a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool char a, vector signed char b) 10560a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 105613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, 105623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 105633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 10564a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10565a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10566a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10567a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool char a, vector unsigned char b) 10568a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10569a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, b, (vector unsigned char)a); 10570a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10571a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10572a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10573a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool char a, vector bool char b) 10574a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 105753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT, 105763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 105773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 10578a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10579a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10580a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10581a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector short a, vector short b) 10582a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10583a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT, b, a); 10584a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10585a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10586a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10587a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector short a, vector bool short b) 10588a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10589a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT, (vector short)b, a); 10590a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10591a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10592a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10593a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector unsigned short a, vector unsigned short b) 10594a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10595a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, b, a); 10596a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10597a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10598a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10599a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector unsigned short a, vector bool short b) 10600a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10601a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, (vector unsigned short)b, a); 10602a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10603a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10604a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10605a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool short a, vector short b) 10606a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 106073ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, 106083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 106093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 10610a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10611a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10612a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10613a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool short a, vector unsigned short b) 10614a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10615a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, b, (vector unsigned short)a); 10616a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10617a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10618a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10619a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool short a, vector bool short b) 10620a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 106213ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT, 106223ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 106233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 10624a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10625a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10626a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10627a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector int a, vector int b) 10628a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10629a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_LT, b, a); 10630a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10631a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10632a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10633a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector int a, vector bool int b) 10634a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10635a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_LT, (vector int)b, a); 10636a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10637a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10638a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10639a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector unsigned int a, vector unsigned int b) 10640a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10641a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, b, a); 10642a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10643a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10644a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10645a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector unsigned int a, vector bool int b) 10646a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10647a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, (vector unsigned int)b, a); 10648a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10649a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10650a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10651a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool int a, vector int b) 10652a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 106533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, 106543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 106553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 10656a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10657a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10658a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10659a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool int a, vector unsigned int b) 10660a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10661a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, b, (vector unsigned int)a); 10662a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10663a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10664a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10665a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector bool int a, vector bool int b) 10666a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 106673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT, 106683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 106693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 10670a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10671a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10672a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10673a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_lt(vector float a, vector float b) 10674a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10675a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtfp_p(__CR6_LT, b, a); 10676a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10677a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10678a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nan */ 10679a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10680a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__)) 10681a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_nan(vector float a) 10682a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10683a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, a, a); 10684a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10685a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10686a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ne */ 10687a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10688a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10689a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector signed char a, vector signed char b) 10690a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10691a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)a, (vector char)b); 10692a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10693a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10694a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10695a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector signed char a, vector bool char b) 10696a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10697a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)a, (vector char)b); 10698a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10699a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10700a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10701a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector unsigned char a, vector unsigned char b) 10702a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10703a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)a, (vector char)b); 10704a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10705a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10706a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10707a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector unsigned char a, vector bool char b) 10708a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10709a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)a, (vector char)b); 10710a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10711a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10712a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10713a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool char a, vector signed char b) 10714a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10715a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)a, (vector char)b); 10716a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10717a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10718a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10719a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool char a, vector unsigned char b) 10720a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10721a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)a, (vector char)b); 10722a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10723a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10724a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10725a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool char a, vector bool char b) 10726a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10727a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequb_p(__CR6_EQ, (vector char)a, (vector char)b); 10728a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10729a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10730a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10731a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector short a, vector short b) 10732a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10733a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ, a, b); 10734a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10735a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10736a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10737a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector short a, vector bool short b) 10738a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10739a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ, a, (vector short)b); 10740a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10741a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10742a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10743a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector unsigned short a, vector unsigned short b) 10744a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 107453ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 107463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)a, (vector short)b); 10747a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10748a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10749a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10750a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector unsigned short a, vector bool short b) 10751a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 107523ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 107533ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)a, (vector short)b); 10754a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10755a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10756a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10757a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool short a, vector short b) 10758a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 107593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 107603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)a, (vector short)b); 10761a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10762a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10763a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10764a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool short a, vector unsigned short b) 10765a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 107663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 107673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)a, (vector short)b); 10768a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10769a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10770a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10771a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool short a, vector bool short b) 10772a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 107733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 107743ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)a, (vector short)b); 10775a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10776a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10777a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10778a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector pixel a, vector pixel b) 10779a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 107803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 107813ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequh_p(__CR6_EQ, (vector short)a, (vector short)b); 10782a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10783a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10784a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10785a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector int a, vector int b) 10786a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10787a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ, a, b); 10788a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10789a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10790a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10791a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector int a, vector bool int b) 10792a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10793a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ, a, (vector int)b); 10794a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10795a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10796a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10797a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector unsigned int a, vector unsigned int b) 10798a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10799a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)a, (vector int)b); 10800a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10801a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10802a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10803a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector unsigned int a, vector bool int b) 10804a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10805a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)a, (vector int)b); 10806a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10807a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10808a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10809a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool int a, vector int b) 10810a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10811a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)a, (vector int)b); 10812a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10813a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10814a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10815a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool int a, vector unsigned int b) 10816a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10817a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)a, (vector int)b); 10818a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10819a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10820a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10821a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector bool int a, vector bool int b) 10822a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10823a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ, (vector int)a, (vector int)b); 10824a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10825a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10826a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10827a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ne(vector float a, vector float b) 10828a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10829a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpeqfp_p(__CR6_EQ, a, b); 10830a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10831a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10832a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nge */ 10833a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10834a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__)) 10835a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_nge(vector float a, vector float b) 10836a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10837a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgefp_p(__CR6_EQ, a, b); 10838a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10839a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10840a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_ngt */ 10841a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10842a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__)) 10843a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_ngt(vector float a, vector float b) 10844a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10845a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, a, b); 10846a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10847a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10848a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nle */ 10849a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10850a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__)) 10851a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_nle(vector float a, vector float b) 10852a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10853a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgefp_p(__CR6_EQ, b, a); 10854a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10855a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10856a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_nlt */ 10857a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10858a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__)) 10859a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_nlt(vector float a, vector float b) 10860a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10861a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtfp_p(__CR6_EQ, b, a); 10862a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10863a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10864a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_all_numeric */ 10865a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10866a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __attribute__((__always_inline__)) 10867a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_all_numeric(vector float a) 10868a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10869a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpeqfp_p(__CR6_LT, a, a); 10870a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10871a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10872a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_eq */ 10873a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10874a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10875a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector signed char a, vector signed char b) 10876a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 108773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 108783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)a, (vector char)b); 10879a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10880a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10881a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10882a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector signed char a, vector bool char b) 10883a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 108843ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 108853ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)a, (vector char)b); 10886a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10887a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10888a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10889a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector unsigned char a, vector unsigned char b) 10890a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 108913ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 108923ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)a, (vector char)b); 10893a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10894a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10895a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10896a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector unsigned char a, vector bool char b) 10897a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 108983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 108993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)a, (vector char)b); 10900a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10901a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10902a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10903a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool char a, vector signed char b) 10904a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 109063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)a, (vector char)b); 10907a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10908a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10909a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10910a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool char a, vector unsigned char b) 10911a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 109133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)a, (vector char)b); 10914a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10915a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10916a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10917a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool char a, vector bool char b) 10918a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 109203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_EQ_REV, (vector char)a, (vector char)b); 10921a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10922a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10923a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10924a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector short a, vector short b) 10925a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10926a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, a, b); 10927a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10928a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10929a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10930a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector short a, vector bool short b) 10931a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10932a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, a, (vector short)b); 10933a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10934a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10935a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10936a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector unsigned short a, vector unsigned short b) 10937a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109383ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 109393ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 109403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 10941a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10942a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10943a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10944a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector unsigned short a, vector bool short b) 10945a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109463ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 109473ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 109483ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 10949a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10950a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10951a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10952a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool short a, vector short b) 10953a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 109553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 109563ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 10957a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10958a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10959a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10960a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool short a, vector unsigned short b) 10961a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 109633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 109643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 10965a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10966a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10967a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10968a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool short a, vector bool short b) 10969a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 109713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 109723ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 10973a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10974a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10975a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10976a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector pixel a, vector pixel b) 10977a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_EQ_REV, 109793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 109803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 10981a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10982a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10983a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10984a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector int a, vector int b) 10985a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10986a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, a, b); 10987a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10988a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10989a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10990a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector int a, vector bool int b) 10991a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 10992a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, a, (vector int)b); 10993a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 10994a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 10995a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 10996a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector unsigned int a, vector unsigned int b) 10997a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 109983ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 109993ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)a, (vector int)b); 11000a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11001a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11002a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11003a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector unsigned int a, vector bool int b) 11004a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 110053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 110063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)a, (vector int)b); 11007a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11008a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11009a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11010a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool int a, vector int b) 11011a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 110123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 110133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)a, (vector int)b); 11014a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11015a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11016a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11017a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool int a, vector unsigned int b) 11018a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 110193ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 110203ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)a, (vector int)b); 11021a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11022a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11023a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11024a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector bool int a, vector bool int b) 11025a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 110263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 110273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_EQ_REV, (vector int)a, (vector int)b); 11028a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11029a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11030a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11031a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_eq(vector float a, vector float b) 11032a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11033a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, a, b); 11034a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11035a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11036a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_ge */ 11037a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11038a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11039a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector signed char a, vector signed char b) 11040a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11041a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, b, a); 11042a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11043a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11044a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11045a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector signed char a, vector bool char b) 11046a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11047a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, (vector signed char)b, a); 11048a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11049a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11050a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11051a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector unsigned char a, vector unsigned char b) 11052a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11053a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, b, a); 11054a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11055a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11056a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11057a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector unsigned char a, vector bool char b) 11058a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11059a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)b, a); 11060a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11061a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11062a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11063a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool char a, vector signed char b) 11064a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 110653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, 110663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 110673ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 11068a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11069a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11070a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11071a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool char a, vector unsigned char b) 11072a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11073a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, b, (vector unsigned char)a); 11074a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11075a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11076a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11077a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool char a, vector bool char b) 11078a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 110793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, 110803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 110813ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 11082a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11083a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11084a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11085a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector short a, vector short b) 11086a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11087a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, b, a); 11088a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11089a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11090a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11091a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector short a, vector bool short b) 11092a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11093a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, (vector short)b, a); 11094a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11095a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11096a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11097a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector unsigned short a, vector unsigned short b) 11098a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11099a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, b, a); 11100a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11101a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11102a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11103a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector unsigned short a, vector bool short b) 11104a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 111053ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 111063ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)b, a); 11107a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11108a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11109a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11110a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool short a, vector short b) 11111a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 111123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, 111133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 111143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 11115a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11116a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11117a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11118a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool short a, vector unsigned short b) 11119a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11120a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11121a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, b, (vector unsigned short)a); 11122a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11123a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11124a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11125a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool short a, vector bool short b) 11126a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 111273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, 111283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 111293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 11130a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11131a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11132a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11133a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector int a, vector int b) 11134a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11135a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, b, a); 11136a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11137a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11138a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11139a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector int a, vector bool int b) 11140a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11141a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, (vector int)b, a); 11142a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11143a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11144a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11145a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector unsigned int a, vector unsigned int b) 11146a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11147a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, b, a); 11148a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11149a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11150a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11151a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector unsigned int a, vector bool int b) 11152a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11153a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)b, a); 11154a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11155a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11156a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11157a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool int a, vector int b) 11158a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 111593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, 111603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 111613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 11162a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11163a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11164a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11165a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool int a, vector unsigned int b) 11166a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11167a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, b, (vector unsigned int)a); 11168a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11169a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11170a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11171a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector bool int a, vector bool int b) 11172a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 111733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, 111743ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 111753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 11176a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11177a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11178a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11179a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ge(vector float a, vector float b) 11180a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11181a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, a, b); 11182a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11183a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11184a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_gt */ 11185a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11186a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11187a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector signed char a, vector signed char b) 11188a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11189a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, a, b); 11190a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11191a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11192a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11193a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector signed char a, vector bool char b) 11194a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11195a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, a, (vector signed char)b); 11196a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11197a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11198a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11199a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector unsigned char a, vector unsigned char b) 11200a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11201a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, a, b); 11202a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11203a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11204a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11205a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector unsigned char a, vector bool char b) 11206a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11207a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11208a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, a, (vector unsigned char)b); 11209a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11210a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11211a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11212a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool char a, vector signed char b) 11213a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 112143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, 112153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 112163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 11217a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11218a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11219a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11220a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool char a, vector unsigned char b) 11221a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11222a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11223a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)a, b); 11224a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11225a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11226a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11227a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool char a, vector bool char b) 11228a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 112293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, 112303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 112313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 11232a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11233a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11234a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11235a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector short a, vector short b) 11236a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11237a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, a, b); 11238a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11239a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11240a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11241a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector short a, vector bool short b) 11242a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11243a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, a, (vector short)b); 11244a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11245a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11246a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11247a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector unsigned short a, vector unsigned short b) 11248a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11249a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, a, b); 11250a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11251a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11252a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11253a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector unsigned short a, vector bool short b) 11254a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11255a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11256a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, a, (vector unsigned short)b); 11257a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11258a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11259a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11260a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool short a, vector short b) 11261a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 112623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, 112633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 112643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 11265a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11266a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11267a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11268a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool short a, vector unsigned short b) 11269a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 112703ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 112713ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)a, b); 11272a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11273a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11274a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11275a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool short a, vector bool short b) 11276a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 112773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, 112783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 112793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 11280a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11281a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11282a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11283a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector int a, vector int b) 11284a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11285a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, a, b); 11286a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11287a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11288a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11289a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector int a, vector bool int b) 11290a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11291a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, a, (vector int)b); 11292a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11293a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11294a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11295a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector unsigned int a, vector unsigned int b) 11296a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11297a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, a, b); 11298a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11299a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11300a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11301a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector unsigned int a, vector bool int b) 11302a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11303a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, a, (vector unsigned int)b); 11304a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11305a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11306a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11307a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool int a, vector int b) 11308a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 113093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, 113103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 113113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 11312a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11313a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11314a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11315a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool int a, vector unsigned int b) 11316a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11317a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)a, b); 11318a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11319a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11320a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11321a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector bool int a, vector bool int b) 11322a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 113233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, 113243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 113253ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 11326a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11327a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11328a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11329a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_gt(vector float a, vector float b) 11330a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11331a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, a, b); 11332a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11333a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11334a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev/* vec_any_le */ 11335a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11336a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11337a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector signed char a, vector signed char b) 11338a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11339a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, a, b); 11340a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11341a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11342a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11343a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector signed char a, vector bool char b) 11344a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11345a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_LT_REV, a, (vector signed char)b); 11346a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11347a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11348a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11349a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector unsigned char a, vector unsigned char b) 11350a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11351a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, a, b); 11352a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11353a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11354a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11355a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector unsigned char a, vector bool char b) 11356a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11357a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11358a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, a, (vector unsigned char)b); 11359a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11360a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11361a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11362a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool char a, vector signed char b) 11363a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 113643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, 113653ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 113663ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 11367a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11368a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11369a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11370a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool char a, vector unsigned char b) 11371a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11372a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11373a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, (vector unsigned char)a, b); 11374a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11375a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11376a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11377a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool char a, vector bool char b) 11378a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 113793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_LT_REV, 113803ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a, 113813ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b); 11382a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11383a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11384a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11385a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector short a, vector short b) 11386a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11387a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, a, b); 11388a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11389a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11390a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11391a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector short a, vector bool short b) 11392a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11393a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_LT_REV, a, (vector short)b); 11394dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11395dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 113964d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11397dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_le(vector unsigned short a, vector unsigned short b) 11398dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11399dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, a, b); 11400dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11401dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 114024d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11403a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector unsigned short a, vector bool short b) 11404a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11405a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11406a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, a, (vector unsigned short)b); 11407a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11408a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11409a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11410a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool short a, vector short b) 11411a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 114123ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, 114133ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 114143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 11415a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11416a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11417a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11418a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool short a, vector unsigned short b) 11419a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11420a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11421a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, (vector unsigned short)a, b); 11422a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11423a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11424a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11425a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool short a, vector bool short b) 11426a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 114273ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_LT_REV, 114283ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a, 114293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b); 11430a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11431a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11432a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11433dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_le(vector int a, vector int b) 11434dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11435dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, a, b); 11436dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11437dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 114384d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11439a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector int a, vector bool int b) 11440a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11441a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_LT_REV, a, (vector int)b); 11442a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11443a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11444a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11445dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_le(vector unsigned int a, vector unsigned int b) 11446dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11447dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, a, b); 11448dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11449dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 114504d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11451a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector unsigned int a, vector bool int b) 11452a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11453a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, a, (vector unsigned int)b); 11454a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11455a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11456a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11457a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool int a, vector int b) 11458a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 114593ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, 114603ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 114613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 11462a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11463a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11464a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11465a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool int a, vector unsigned int b) 11466a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11467a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, (vector unsigned int)a, b); 11468a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11469a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11470a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11471a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_le(vector bool int a, vector bool int b) 11472a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 114733ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_LT_REV, 114743ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a, 114753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b); 11476a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11477a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11478a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11479dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_le(vector float a, vector float b) 11480dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 114814d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov return __builtin_altivec_vcmpgefp_p(__CR6_EQ_REV, b, a); 11482dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11483dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11484dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_lt */ 11485dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 114864d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11487dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_lt(vector signed char a, vector signed char b) 11488dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11489dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, b, a); 11490dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11491dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 114924d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11493a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector signed char a, vector bool char b) 11494a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11495a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsb_p(__CR6_EQ_REV, (vector signed char)b, a); 11496a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11497a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11498a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11499dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_lt(vector unsigned char a, vector unsigned char b) 11500dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11501dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, b, a); 11502dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11503dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 115044d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11505a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector unsigned char a, vector bool char b) 11506a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11507a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11508a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, (vector unsigned char)b, a); 11509a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11510a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11511a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11512a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool char a, vector signed char b) 11513a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 115143ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, 115153ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 115163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 11517a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11518a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11519a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11520a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool char a, vector unsigned char b) 11521a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11522a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11523a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, b, (vector unsigned char)a); 11524a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11525a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11526a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11527a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool char a, vector bool char b) 11528a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 115293ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtub_p(__CR6_EQ_REV, 115303ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)b, 115313ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned char)a); 11532a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11533a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11534a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11535dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_lt(vector short a, vector short b) 11536dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11537dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, b, a); 11538dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11539dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 115404d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11541a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector short a, vector bool short b) 11542a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11543a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsh_p(__CR6_EQ_REV, (vector short)b, a); 11544a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11545a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11546a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11547dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_lt(vector unsigned short a, vector unsigned short b) 11548dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11549dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, b, a); 11550dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11551dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 115524d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11553a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector unsigned short a, vector bool short b) 11554a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11555a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11556a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, (vector unsigned short)b, a); 11557a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11558a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11559a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11560a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool short a, vector short b) 11561a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 115623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, 115633ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 115643ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 11565a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11566a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11567a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11568a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool short a, vector unsigned short b) 11569a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11570a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return 11571a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, b, (vector unsigned short)a); 11572a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11573a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11574a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11575a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool short a, vector bool short b) 11576a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 115773ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuh_p(__CR6_EQ_REV, 115783ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)b, 115793ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned short)a); 11580a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11581a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11582a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11583dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_lt(vector int a, vector int b) 11584dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11585dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, b, a); 11586dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11587dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 115884d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11589a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector int a, vector bool int b) 11590a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11591a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtsw_p(__CR6_EQ_REV, (vector int)b, a); 11592a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11593a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11594a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11595dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_lt(vector unsigned int a, vector unsigned int b) 11596dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11597dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, b, a); 11598dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11599dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 116004d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11601a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector unsigned int a, vector bool int b) 11602a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11603a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, (vector unsigned int)b, a); 11604a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11605a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11606a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11607a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool int a, vector int b) 11608a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 116093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, 116103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 116113ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 11612a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11613a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11614a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11615a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool int a, vector unsigned int b) 11616a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11617a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, b, (vector unsigned int)a); 11618a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11619a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11620a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11621a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_lt(vector bool int a, vector bool int b) 11622a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 116233ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpgtuw_p(__CR6_EQ_REV, 116243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)b, 116253ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector unsigned int)a); 11626a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11627a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11628a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11629dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_lt(vector float a, vector float b) 11630dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11631dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtfp_p(__CR6_EQ_REV, b, a); 11632dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11633dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11634dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nan */ 11635dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11636dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__)) 11637dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_nan(vector float a) 11638dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11639dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, a, a); 11640dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11641dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11642dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_ne */ 11643dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 116444d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11645dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ne(vector signed char a, vector signed char b) 11646dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 116473ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 116483ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)a, (vector char)b); 11649dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11650dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 116514d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11652a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector signed char a, vector bool char b) 11653a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 116543ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 116553ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)a, (vector char)b); 11656a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11657a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11658a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11659dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ne(vector unsigned char a, vector unsigned char b) 11660dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 116613ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 116623ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)a, (vector char)b); 11663dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11664dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 116654d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11666a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector unsigned char a, vector bool char b) 11667a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 116683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 116693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)a, (vector char)b); 11670a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11671a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11672a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11673a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool char a, vector signed char b) 11674a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 116753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 116763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)a, (vector char)b); 11677a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11678a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11679a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11680a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool char a, vector unsigned char b) 11681a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 116823ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 116833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)a, (vector char)b); 11684a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11685a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11686a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11687a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool char a, vector bool char b) 11688a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 116893ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 116903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequb_p(__CR6_LT_REV, (vector char)a, (vector char)b); 11691a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11692a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11693a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11694dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ne(vector short a, vector short b) 11695dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11696dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, a, b); 11697dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11698dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 116994d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11700a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector short a, vector bool short b) 11701a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11702a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, a, (vector short)b); 11703a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11704a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11705a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11706dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ne(vector unsigned short a, vector unsigned short b) 11707dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 117083ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, 117093ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 117103ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 11711dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11712dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 117134d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11714a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector unsigned short a, vector bool short b) 11715a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117163ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, 117173ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 117183ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 11719a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11720a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11721a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11722a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool short a, vector short b) 11723a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117243ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, 117253ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 117263ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 11727a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11728a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11729a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11730a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool short a, vector unsigned short b) 11731a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117323ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, 117333ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 117343ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 11735a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11736a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11737a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11738a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool short a, vector bool short b) 11739a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117403ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, 117413ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 117423ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 11743a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11744a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11745a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11746a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector pixel a, vector pixel b) 11747a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117483ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return __builtin_altivec_vcmpequh_p(__CR6_LT_REV, 117493ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)a, 117503ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev (vector short)b); 11751a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11752a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11753a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11754dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ne(vector int a, vector int b) 11755dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11756dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, a, b); 11757dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11758dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 117594d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11760a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector int a, vector bool int b) 11761a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 11762a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev return __builtin_altivec_vcmpequw_p(__CR6_LT_REV, a, (vector int)b); 11763a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11764a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11765a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11766dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ne(vector unsigned int a, vector unsigned int b) 11767dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 117683ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 117693ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)a, (vector int)b); 11770dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11771dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 117724d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikovstatic int __ATTRS_o_ai 11773a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector unsigned int a, vector bool int b) 11774a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117753ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 117763ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)a, (vector int)b); 11777a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11778a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11779a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11780a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool int a, vector int b) 11781a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117823ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 117833ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)a, (vector int)b); 11784a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11785a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11786a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11787a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool int a, vector unsigned int b) 11788a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117893ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 117903ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)a, (vector int)b); 11791a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11792a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11793a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11794a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevvec_any_ne(vector bool int a, vector bool int b) 11795a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev{ 117963ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev return 117973ed3272a54d6736b9f25d9993f4424ba7f4249d1Anton Yartsev __builtin_altivec_vcmpequw_p(__CR6_LT_REV, (vector int)a, (vector int)b); 11798a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev} 11799a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsev 11800a4f235b7cab8ca3132b353470ad0fbbce5b5499aAnton Yartsevstatic int __ATTRS_o_ai 11801dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ne(vector float a, vector float b) 11802dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11803dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpeqfp_p(__CR6_LT_REV, a, b); 11804dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11805dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11806dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nge */ 11807dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11808dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__)) 11809dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_nge(vector float a, vector float b) 11810dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11811dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, a, b); 11812dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11813dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11814dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_ngt */ 11815dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11816dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__)) 11817dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_ngt(vector float a, vector float b) 11818dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11819dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, a, b); 11820dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11821dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11822dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nle */ 11823dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11824dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__)) 11825dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_nle(vector float a, vector float b) 11826dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11827dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgefp_p(__CR6_LT_REV, b, a); 11828dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11829dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11830dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_nlt */ 11831dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11832dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__)) 11833dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_nlt(vector float a, vector float b) 11834dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11835dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpgtfp_p(__CR6_LT_REV, b, a); 11836dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11837dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11838dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_numeric */ 11839dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11840dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__)) 11841dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_numeric(vector float a) 11842dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11843dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpeqfp_p(__CR6_EQ_REV, a, a); 11844dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11845dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11846dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner/* vec_any_out */ 11847dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11848dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnerstatic int __attribute__((__always_inline__)) 11849dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattnervec_any_out(vector float a, vector float b) 11850dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner{ 11851dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner return __builtin_altivec_vcmpbfp_p(__CR6_EQ_REV, a, b); 11852dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner} 11853dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 118544d3a7b0a0608febe3cdac68f6121546672ca875eAnton Korobeynikov#undef __ATTRS_o_ai 11855dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner 11856dd17394d225b06376e9ae1d23f36cec463fdef01Chris Lattner#endif /* __ALTIVEC_H */ 11857