16bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/*===---- emmintrin.h - SSE2 intrinsics ------------------------------------===
26bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker *
36bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * Permission is hereby granted, free of charge, to any person obtaining a copy
46bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * of this software and associated documentation files (the "Software"), to deal
56bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * in the Software without restriction, including without limitation the rights
66bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
76bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * copies of the Software, and to permit persons to whom the Software is
86bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * furnished to do so, subject to the following conditions:
96bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker *
106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * The above copyright notice and this permission notice shall be included in
116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * all copies or substantial portions of the Software.
126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker *
136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * THE SOFTWARE.
206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker *
216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker *===-----------------------------------------------------------------------===
226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker */
236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifndef __EMMINTRIN_H
256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define __EMMINTRIN_H
266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <xmmintrin.h>
286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickertypedef double __m128d __attribute__((__vector_size__(16)));
306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickertypedef long long __m128i __attribute__((__vector_size__(16)));
316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/* Type defines.  */
336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickertypedef double __v2df __attribute__ ((__vector_size__ (16)));
346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickertypedef long long __v2di __attribute__ ((__vector_size__ (16)));
356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickertypedef short __v8hi __attribute__((__vector_size__(16)));
366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickertypedef char __v16qi __attribute__((__vector_size__(16)));
376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/* We need an explicitly signed variant for char. Note that this shouldn't
396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker * appear in the interface though. */
406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickertypedef signed char __v16qs __attribute__((__vector_size__(16)));
416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#include <f16cintrin.h>
436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker/* Define the default attributes for the functions in this file. */
456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define __DEFAULT_FN_ATTRS __attribute__((__always_inline__, __nodebug__, __target__("sse2")))
466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_add_sd(__m128d __a, __m128d __b)
496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] += __b[0];
516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_add_pd(__m128d __a, __m128d __b)
566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a + __b;
586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sub_sd(__m128d __a, __m128d __b)
626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] -= __b[0];
646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sub_pd(__m128d __a, __m128d __b)
696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a - __b;
716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mul_sd(__m128d __a, __m128d __b)
756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] *= __b[0];
776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mul_pd(__m128d __a, __m128d __b)
826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a * __b;
846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_div_sd(__m128d __a, __m128d __b)
886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] /= __b[0];
906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_div_pd(__m128d __a, __m128d __b)
956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a / __b;
976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sqrt_sd(__m128d __a, __m128d __b)
1016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __m128d __c = __builtin_ia32_sqrtsd(__b);
1036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d) { __c[0], __a[1] };
1046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sqrt_pd(__m128d __a)
1086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_sqrtpd(__a);
1106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_min_sd(__m128d __a, __m128d __b)
1146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_minsd(__a, __b);
1166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_min_pd(__m128d __a, __m128d __b)
1206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_minpd(__a, __b);
1226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_max_sd(__m128d __a, __m128d __b)
1266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_maxsd(__a, __b);
1286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_max_pd(__m128d __a, __m128d __b)
1326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_maxpd(__a, __b);
1346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_and_pd(__m128d __a, __m128d __b)
1386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)((__v4si)__a & (__v4si)__b);
1406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_andnot_pd(__m128d __a, __m128d __b)
1446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)(~(__v4si)__a & (__v4si)__b);
1466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_or_pd(__m128d __a, __m128d __b)
1506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)((__v4si)__a | (__v4si)__b);
1526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_xor_pd(__m128d __a, __m128d __b)
1566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)((__v4si)__a ^ (__v4si)__b);
1586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpeq_pd(__m128d __a, __m128d __b)
1626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpeqpd(__a, __b);
1646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmplt_pd(__m128d __a, __m128d __b)
1686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpltpd(__a, __b);
1706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmple_pd(__m128d __a, __m128d __b)
1746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmplepd(__a, __b);
1766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpgt_pd(__m128d __a, __m128d __b)
1806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpltpd(__b, __a);
1826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpge_pd(__m128d __a, __m128d __b)
1866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmplepd(__b, __a);
1886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpord_pd(__m128d __a, __m128d __b)
1926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpordpd(__a, __b);
1946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
1956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
1966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
1976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpunord_pd(__m128d __a, __m128d __b)
1986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
1996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpunordpd(__a, __b);
2006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpneq_pd(__m128d __a, __m128d __b)
2046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpneqpd(__a, __b);
2066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpnlt_pd(__m128d __a, __m128d __b)
2106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpnltpd(__a, __b);
2126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpnle_pd(__m128d __a, __m128d __b)
2166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpnlepd(__a, __b);
2186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpngt_pd(__m128d __a, __m128d __b)
2226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpnltpd(__b, __a);
2246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpnge_pd(__m128d __a, __m128d __b)
2286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpnlepd(__b, __a);
2306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpeq_sd(__m128d __a, __m128d __b)
2346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpeqsd(__a, __b);
2366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmplt_sd(__m128d __a, __m128d __b)
2406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpltsd(__a, __b);
2426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmple_sd(__m128d __a, __m128d __b)
2466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmplesd(__a, __b);
2486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpgt_sd(__m128d __a, __m128d __b)
2526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __m128d __c = __builtin_ia32_cmpltsd(__b, __a);
2546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d) { __c[0], __a[1] };
2556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpge_sd(__m128d __a, __m128d __b)
2596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __m128d __c = __builtin_ia32_cmplesd(__b, __a);
2616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d) { __c[0], __a[1] };
2626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpord_sd(__m128d __a, __m128d __b)
2666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpordsd(__a, __b);
2686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpunord_sd(__m128d __a, __m128d __b)
2726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpunordsd(__a, __b);
2746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpneq_sd(__m128d __a, __m128d __b)
2786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpneqsd(__a, __b);
2806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpnlt_sd(__m128d __a, __m128d __b)
2846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpnltsd(__a, __b);
2866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpnle_sd(__m128d __a, __m128d __b)
2906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_cmpnlesd(__a, __b);
2926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
2936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
2946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
2956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpngt_sd(__m128d __a, __m128d __b)
2966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
2976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __m128d __c = __builtin_ia32_cmpnltsd(__b, __a);
2986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d) { __c[0], __a[1] };
2996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
3026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpnge_sd(__m128d __a, __m128d __b)
3036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __m128d __c = __builtin_ia32_cmpnlesd(__b, __a);
3056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d) { __c[0], __a[1] };
3066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_comieq_sd(__m128d __a, __m128d __b)
3106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_comisdeq(__a, __b);
3126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_comilt_sd(__m128d __a, __m128d __b)
3166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_comisdlt(__a, __b);
3186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_comile_sd(__m128d __a, __m128d __b)
3226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_comisdle(__a, __b);
3246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_comigt_sd(__m128d __a, __m128d __b)
3286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_comisdgt(__a, __b);
3306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_comige_sd(__m128d __a, __m128d __b)
3346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_comisdge(__a, __b);
3366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_comineq_sd(__m128d __a, __m128d __b)
3406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_comisdneq(__a, __b);
3426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_ucomieq_sd(__m128d __a, __m128d __b)
3466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_ucomisdeq(__a, __b);
3486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_ucomilt_sd(__m128d __a, __m128d __b)
3526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_ucomisdlt(__a, __b);
3546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_ucomile_sd(__m128d __a, __m128d __b)
3586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_ucomisdle(__a, __b);
3606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_ucomigt_sd(__m128d __a, __m128d __b)
3646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_ucomisdgt(__a, __b);
3666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_ucomige_sd(__m128d __a, __m128d __b)
3706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_ucomisdge(__a, __b);
3726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
3756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_ucomineq_sd(__m128d __a, __m128d __b)
3766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_ucomisdneq(__a, __b);
3786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128 __DEFAULT_FN_ATTRS
3816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtpd_ps(__m128d __a)
3826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtpd2ps(__a);
3846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
3876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtps_pd(__m128 __a)
3886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtps2pd(__a);
3906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
3936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtepi32_pd(__m128i __a)
3946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
3956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtdq2pd((__v4si)__a);
3966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
3976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
3986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
3996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtpd_epi32(__m128d __a)
4006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtpd2dq(__a);
4026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
4056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsd_si32(__m128d __a)
4066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtsd2si(__a);
4086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128 __DEFAULT_FN_ATTRS
4116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsd_ss(__m128 __a, __m128d __b)
4126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] = __b[0];
4146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
4156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
4186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsi32_sd(__m128d __a, int __b)
4196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] = __b;
4216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
4226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
4256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtss_sd(__m128d __a, __m128 __b)
4266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] = __b[0];
4286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
4296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
4326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvttpd_epi32(__m128d __a)
4336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_cvttpd2dq(__a);
4356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
4386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvttsd_si32(__m128d __a)
4396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a[0];
4416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m64 __DEFAULT_FN_ATTRS
4446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtpd_pi32(__m128d __a)
4456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m64)__builtin_ia32_cvtpd2pi(__a);
4476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m64 __DEFAULT_FN_ATTRS
4506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvttpd_pi32(__m128d __a)
4516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m64)__builtin_ia32_cvttpd2pi(__a);
4536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
4566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtpi32_pd(__m64 __a)
4576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtpi2pd((__v2si)__a);
4596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ double __DEFAULT_FN_ATTRS
4626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsd_f64(__m128d __a)
4636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a[0];
4656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
4686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_load_pd(double const *__dp)
4696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return *(__m128d*)__dp;
4716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
4746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_load1_pd(double const *__dp)
4756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_load1_pd_struct {
4776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u;
4786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
4796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  double __u = ((struct __mm_load1_pd_struct*)__dp)->__u;
4806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __u, __u };
4816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define        _mm_load_pd1(dp)        _mm_load1_pd(dp)
4846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
4866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_loadr_pd(double const *__dp)
4876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __m128d __u = *(__m128d*)__dp;
4896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_shufflevector(__u, __u, 1, 0);
4906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
4916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
4926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
4936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_loadu_pd(double const *__dp)
4946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
4956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __loadu_pd {
4966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    __m128d __v;
4976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
4986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return ((struct __loadu_pd*)__dp)->__v;
4996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_load_sd(double const *__dp)
5036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_load_sd_struct {
5056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u;
5066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
5076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  double __u = ((struct __mm_load_sd_struct*)__dp)->__u;
5086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __u, 0 };
5096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_loadh_pd(__m128d __a, double const *__dp)
5136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_loadh_pd_struct {
5156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u;
5166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
5176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  double __u = ((struct __mm_loadh_pd_struct*)__dp)->__u;
5186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __a[0], __u };
5196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_loadl_pd(__m128d __a, double const *__dp)
5236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_loadl_pd_struct {
5256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u;
5266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
5276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  double __u = ((struct __mm_loadl_pd_struct*)__dp)->__u;
5286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __u, __a[1] };
5296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_undefined_pd()
5336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__builtin_ia32_undef128();
5356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set_sd(double __w)
5396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __w, 0 };
5416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set1_pd(double __w)
5456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __w, __w };
5476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set_pd(double __w, double __x)
5516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __x, __w };
5536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_setr_pd(double __w, double __x)
5576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __w, __x };
5596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_setzero_pd(void)
5636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ 0, 0 };
5656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
5686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_move_sd(__m128d __a, __m128d __b)
5696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d){ __b[0], __a[1] };
5716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
5746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_store_sd(double *__dp, __m128d __a)
5756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_store_sd_struct {
5776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u;
5786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
5796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  ((struct __mm_store_sd_struct*)__dp)->__u = __a[0];
5806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
5836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_store1_pd(double *__dp, __m128d __a)
5846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_store1_pd_struct {
5866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u[2];
5876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
5886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  ((struct __mm_store1_pd_struct*)__dp)->__u[0] = __a[0];
5896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  ((struct __mm_store1_pd_struct*)__dp)->__u[1] = __a[0];
5906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
5936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_store_pd(double *__dp, __m128d __a)
5946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
5956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  *(__m128d *)__dp = __a;
5966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
5976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
5986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
5996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_storeu_pd(double *__dp, __m128d __a)
6006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_storeupd(__dp, __a);
6026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
6056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_storer_pd(double *__dp, __m128d __a)
6066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a = __builtin_shufflevector(__a, __a, 1, 0);
6086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  *(__m128d *)__dp = __a;
6096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
6126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_storeh_pd(double *__dp, __m128d __a)
6136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_storeh_pd_struct {
6156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u;
6166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
6176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  ((struct __mm_storeh_pd_struct*)__dp)->__u = __a[1];
6186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
6216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_storel_pd(double *__dp, __m128d __a)
6226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_storeh_pd_struct {
6246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    double __u;
6256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
6266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  ((struct __mm_storeh_pd_struct*)__dp)->__u = __a[0];
6276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_add_epi8(__m128i __a, __m128i __b)
6316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v16qi)__a + (__v16qi)__b);
6336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_add_epi16(__m128i __a, __m128i __b)
6376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v8hi)__a + (__v8hi)__b);
6396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_add_epi32(__m128i __a, __m128i __b)
6436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v4si)__a + (__v4si)__b);
6456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m64 __DEFAULT_FN_ATTRS
6486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_add_si64(__m64 __a, __m64 __b)
6496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m64)__builtin_ia32_paddq(__a, __b);
6516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_add_epi64(__m128i __a, __m128i __b)
6556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a + __b;
6576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_adds_epi8(__m128i __a, __m128i __b)
6616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_paddsb128((__v16qi)__a, (__v16qi)__b);
6636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_adds_epi16(__m128i __a, __m128i __b)
6676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_paddsw128((__v8hi)__a, (__v8hi)__b);
6696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_adds_epu8(__m128i __a, __m128i __b)
6736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_paddusb128((__v16qi)__a, (__v16qi)__b);
6756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_adds_epu16(__m128i __a, __m128i __b)
6796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_paddusw128((__v8hi)__a, (__v8hi)__b);
6816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_avg_epu8(__m128i __a, __m128i __b)
6856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pavgb128((__v16qi)__a, (__v16qi)__b);
6876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_avg_epu16(__m128i __a, __m128i __b)
6916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pavgw128((__v8hi)__a, (__v8hi)__b);
6936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
6946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
6956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
6966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_madd_epi16(__m128i __a, __m128i __b)
6976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
6986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pmaddwd128((__v8hi)__a, (__v8hi)__b);
6996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_max_epi16(__m128i __a, __m128i __b)
7036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pmaxsw128((__v8hi)__a, (__v8hi)__b);
7056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_max_epu8(__m128i __a, __m128i __b)
7096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pmaxub128((__v16qi)__a, (__v16qi)__b);
7116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_min_epi16(__m128i __a, __m128i __b)
7156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pminsw128((__v8hi)__a, (__v8hi)__b);
7176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_min_epu8(__m128i __a, __m128i __b)
7216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pminub128((__v16qi)__a, (__v16qi)__b);
7236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mulhi_epi16(__m128i __a, __m128i __b)
7276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pmulhw128((__v8hi)__a, (__v8hi)__b);
7296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mulhi_epu16(__m128i __a, __m128i __b)
7336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pmulhuw128((__v8hi)__a, (__v8hi)__b);
7356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mullo_epi16(__m128i __a, __m128i __b)
7396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v8hi)__a * (__v8hi)__b);
7416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m64 __DEFAULT_FN_ATTRS
7446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mul_su32(__m64 __a, __m64 __b)
7456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_pmuludq((__v2si)__a, (__v2si)__b);
7476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mul_epu32(__m128i __a, __m128i __b)
7516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_pmuludq128((__v4si)__a, (__v4si)__b);
7536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sad_epu8(__m128i __a, __m128i __b)
7576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_psadbw128((__v16qi)__a, (__v16qi)__b);
7596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sub_epi8(__m128i __a, __m128i __b)
7636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v16qi)__a - (__v16qi)__b);
7656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sub_epi16(__m128i __a, __m128i __b)
7696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v8hi)__a - (__v8hi)__b);
7716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sub_epi32(__m128i __a, __m128i __b)
7756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v4si)__a - (__v4si)__b);
7776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m64 __DEFAULT_FN_ATTRS
7806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sub_si64(__m64 __a, __m64 __b)
7816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m64)__builtin_ia32_psubq(__a, __b);
7836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sub_epi64(__m128i __a, __m128i __b)
7876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a - __b;
7896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_subs_epi8(__m128i __a, __m128i __b)
7936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
7946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psubsb128((__v16qi)__a, (__v16qi)__b);
7956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
7966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
7976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
7986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_subs_epi16(__m128i __a, __m128i __b)
7996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psubsw128((__v8hi)__a, (__v8hi)__b);
8016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_subs_epu8(__m128i __a, __m128i __b)
8056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psubusb128((__v16qi)__a, (__v16qi)__b);
8076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_subs_epu16(__m128i __a, __m128i __b)
8116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psubusw128((__v8hi)__a, (__v8hi)__b);
8136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_and_si128(__m128i __a, __m128i __b)
8176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a & __b;
8196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_andnot_si128(__m128i __a, __m128i __b)
8236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return ~__a & __b;
8256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_or_si128(__m128i __a, __m128i __b)
8296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a | __b;
8316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_xor_si128(__m128i __a, __m128i __b)
8356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a ^ __b;
8376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_slli_si128(a, imm) __extension__ ({                         \
8406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  (__m128i)__builtin_shufflevector((__v16qi)_mm_setzero_si128(),        \
8416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (__v16qi)(__m128i)(a),               \
8426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 16 - ((imm)&0xF), \
8436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 17 - ((imm)&0xF), \
8446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 18 - ((imm)&0xF), \
8456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 19 - ((imm)&0xF), \
8466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 20 - ((imm)&0xF), \
8476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 21 - ((imm)&0xF), \
8486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 22 - ((imm)&0xF), \
8496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 23 - ((imm)&0xF), \
8506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 24 - ((imm)&0xF), \
8516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 25 - ((imm)&0xF), \
8526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 26 - ((imm)&0xF), \
8536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 27 - ((imm)&0xF), \
8546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 28 - ((imm)&0xF), \
8556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 29 - ((imm)&0xF), \
8566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 30 - ((imm)&0xF), \
8576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 0 : 31 - ((imm)&0xF)); })
8586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_bslli_si128(a, imm) \
8606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  _mm_slli_si128((a), (imm))
8616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_slli_epi16(__m128i __a, int __count)
8646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psllwi128((__v8hi)__a, __count);
8666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sll_epi16(__m128i __a, __m128i __count)
8706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psllw128((__v8hi)__a, (__v8hi)__count);
8726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_slli_epi32(__m128i __a, int __count)
8766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pslldi128((__v4si)__a, __count);
8786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sll_epi32(__m128i __a, __m128i __count)
8826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_pslld128((__v4si)__a, (__v4si)__count);
8846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_slli_epi64(__m128i __a, int __count)
8886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_psllqi128(__a, __count);
8906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sll_epi64(__m128i __a, __m128i __count)
8946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
8956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_psllq128(__a, __count);
8966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
8976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
8986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
8996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srai_epi16(__m128i __a, int __count)
9006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psrawi128((__v8hi)__a, __count);
9026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sra_epi16(__m128i __a, __m128i __count)
9066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psraw128((__v8hi)__a, (__v8hi)__count);
9086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srai_epi32(__m128i __a, int __count)
9126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psradi128((__v4si)__a, __count);
9146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_sra_epi32(__m128i __a, __m128i __count)
9186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psrad128((__v4si)__a, (__v4si)__count);
9206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_srli_si128(a, imm) __extension__ ({                          \
9236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  (__m128i)__builtin_shufflevector((__v16qi)(__m128i)(a),                \
9246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (__v16qi)_mm_setzero_si128(),         \
9256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 0,  \
9266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 1,  \
9276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 2,  \
9286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 3,  \
9296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 4,  \
9306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 5,  \
9316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 6,  \
9326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 7,  \
9336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 8,  \
9346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 9,  \
9356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 10, \
9366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 11, \
9376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 12, \
9386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 13, \
9396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 14, \
9406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm)&0xF0) ? 16 : ((imm)&0xF) + 15); })
9416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_bsrli_si128(a, imm) \
9436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  _mm_srli_si128((a), (imm))
9446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srli_epi16(__m128i __a, int __count)
9476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psrlwi128((__v8hi)__a, __count);
9496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srl_epi16(__m128i __a, __m128i __count)
9536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psrlw128((__v8hi)__a, (__v8hi)__count);
9556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srli_epi32(__m128i __a, int __count)
9596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psrldi128((__v4si)__a, __count);
9616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srl_epi32(__m128i __a, __m128i __count)
9656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_psrld128((__v4si)__a, (__v4si)__count);
9676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srli_epi64(__m128i __a, int __count)
9716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_psrlqi128(__a, __count);
9736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_srl_epi64(__m128i __a, __m128i __count)
9776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_psrlq128(__a, __count);
9796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpeq_epi8(__m128i __a, __m128i __b)
9836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v16qi)__a == (__v16qi)__b);
9856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpeq_epi16(__m128i __a, __m128i __b)
9896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v8hi)__a == (__v8hi)__b);
9916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
9946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpeq_epi32(__m128i __a, __m128i __b)
9956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
9966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v4si)__a == (__v4si)__b);
9976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
9986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
9996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpgt_epi8(__m128i __a, __m128i __b)
10016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  /* This function always performs a signed comparison, but __v16qi is a char
10036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker     which may be signed or unsigned, so use __v16qs. */
10046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v16qs)__a > (__v16qs)__b);
10056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpgt_epi16(__m128i __a, __m128i __b)
10096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v8hi)__a > (__v8hi)__b);
10116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmpgt_epi32(__m128i __a, __m128i __b)
10156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)((__v4si)__a > (__v4si)__b);
10176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmplt_epi8(__m128i __a, __m128i __b)
10216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return _mm_cmpgt_epi8(__b, __a);
10236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmplt_epi16(__m128i __a, __m128i __b)
10276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return _mm_cmpgt_epi16(__b, __a);
10296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cmplt_epi32(__m128i __a, __m128i __b)
10336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return _mm_cmpgt_epi32(__b, __a);
10356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifdef __x86_64__
10386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
10396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsi64_sd(__m128d __a, long long __b)
10406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __a[0] = __b;
10426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a;
10436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ long long __DEFAULT_FN_ATTRS
10466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsd_si64(__m128d __a)
10476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtsd2si64(__a);
10496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ long long __DEFAULT_FN_ATTRS
10526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvttsd_si64(__m128d __a)
10536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a[0];
10556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif
10576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128 __DEFAULT_FN_ATTRS
10596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtepi32_ps(__m128i __a)
10606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_cvtdq2ps((__v4si)__a);
10626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtps_epi32(__m128 __a)
10666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_cvtps2dq(__a);
10686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvttps_epi32(__m128 __a)
10726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_cvttps2dq(__a);
10746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsi32_si128(int __a)
10786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v4si){ __a, 0, 0, 0 };
10806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifdef __x86_64__
10836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
10846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsi64_si128(long long __a)
10856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ __a, 0 };
10876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif
10896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
10916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsi128_si32(__m128i __a)
10926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
10936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __v4si __b = (__v4si)__a;
10946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __b[0];
10956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
10966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
10976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifdef __x86_64__
10986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ long long __DEFAULT_FN_ATTRS
10996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_cvtsi128_si64(__m128i __a)
11006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __a[0];
11026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif
11046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_load_si128(__m128i const *__p)
11076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return *__p;
11096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_loadu_si128(__m128i const *__p)
11136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __loadu_si128 {
11156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    __m128i __v;
11166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
11176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return ((struct __loadu_si128*)__p)->__v;
11186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_loadl_epi64(__m128i const *__p)
11226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_loadl_epi64_struct {
11246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    long long __u;
11256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
11266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i) { ((struct __mm_loadl_epi64_struct*)__p)->__u, 0};
11276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_undefined_si128()
11316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_undef128();
11336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set_epi64x(long long __q1, long long __q0)
11376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ __q0, __q1 };
11396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set_epi64(__m64 __q1, __m64 __q0)
11436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ (long long)__q0, (long long)__q1 };
11456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set_epi32(int __i3, int __i2, int __i1, int __i0)
11496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v4si){ __i0, __i1, __i2, __i3};
11516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set_epi16(short __w7, short __w6, short __w5, short __w4, short __w3, short __w2, short __w1, short __w0)
11556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v8hi){ __w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7 };
11576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set_epi8(char __b15, char __b14, char __b13, char __b12, char __b11, char __b10, char __b9, char __b8, char __b7, char __b6, char __b5, char __b4, char __b3, char __b2, char __b1, char __b0)
11616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v16qi){ __b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15 };
11636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set1_epi64x(long long __q)
11676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ __q, __q };
11696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set1_epi64(__m64 __q)
11736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ (long long)__q, (long long)__q };
11756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set1_epi32(int __i)
11796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v4si){ __i, __i, __i, __i };
11816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set1_epi16(short __w)
11856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v8hi){ __w, __w, __w, __w, __w, __w, __w, __w };
11876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_set1_epi8(char __b)
11916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v16qi){ __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b };
11936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
11946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
11956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
11966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_setr_epi64(__m64 __q0, __m64 __q1)
11976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
11986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ (long long)__q0, (long long)__q1 };
11996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
12026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_setr_epi32(int __i0, int __i1, int __i2, int __i3)
12036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v4si){ __i0, __i1, __i2, __i3};
12056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
12086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_setr_epi16(short __w0, short __w1, short __w2, short __w3, short __w4, short __w5, short __w6, short __w7)
12096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v8hi){ __w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7 };
12116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
12146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_setr_epi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5, char __b6, char __b7, char __b8, char __b9, char __b10, char __b11, char __b12, char __b13, char __b14, char __b15)
12156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)(__v16qi){ __b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15 };
12176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
12206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_setzero_si128(void)
12216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ 0LL, 0LL };
12236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_store_si128(__m128i *__p, __m128i __b)
12276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  *__p = __b;
12296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_storeu_si128(__m128i *__p, __m128i __b)
12336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_storedqu((char *)__p, (__v16qi)__b);
12356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_maskmoveu_si128(__m128i __d, __m128i __n, char *__p)
12396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_maskmovdqu((__v16qi)__d, (__v16qi)__n, __p);
12416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_storel_epi64(__m128i *__p, __m128i __a)
12456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  struct __mm_storel_epi64_struct {
12476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker    long long __u;
12486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  } __attribute__((__packed__, __may_alias__));
12496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  ((struct __mm_storel_epi64_struct*)__p)->__u = __a[0];
12506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_stream_pd(double *__p, __m128d __a)
12546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_movntpd(__p, __a);
12566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_stream_si128(__m128i *__p, __m128i __a)
12606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_movntdq(__p, __a);
12626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_stream_si32(int *__p, int __a)
12666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_movnti(__p, __a);
12686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#ifdef __x86_64__
12716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_stream_si64(long long *__p, long long __a)
12736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_movnti64(__p, __a);
12756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif
12776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_clflush(void const *__p)
12806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_clflush(__p);
12826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_lfence(void)
12866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_lfence();
12886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
12916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_mfence(void)
12926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_mfence();
12946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
12956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
12966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
12976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_packs_epi16(__m128i __a, __m128i __b)
12986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
12996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_packsswb128((__v8hi)__a, (__v8hi)__b);
13006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_packs_epi32(__m128i __a, __m128i __b)
13046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_packssdw128((__v4si)__a, (__v4si)__b);
13066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_packus_epi16(__m128i __a, __m128i __b)
13106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_ia32_packuswb128((__v8hi)__a, (__v8hi)__b);
13126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
13156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_extract_epi16(__m128i __a, int __imm)
13166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __v8hi __b = (__v8hi)__a;
13186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (unsigned short)__b[__imm & 7];
13196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_insert_epi16(__m128i __a, int __b, int __imm)
13236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __v8hi __c = (__v8hi)__a;
13256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __c[__imm & 7] = __b;
13266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__c;
13276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
13306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_movemask_epi8(__m128i __a)
13316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_pmovmskb128((__v16qi)__a);
13336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_shuffle_epi32(a, imm) __extension__ ({ \
13366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  (__m128i)__builtin_shufflevector((__v4si)(__m128i)(a), \
13376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (__v4si)_mm_setzero_si128(), \
13386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (imm) & 0x3, ((imm) & 0xc) >> 2, \
13396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm) & 0x30) >> 4, ((imm) & 0xc0) >> 6); })
13406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_shufflelo_epi16(a, imm) __extension__ ({ \
13426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  (__m128i)__builtin_shufflevector((__v8hi)(__m128i)(a), \
13436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (__v8hi)_mm_setzero_si128(), \
13446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (imm) & 0x3, ((imm) & 0xc) >> 2, \
13456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   ((imm) & 0x30) >> 4, ((imm) & 0xc0) >> 6, \
13466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   4, 5, 6, 7); })
13476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_shufflehi_epi16(a, imm) __extension__ ({ \
13496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  (__m128i)__builtin_shufflevector((__v8hi)(__m128i)(a), \
13506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (__v8hi)_mm_setzero_si128(), \
13516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   0, 1, 2, 3, \
13526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   4 + (((imm) & 0x03) >> 0), \
13536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   4 + (((imm) & 0x0c) >> 2), \
13546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   4 + (((imm) & 0x30) >> 4), \
13556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   4 + (((imm) & 0xc0) >> 6)); })
13566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpackhi_epi8(__m128i __a, __m128i __b)
13596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector((__v16qi)__a, (__v16qi)__b, 8, 16+8, 9, 16+9, 10, 16+10, 11, 16+11, 12, 16+12, 13, 16+13, 14, 16+14, 15, 16+15);
13616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpackhi_epi16(__m128i __a, __m128i __b)
13656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 4, 8+4, 5, 8+5, 6, 8+6, 7, 8+7);
13676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpackhi_epi32(__m128i __a, __m128i __b)
13716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 2, 4+2, 3, 4+3);
13736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpackhi_epi64(__m128i __a, __m128i __b)
13776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector(__a, __b, 1, 2+1);
13796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpacklo_epi8(__m128i __a, __m128i __b)
13836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector((__v16qi)__a, (__v16qi)__b, 0, 16+0, 1, 16+1, 2, 16+2, 3, 16+3, 4, 16+4, 5, 16+5, 6, 16+6, 7, 16+7);
13856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpacklo_epi16(__m128i __a, __m128i __b)
13896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector((__v8hi)__a, (__v8hi)__b, 0, 8+0, 1, 8+1, 2, 8+2, 3, 8+3);
13916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13926bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13936bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
13946bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpacklo_epi32(__m128i __a, __m128i __b)
13956bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
13966bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector((__v4si)__a, (__v4si)__b, 0, 4+0, 1, 4+1);
13976bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
13986bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
13996bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
14006bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpacklo_epi64(__m128i __a, __m128i __b)
14016bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14026bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__builtin_shufflevector(__a, __b, 0, 2+0);
14036bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14046bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14056bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m64 __DEFAULT_FN_ATTRS
14066bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_movepi64_pi64(__m128i __a)
14076bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14086bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m64)__a[0];
14096bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14106bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14116bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
14126bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_movpi64_epi64(__m64 __a)
14136bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14146bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i){ (long long)__a, 0 };
14156bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14166bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14176bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
14186bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_move_epi64(__m128i __a)
14196bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14206bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_shufflevector(__a, (__m128i){ 0 }, 0, 2);
14216bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14226bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14236bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
14246bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpackhi_pd(__m128d __a, __m128d __b)
14256bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14266bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_shufflevector(__a, __b, 1, 2+1);
14276bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14286bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14296bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
14306bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_unpacklo_pd(__m128d __a, __m128d __b)
14316bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14326bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_shufflevector(__a, __b, 0, 2+0);
14336bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14346bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14356bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ int __DEFAULT_FN_ATTRS
14366bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_movemask_pd(__m128d __a)
14376bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14386bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return __builtin_ia32_movmskpd(__a);
14396bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14406bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14416bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _mm_shuffle_pd(a, b, i) __extension__ ({ \
14426bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  (__m128d)__builtin_shufflevector((__v2df)(__m128d)(a), (__v2df)(__m128d)(b), \
14436bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker                                   (i) & 1, (((i) & 2) >> 1) + 2); })
14446bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14456bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128 __DEFAULT_FN_ATTRS
14466bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_castpd_ps(__m128d __a)
14476bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14486bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128)__a;
14496bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14506bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14516bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
14526bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_castpd_si128(__m128d __a)
14536bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14546bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__a;
14556bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14566bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14576bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
14586bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_castps_pd(__m128 __a)
14596bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14606bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__a;
14616bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14626bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14636bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128i __DEFAULT_FN_ATTRS
14646bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_castps_si128(__m128 __a)
14656bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14666bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128i)__a;
14676bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14686bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14696bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128 __DEFAULT_FN_ATTRS
14706bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_castsi128_ps(__m128i __a)
14716bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14726bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128)__a;
14736bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14746bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14756bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ __m128d __DEFAULT_FN_ATTRS
14766bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_castsi128_pd(__m128i __a)
14776bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14786bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  return (__m128d)__a;
14796bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14806bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14816bdbd720989797e8a53237ef3ef213c4114f869gitbuildkickerstatic __inline__ void __DEFAULT_FN_ATTRS
14826bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker_mm_pause(void)
14836bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker{
14846bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker  __builtin_ia32_pause();
14856bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker}
14866bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14876bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#undef __DEFAULT_FN_ATTRS
14886bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14896bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#define _MM_SHUFFLE2(x, y) (((x) << 1) | (y))
14906bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker
14916bdbd720989797e8a53237ef3ef213c4114f869gitbuildkicker#endif /* __EMMINTRIN_H */
1492