13#ifndef NO_WARN_X86_INTRINSICS
36 "Please read comment above. Use -DNO_WARN_X86_INTRINSICS to disable this warning."
42#if defined(__powerpc64__) && \
43 (defined(__linux__) || defined(__FreeBSD__) || defined(_AIX))
49 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
51 const __v4sf __even_n0 = {-0.0, 0.0, -0.0, 0.0};
53 return (__m128)
vec_add(__X, __even_neg_Y);
56extern __inline __m128d
57 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
59 const __v2df __even_n0 = {-0.0, 0.0};
61 return (__m128d)
vec_add(__X, __even_neg_Y);
65 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
67 __vector
unsigned char __xform2 = {0x00, 0x01, 0x02, 0x03, 0x08, 0x09,
68 0x0A, 0x0B, 0x10, 0x11, 0x12, 0x13,
69 0x18, 0x19, 0x1A, 0x1B};
70 __vector
unsigned char __xform1 = {0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D,
71 0x0E, 0x0F, 0x14, 0x15, 0x16, 0x17,
72 0x1C, 0x1D, 0x1E, 0x1F};
78 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
80 __vector
unsigned char __xform2 = {0x00, 0x01, 0x02, 0x03, 0x08, 0x09,
81 0x0A, 0x0B, 0x10, 0x11, 0x12, 0x13,
82 0x18, 0x19, 0x1A, 0x1B};
83 __vector
unsigned char __xform1 = {0x04, 0x05, 0x06, 0x07, 0x0C, 0x0D,
84 0x0E, 0x0F, 0x14, 0x15, 0x16, 0x17,
85 0x1C, 0x1D, 0x1E, 0x1F};
90extern __inline __m128d
91 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
97extern __inline __m128d
98 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
105extern __inline __m128
106 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
108 return (__m128)vec_mergeo((__v4su)__X, (__v4su)__X);
113extern __inline __m128
114 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
116 return (__m128)vec_mergee((__v4su)__X, (__v4su)__X);
120extern __inline __m128d
121 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
126extern __inline __m128d
127 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
132extern __inline __m128i
133 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
135 return (__m128i)(vec_vsx_ld(0, (
signed int const *)
__P));
141#include_next <pmmintrin.h>
_Float16 __2f16 __attribute__((ext_vector_type(2)))
Zeroes the upper 128 bits (bits 255:128) of all YMM registers.
static __inline__ vector signed char __ATTRS_o_ai vec_splats(signed char __a)
static __inline__ vector signed char __ATTRS_o_ai vec_mergel(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_perm(vector signed char __a, vector signed char __b, vector unsigned char __c)
static __inline__ vector signed char __ATTRS_o_ai vec_mergeh(vector signed char __a, vector signed char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_add(vector signed char __a, vector signed char __b)
static __inline__ vector unsigned char __ATTRS_o_ai vec_xor(vector unsigned char __a, vector unsigned char __b)
static __inline__ vector signed char __ATTRS_o_ai vec_sub(vector signed char __a, vector signed char __b)
#define _MM_SHUFFLE2(x, y)
#define _mm_shuffle_pd(a, b, i)
Constructs a 128-bit floating-point vector of [2 x double] from two 128-bit vector parameters of [2 x...
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_hadd_pd(__m128d __a, __m128d __b)
Horizontally adds the pairs of values contained in two 128-bit vectors of [2 x double].
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_movedup_pd(__m128d __a)
Moves and duplicates the double-precision value in the lower bits of a 128-bit vector of [2 x double]...
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_hadd_ps(__m128 __a, __m128 __b)
Horizontally adds the adjacent pairs of values contained in two 128-bit vectors of [4 x float].
#define _mm_loaddup_pd(dp)
Moves and duplicates one double-precision value to double-precision values stored in a 128-bit vector...
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_addsub_pd(__m128d __a, __m128d __b)
Adds the even-indexed values and subtracts the odd-indexed values of two 128-bit vectors of [2 x doub...
static __inline__ __m128d __DEFAULT_FN_ATTRS _mm_hsub_pd(__m128d __a, __m128d __b)
Horizontally subtracts the pairs of values contained in two 128-bit vectors of [2 x double].
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_movehdup_ps(__m128 __a)
Moves and duplicates odd-indexed values from a 128-bit vector of [4 x float] to float values stored i...
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_moveldup_ps(__m128 __a)
Duplicates even-indexed values from a 128-bit vector of [4 x float] to float values stored in a 128-b...
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_addsub_ps(__m128 __a, __m128 __b)
Adds the even-indexed values and subtracts the odd-indexed values of two 128-bit vectors of [4 x floa...
static __inline__ __m128 __DEFAULT_FN_ATTRS _mm_hsub_ps(__m128 __a, __m128 __b)
Horizontally subtracts the adjacent pairs of values contained in two 128-bit vectors of [4 x float].
static __inline__ __m128i __DEFAULT_FN_ATTRS _mm_lddqu_si128(__m128i_u const *__p)
Loads data from an unaligned memory location to elements in a 128-bit vector.
__inline unsigned int unsigned int unsigned int * __P
__inline unsigned int unsigned int __Y