forked from OSchip/llvm-project
[X86] Add __extension__ to a bunch of places in our intrinsic headers that fail if you run it through -pedantic -ansi.
All of these are lines that create a 'compound literal' to concatenate elements together. llvm-svn: 333593
This commit is contained in:
parent
71792c741e
commit
63ec0ea7bc
|
@ -180,7 +180,7 @@ typedef enum
|
|||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_setzero_si512(void)
|
||||
{
|
||||
return (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
return __extension__ (__m512i)(__v8di){ 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
}
|
||||
|
||||
#define _mm512_setzero_epi32 _mm512_setzero_si512
|
||||
|
@ -262,8 +262,8 @@ _mm512_maskz_broadcastq_epi64 (__mmask8 __M, __m128i __A)
|
|||
static __inline __m512 __DEFAULT_FN_ATTRS
|
||||
_mm512_setzero_ps(void)
|
||||
{
|
||||
return (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
||||
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
|
||||
return __extension__ (__m512){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
|
||||
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
|
||||
}
|
||||
|
||||
#define _mm512_setzero _mm512_setzero_ps
|
||||
|
@ -271,49 +271,52 @@ _mm512_setzero_ps(void)
|
|||
static __inline __m512d __DEFAULT_FN_ATTRS
|
||||
_mm512_setzero_pd(void)
|
||||
{
|
||||
return (__m512d){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
|
||||
return __extension__ (__m512d){ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
|
||||
}
|
||||
|
||||
static __inline __m512 __DEFAULT_FN_ATTRS
|
||||
_mm512_set1_ps(float __w)
|
||||
{
|
||||
return (__m512){ __w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w };
|
||||
return __extension__ (__m512){ __w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w };
|
||||
}
|
||||
|
||||
static __inline __m512d __DEFAULT_FN_ATTRS
|
||||
_mm512_set1_pd(double __w)
|
||||
{
|
||||
return (__m512d){ __w, __w, __w, __w, __w, __w, __w, __w };
|
||||
return __extension__ (__m512d){ __w, __w, __w, __w, __w, __w, __w, __w };
|
||||
}
|
||||
|
||||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_set1_epi8(char __w)
|
||||
{
|
||||
return (__m512i)(__v64qi){ __w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w };
|
||||
return __extension__ (__m512i)(__v64qi){
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w };
|
||||
}
|
||||
|
||||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_set1_epi16(short __w)
|
||||
{
|
||||
return (__m512i)(__v32hi){ __w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w };
|
||||
return __extension__ (__m512i)(__v32hi){
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w };
|
||||
}
|
||||
|
||||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_set1_epi32(int __s)
|
||||
{
|
||||
return (__m512i)(__v16si){ __s, __s, __s, __s, __s, __s, __s, __s,
|
||||
__s, __s, __s, __s, __s, __s, __s, __s };
|
||||
return __extension__ (__m512i)(__v16si){
|
||||
__s, __s, __s, __s, __s, __s, __s, __s,
|
||||
__s, __s, __s, __s, __s, __s, __s, __s };
|
||||
}
|
||||
|
||||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
|
@ -327,7 +330,7 @@ _mm512_maskz_set1_epi32(__mmask16 __M, int __A)
|
|||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_set1_epi64(long long __d)
|
||||
{
|
||||
return (__m512i)(__v8di){ __d, __d, __d, __d, __d, __d, __d, __d };
|
||||
return __extension__(__m512i)(__v8di){ __d, __d, __d, __d, __d, __d, __d, __d };
|
||||
}
|
||||
|
||||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
|
@ -349,7 +352,7 @@ _mm512_broadcastss_ps(__m128 __A)
|
|||
static __inline __m512i __DEFAULT_FN_ATTRS
|
||||
_mm512_set4_epi32 (int __A, int __B, int __C, int __D)
|
||||
{
|
||||
return (__m512i)(__v16si)
|
||||
return __extension__ (__m512i)(__v16si)
|
||||
{ __D, __C, __B, __A, __D, __C, __B, __A,
|
||||
__D, __C, __B, __A, __D, __C, __B, __A };
|
||||
}
|
||||
|
@ -358,21 +361,21 @@ static __inline __m512i __DEFAULT_FN_ATTRS
|
|||
_mm512_set4_epi64 (long long __A, long long __B, long long __C,
|
||||
long long __D)
|
||||
{
|
||||
return (__m512i) (__v8di)
|
||||
return __extension__ (__m512i) (__v8di)
|
||||
{ __D, __C, __B, __A, __D, __C, __B, __A };
|
||||
}
|
||||
|
||||
static __inline __m512d __DEFAULT_FN_ATTRS
|
||||
_mm512_set4_pd (double __A, double __B, double __C, double __D)
|
||||
{
|
||||
return (__m512d)
|
||||
return __extension__ (__m512d)
|
||||
{ __D, __C, __B, __A, __D, __C, __B, __A };
|
||||
}
|
||||
|
||||
static __inline __m512 __DEFAULT_FN_ATTRS
|
||||
_mm512_set4_ps (float __A, float __B, float __C, float __D)
|
||||
{
|
||||
return (__m512)
|
||||
return __extension__ (__m512)
|
||||
{ __D, __C, __B, __A, __D, __C, __B, __A,
|
||||
__D, __C, __B, __A, __D, __C, __B, __A };
|
||||
}
|
||||
|
@ -9063,7 +9066,7 @@ static __inline__ __m128 __DEFAULT_FN_ATTRS
|
|||
_mm_mask_load_ss (__m128 __W, __mmask8 __U, const float* __A)
|
||||
{
|
||||
__m128 src = (__v4sf) __builtin_shufflevector((__v4sf) __W,
|
||||
(__v4sf) {0.0, 0.0, 0.0, 0.0},
|
||||
(__v4sf)_mm_setzero_ps(),
|
||||
0, 4, 4, 4);
|
||||
|
||||
return (__m128) __builtin_ia32_loadss128_mask ((__v4sf *) __A, src, __U & 1);
|
||||
|
@ -9081,7 +9084,8 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|||
_mm_mask_load_sd (__m128d __W, __mmask8 __U, const double* __A)
|
||||
{
|
||||
__m128d src = (__v2df) __builtin_shufflevector((__v2df) __W,
|
||||
(__v2df) {0.0, 0.0}, 0, 2);
|
||||
(__v2df)_mm_setzero_pd(),
|
||||
0, 2);
|
||||
|
||||
return (__m128d) __builtin_ia32_loadsd128_mask ((__v2df *) __A, src, __U & 1);
|
||||
}
|
||||
|
|
|
@ -3055,7 +3055,7 @@ static __inline __m128 __DEFAULT_FN_ATTRS
|
|||
_mm_broadcast_ss(float const *__a)
|
||||
{
|
||||
float __f = *__a;
|
||||
return (__m128)(__v4sf){ __f, __f, __f, __f };
|
||||
return __extension__ (__m128)(__v4sf){ __f, __f, __f, __f };
|
||||
}
|
||||
|
||||
/// Loads a scalar double-precision floating point value from the
|
||||
|
@ -3074,7 +3074,7 @@ static __inline __m256d __DEFAULT_FN_ATTRS
|
|||
_mm256_broadcast_sd(double const *__a)
|
||||
{
|
||||
double __d = *__a;
|
||||
return (__m256d)(__v4df){ __d, __d, __d, __d };
|
||||
return __extension__ (__m256d)(__v4df){ __d, __d, __d, __d };
|
||||
}
|
||||
|
||||
/// Loads a scalar single-precision floating point value from the
|
||||
|
@ -3093,7 +3093,7 @@ static __inline __m256 __DEFAULT_FN_ATTRS
|
|||
_mm256_broadcast_ss(float const *__a)
|
||||
{
|
||||
float __f = *__a;
|
||||
return (__m256)(__v8sf){ __f, __f, __f, __f, __f, __f, __f, __f };
|
||||
return __extension__ (__m256)(__v8sf){ __f, __f, __f, __f, __f, __f, __f, __f };
|
||||
}
|
||||
|
||||
/// Loads the data from a 128-bit vector of [2 x double] from the
|
||||
|
@ -3698,7 +3698,7 @@ _mm256_undefined_si256(void)
|
|||
static __inline __m256d __DEFAULT_FN_ATTRS
|
||||
_mm256_set_pd(double __a, double __b, double __c, double __d)
|
||||
{
|
||||
return (__m256d){ __d, __c, __b, __a };
|
||||
return __extension__ (__m256d){ __d, __c, __b, __a };
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit floating-point vector of [8 x float] initialized
|
||||
|
@ -3738,7 +3738,7 @@ static __inline __m256 __DEFAULT_FN_ATTRS
|
|||
_mm256_set_ps(float __a, float __b, float __c, float __d,
|
||||
float __e, float __f, float __g, float __h)
|
||||
{
|
||||
return (__m256){ __h, __g, __f, __e, __d, __c, __b, __a };
|
||||
return __extension__ (__m256){ __h, __g, __f, __e, __d, __c, __b, __a };
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector initialized with the specified
|
||||
|
@ -3770,7 +3770,7 @@ static __inline __m256i __DEFAULT_FN_ATTRS
|
|||
_mm256_set_epi32(int __i0, int __i1, int __i2, int __i3,
|
||||
int __i4, int __i5, int __i6, int __i7)
|
||||
{
|
||||
return (__m256i)(__v8si){ __i7, __i6, __i5, __i4, __i3, __i2, __i1, __i0 };
|
||||
return __extension__ (__m256i)(__v8si){ __i7, __i6, __i5, __i4, __i3, __i2, __i1, __i0 };
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector initialized with the specified
|
||||
|
@ -3820,7 +3820,7 @@ _mm256_set_epi16(short __w15, short __w14, short __w13, short __w12,
|
|||
short __w07, short __w06, short __w05, short __w04,
|
||||
short __w03, short __w02, short __w01, short __w00)
|
||||
{
|
||||
return (__m256i)(__v16hi){ __w00, __w01, __w02, __w03, __w04, __w05, __w06,
|
||||
return __extension__ (__m256i)(__v16hi){ __w00, __w01, __w02, __w03, __w04, __w05, __w06,
|
||||
__w07, __w08, __w09, __w10, __w11, __w12, __w13, __w14, __w15 };
|
||||
}
|
||||
|
||||
|
@ -3907,7 +3907,7 @@ _mm256_set_epi8(char __b31, char __b30, char __b29, char __b28,
|
|||
char __b07, char __b06, char __b05, char __b04,
|
||||
char __b03, char __b02, char __b01, char __b00)
|
||||
{
|
||||
return (__m256i)(__v32qi){
|
||||
return __extension__ (__m256i)(__v32qi){
|
||||
__b00, __b01, __b02, __b03, __b04, __b05, __b06, __b07,
|
||||
__b08, __b09, __b10, __b11, __b12, __b13, __b14, __b15,
|
||||
__b16, __b17, __b18, __b19, __b20, __b21, __b22, __b23,
|
||||
|
@ -3935,7 +3935,7 @@ _mm256_set_epi8(char __b31, char __b30, char __b29, char __b28,
|
|||
static __inline __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_set_epi64x(long long __a, long long __b, long long __c, long long __d)
|
||||
{
|
||||
return (__m256i)(__v4di){ __d, __c, __b, __a };
|
||||
return __extension__ (__m256i)(__v4di){ __d, __c, __b, __a };
|
||||
}
|
||||
|
||||
/* Create vectors with elements in reverse order */
|
||||
|
@ -3964,7 +3964,7 @@ _mm256_set_epi64x(long long __a, long long __b, long long __c, long long __d)
|
|||
static __inline __m256d __DEFAULT_FN_ATTRS
|
||||
_mm256_setr_pd(double __a, double __b, double __c, double __d)
|
||||
{
|
||||
return (__m256d){ __a, __b, __c, __d };
|
||||
return _mm256_set_pd(__a, __b, __c, __d);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit floating-point vector of [8 x float],
|
||||
|
@ -4005,7 +4005,7 @@ static __inline __m256 __DEFAULT_FN_ATTRS
|
|||
_mm256_setr_ps(float __a, float __b, float __c, float __d,
|
||||
float __e, float __f, float __g, float __h)
|
||||
{
|
||||
return (__m256){ __a, __b, __c, __d, __e, __f, __g, __h };
|
||||
return _mm256_set_ps(__a, __b, __c, __d, __e, __f, __g, __h);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector, initialized in reverse order
|
||||
|
@ -4037,7 +4037,7 @@ static __inline __m256i __DEFAULT_FN_ATTRS
|
|||
_mm256_setr_epi32(int __i0, int __i1, int __i2, int __i3,
|
||||
int __i4, int __i5, int __i6, int __i7)
|
||||
{
|
||||
return (__m256i)(__v8si){ __i0, __i1, __i2, __i3, __i4, __i5, __i6, __i7 };
|
||||
return _mm256_set_epi32(__i0, __i1, __i2, __i3, __i4, __i5, __i6, __i7);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector, initialized in reverse order
|
||||
|
@ -4087,8 +4087,10 @@ _mm256_setr_epi16(short __w15, short __w14, short __w13, short __w12,
|
|||
short __w07, short __w06, short __w05, short __w04,
|
||||
short __w03, short __w02, short __w01, short __w00)
|
||||
{
|
||||
return (__m256i)(__v16hi){ __w15, __w14, __w13, __w12, __w11, __w10, __w09,
|
||||
__w08, __w07, __w06, __w05, __w04, __w03, __w02, __w01, __w00 };
|
||||
return _mm256_set_epi16(__w15, __w14, __w13, __w12,
|
||||
__w11, __w10, __w09, __w08,
|
||||
__w07, __w06, __w05, __w04,
|
||||
__w03, __w02, __w01, __w00);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector, initialized in reverse order
|
||||
|
@ -4174,11 +4176,10 @@ _mm256_setr_epi8(char __b31, char __b30, char __b29, char __b28,
|
|||
char __b07, char __b06, char __b05, char __b04,
|
||||
char __b03, char __b02, char __b01, char __b00)
|
||||
{
|
||||
return (__m256i)(__v32qi){
|
||||
__b31, __b30, __b29, __b28, __b27, __b26, __b25, __b24,
|
||||
__b23, __b22, __b21, __b20, __b19, __b18, __b17, __b16,
|
||||
__b15, __b14, __b13, __b12, __b11, __b10, __b09, __b08,
|
||||
__b07, __b06, __b05, __b04, __b03, __b02, __b01, __b00 };
|
||||
return _mm256_set_epi8(__b31, __b30, __b29, __b28, __b27, __b26, __b25, __b24,
|
||||
__b23, __b22, __b21, __b20, __b19, __b18, __b17, __b16,
|
||||
__b15, __b14, __b13, __b12, __b11, __b10, __b09, __b08,
|
||||
__b07, __b06, __b05, __b04, __b03, __b02, __b01, __b00);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector, initialized in reverse order
|
||||
|
@ -4201,7 +4202,7 @@ _mm256_setr_epi8(char __b31, char __b30, char __b29, char __b28,
|
|||
static __inline __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_setr_epi64x(long long __a, long long __b, long long __c, long long __d)
|
||||
{
|
||||
return (__m256i)(__v4di){ __a, __b, __c, __d };
|
||||
return _mm256_set_epi64x(__a, __b, __c, __d);
|
||||
}
|
||||
|
||||
/* Create vectors with repeated elements */
|
||||
|
@ -4220,7 +4221,7 @@ _mm256_setr_epi64x(long long __a, long long __b, long long __c, long long __d)
|
|||
static __inline __m256d __DEFAULT_FN_ATTRS
|
||||
_mm256_set1_pd(double __w)
|
||||
{
|
||||
return (__m256d){ __w, __w, __w, __w };
|
||||
return _mm256_set_pd(__w, __w, __w, __w);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit floating-point vector of [8 x float], with each
|
||||
|
@ -4239,7 +4240,7 @@ _mm256_set1_pd(double __w)
|
|||
static __inline __m256 __DEFAULT_FN_ATTRS
|
||||
_mm256_set1_ps(float __w)
|
||||
{
|
||||
return (__m256){ __w, __w, __w, __w, __w, __w, __w, __w };
|
||||
return _mm256_set_ps(__w, __w, __w, __w, __w, __w, __w, __w);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector of [8 x i32], with each of the
|
||||
|
@ -4258,7 +4259,7 @@ _mm256_set1_ps(float __w)
|
|||
static __inline __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_set1_epi32(int __i)
|
||||
{
|
||||
return (__m256i)(__v8si){ __i, __i, __i, __i, __i, __i, __i, __i };
|
||||
return _mm256_set_epi32(__i, __i, __i, __i, __i, __i, __i, __i);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector of [16 x i16], with each of the
|
||||
|
@ -4276,8 +4277,8 @@ _mm256_set1_epi32(int __i)
|
|||
static __inline __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_set1_epi16(short __w)
|
||||
{
|
||||
return (__m256i)(__v16hi){ __w, __w, __w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w };
|
||||
return _mm256_set_epi16(__w, __w, __w, __w, __w, __w, __w, __w,
|
||||
__w, __w, __w, __w, __w, __w, __w, __w);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector of [32 x i8], with each of the
|
||||
|
@ -4294,9 +4295,10 @@ _mm256_set1_epi16(short __w)
|
|||
static __inline __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_set1_epi8(char __b)
|
||||
{
|
||||
return (__m256i)(__v32qi){ __b, __b, __b, __b, __b, __b, __b, __b, __b, __b,
|
||||
__b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b,
|
||||
__b, __b, __b, __b, __b, __b, __b };
|
||||
return _mm256_set_epi8(__b, __b, __b, __b, __b, __b, __b, __b,
|
||||
__b, __b, __b, __b, __b, __b, __b, __b,
|
||||
__b, __b, __b, __b, __b, __b, __b, __b,
|
||||
__b, __b, __b, __b, __b, __b, __b, __b);
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector of [4 x i64], with each of the
|
||||
|
@ -4314,7 +4316,7 @@ _mm256_set1_epi8(char __b)
|
|||
static __inline __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_set1_epi64x(long long __q)
|
||||
{
|
||||
return (__m256i)(__v4di){ __q, __q, __q, __q };
|
||||
return _mm256_set_epi64x(__q, __q, __q, __q);
|
||||
}
|
||||
|
||||
/* Create __zeroed vectors */
|
||||
|
@ -4329,7 +4331,7 @@ _mm256_set1_epi64x(long long __q)
|
|||
static __inline __m256d __DEFAULT_FN_ATTRS
|
||||
_mm256_setzero_pd(void)
|
||||
{
|
||||
return (__m256d){ 0, 0, 0, 0 };
|
||||
return __extension__ (__m256d){ 0, 0, 0, 0 };
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit floating-point vector of [8 x float] with all
|
||||
|
@ -4343,7 +4345,7 @@ _mm256_setzero_pd(void)
|
|||
static __inline __m256 __DEFAULT_FN_ATTRS
|
||||
_mm256_setzero_ps(void)
|
||||
{
|
||||
return (__m256){ 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
return __extension__ (__m256){ 0, 0, 0, 0, 0, 0, 0, 0 };
|
||||
}
|
||||
|
||||
/// Constructs a 256-bit integer vector initialized to zero.
|
||||
|
@ -4356,7 +4358,7 @@ _mm256_setzero_ps(void)
|
|||
static __inline __m256i __DEFAULT_FN_ATTRS
|
||||
_mm256_setzero_si256(void)
|
||||
{
|
||||
return (__m256i){ 0LL, 0LL, 0LL, 0LL };
|
||||
return __extension__ (__m256i)(__v4di){ 0, 0, 0, 0 };
|
||||
}
|
||||
|
||||
/* Cast between vector types */
|
||||
|
|
|
@ -236,7 +236,7 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|||
_mm_sqrt_sd(__m128d __a, __m128d __b)
|
||||
{
|
||||
__m128d __c = __builtin_ia32_sqrtsd((__v2df)__b);
|
||||
return (__m128d) { __c[0], __a[1] };
|
||||
return __extension__ (__m128d) { __c[0], __a[1] };
|
||||
}
|
||||
|
||||
/// Calculates the square root of the each of two values stored in a
|
||||
|
@ -769,7 +769,7 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|||
_mm_cmpgt_sd(__m128d __a, __m128d __b)
|
||||
{
|
||||
__m128d __c = __builtin_ia32_cmpltsd((__v2df)__b, (__v2df)__a);
|
||||
return (__m128d) { __c[0], __a[1] };
|
||||
return __extension__ (__m128d) { __c[0], __a[1] };
|
||||
}
|
||||
|
||||
/// Compares the lower double-precision floating-point values in each of
|
||||
|
@ -795,7 +795,7 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|||
_mm_cmpge_sd(__m128d __a, __m128d __b)
|
||||
{
|
||||
__m128d __c = __builtin_ia32_cmplesd((__v2df)__b, (__v2df)__a);
|
||||
return (__m128d) { __c[0], __a[1] };
|
||||
return __extension__ (__m128d) { __c[0], __a[1] };
|
||||
}
|
||||
|
||||
/// Compares the lower double-precision floating-point values in each of
|
||||
|
@ -951,7 +951,7 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|||
_mm_cmpngt_sd(__m128d __a, __m128d __b)
|
||||
{
|
||||
__m128d __c = __builtin_ia32_cmpnltsd((__v2df)__b, (__v2df)__a);
|
||||
return (__m128d) { __c[0], __a[1] };
|
||||
return __extension__ (__m128d) { __c[0], __a[1] };
|
||||
}
|
||||
|
||||
/// Compares the lower double-precision floating-point values in each of
|
||||
|
@ -977,7 +977,7 @@ static __inline__ __m128d __DEFAULT_FN_ATTRS
|
|||
_mm_cmpnge_sd(__m128d __a, __m128d __b)
|
||||
{
|
||||
__m128d __c = __builtin_ia32_cmpnlesd((__v2df)__b, (__v2df)__a);
|
||||
return (__m128d) { __c[0], __a[1] };
|
||||
return __extension__ (__m128d) { __c[0], __a[1] };
|
||||
}
|
||||
|
||||
/// Compares the lower double-precision floating-point values in each of
|
||||
|
@ -1610,7 +1610,7 @@ _mm_load1_pd(double const *__dp)
|
|||
double __u;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
double __u = ((struct __mm_load1_pd_struct*)__dp)->__u;
|
||||
return (__m128d){ __u, __u };
|
||||
return __extension__ (__m128d){ __u, __u };
|
||||
}
|
||||
|
||||
#define _mm_load_pd1(dp) _mm_load1_pd(dp)
|
||||
|
@ -1674,7 +1674,7 @@ _mm_loadu_si64(void const *__a)
|
|||
long long __v;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
long long __u = ((struct __loadu_si64*)__a)->__v;
|
||||
return (__m128i){__u, 0L};
|
||||
return __extension__ (__m128i)(__v2di){__u, 0L};
|
||||
}
|
||||
|
||||
/// Loads a 64-bit double-precision value to the low element of a
|
||||
|
@ -1695,7 +1695,7 @@ _mm_load_sd(double const *__dp)
|
|||
double __u;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
double __u = ((struct __mm_load_sd_struct*)__dp)->__u;
|
||||
return (__m128d){ __u, 0 };
|
||||
return __extension__ (__m128d){ __u, 0 };
|
||||
}
|
||||
|
||||
/// Loads a double-precision value into the high-order bits of a 128-bit
|
||||
|
@ -1722,7 +1722,7 @@ _mm_loadh_pd(__m128d __a, double const *__dp)
|
|||
double __u;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
double __u = ((struct __mm_loadh_pd_struct*)__dp)->__u;
|
||||
return (__m128d){ __a[0], __u };
|
||||
return __extension__ (__m128d){ __a[0], __u };
|
||||
}
|
||||
|
||||
/// Loads a double-precision value into the low-order bits of a 128-bit
|
||||
|
@ -1749,7 +1749,7 @@ _mm_loadl_pd(__m128d __a, double const *__dp)
|
|||
double __u;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
double __u = ((struct __mm_loadl_pd_struct*)__dp)->__u;
|
||||
return (__m128d){ __u, __a[1] };
|
||||
return __extension__ (__m128d){ __u, __a[1] };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [2 x double] with
|
||||
|
@ -1786,7 +1786,7 @@ _mm_undefined_pd(void)
|
|||
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
||||
_mm_set_sd(double __w)
|
||||
{
|
||||
return (__m128d){ __w, 0 };
|
||||
return __extension__ (__m128d){ __w, 0 };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [2 x double], with each
|
||||
|
@ -1804,7 +1804,7 @@ _mm_set_sd(double __w)
|
|||
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
||||
_mm_set1_pd(double __w)
|
||||
{
|
||||
return (__m128d){ __w, __w };
|
||||
return __extension__ (__m128d){ __w, __w };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [2 x double], with each
|
||||
|
@ -1842,7 +1842,7 @@ _mm_set_pd1(double __w)
|
|||
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
||||
_mm_set_pd(double __w, double __x)
|
||||
{
|
||||
return (__m128d){ __x, __w };
|
||||
return __extension__ (__m128d){ __x, __w };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [2 x double],
|
||||
|
@ -1863,7 +1863,7 @@ _mm_set_pd(double __w, double __x)
|
|||
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
||||
_mm_setr_pd(double __w, double __x)
|
||||
{
|
||||
return (__m128d){ __w, __x };
|
||||
return __extension__ (__m128d){ __w, __x };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [2 x double]
|
||||
|
@ -1878,7 +1878,7 @@ _mm_setr_pd(double __w, double __x)
|
|||
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
||||
_mm_setzero_pd(void)
|
||||
{
|
||||
return (__m128d){ 0, 0 };
|
||||
return __extension__ (__m128d){ 0, 0 };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [2 x double]. The lower
|
||||
|
@ -1899,7 +1899,7 @@ _mm_setzero_pd(void)
|
|||
static __inline__ __m128d __DEFAULT_FN_ATTRS
|
||||
_mm_move_sd(__m128d __a, __m128d __b)
|
||||
{
|
||||
return (__m128d){ __b[0], __a[1] };
|
||||
return __extension__ (__m128d){ __b[0], __a[1] };
|
||||
}
|
||||
|
||||
/// Stores the lower 64 bits of a 128-bit vector of [2 x double] to a
|
||||
|
@ -3471,7 +3471,7 @@ _mm_cvttps_epi32(__m128 __a)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_cvtsi32_si128(int __a)
|
||||
{
|
||||
return (__m128i)(__v4si){ __a, 0, 0, 0 };
|
||||
return __extension__ (__m128i)(__v4si){ __a, 0, 0, 0 };
|
||||
}
|
||||
|
||||
#ifdef __x86_64__
|
||||
|
@ -3488,7 +3488,7 @@ _mm_cvtsi32_si128(int __a)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_cvtsi64_si128(long long __a)
|
||||
{
|
||||
return (__m128i){ __a, 0 };
|
||||
return __extension__ (__m128i)(__v2di){ __a, 0 };
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -3582,7 +3582,7 @@ _mm_loadl_epi64(__m128i const *__p)
|
|||
struct __mm_loadl_epi64_struct {
|
||||
long long __u;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
return (__m128i) { ((struct __mm_loadl_epi64_struct*)__p)->__u, 0};
|
||||
return __extension__ (__m128i) { ((struct __mm_loadl_epi64_struct*)__p)->__u, 0};
|
||||
}
|
||||
|
||||
/// Generates a 128-bit vector of [4 x i32] with unspecified content.
|
||||
|
@ -3619,7 +3619,7 @@ _mm_undefined_si128(void)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set_epi64x(long long __q1, long long __q0)
|
||||
{
|
||||
return (__m128i){ __q0, __q1 };
|
||||
return __extension__ (__m128i)(__v2di){ __q0, __q1 };
|
||||
}
|
||||
|
||||
/// Initializes both 64-bit values in a 128-bit vector of [2 x i64] with
|
||||
|
@ -3641,7 +3641,7 @@ _mm_set_epi64x(long long __q1, long long __q0)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set_epi64(__m64 __q1, __m64 __q0)
|
||||
{
|
||||
return (__m128i){ (long long)__q0, (long long)__q1 };
|
||||
return _mm_set_epi64x((long long)__q0, (long long)__q1);
|
||||
}
|
||||
|
||||
/// Initializes the 32-bit values in a 128-bit vector of [4 x i32] with
|
||||
|
@ -3669,7 +3669,7 @@ _mm_set_epi64(__m64 __q1, __m64 __q0)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set_epi32(int __i3, int __i2, int __i1, int __i0)
|
||||
{
|
||||
return (__m128i)(__v4si){ __i0, __i1, __i2, __i3};
|
||||
return __extension__ (__m128i)(__v4si){ __i0, __i1, __i2, __i3};
|
||||
}
|
||||
|
||||
/// Initializes the 16-bit values in a 128-bit vector of [8 x i16] with
|
||||
|
@ -3709,7 +3709,7 @@ _mm_set_epi32(int __i3, int __i2, int __i1, int __i0)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set_epi16(short __w7, short __w6, short __w5, short __w4, short __w3, short __w2, short __w1, short __w0)
|
||||
{
|
||||
return (__m128i)(__v8hi){ __w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7 };
|
||||
return __extension__ (__m128i)(__v8hi){ __w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7 };
|
||||
}
|
||||
|
||||
/// Initializes the 8-bit values in a 128-bit vector of [16 x i8] with
|
||||
|
@ -3757,7 +3757,7 @@ _mm_set_epi16(short __w7, short __w6, short __w5, short __w4, short __w3, short
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_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)
|
||||
{
|
||||
return (__m128i)(__v16qi){ __b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15 };
|
||||
return __extension__ (__m128i)(__v16qi){ __b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15 };
|
||||
}
|
||||
|
||||
/// Initializes both values in a 128-bit integer vector with the
|
||||
|
@ -3776,7 +3776,7 @@ _mm_set_epi8(char __b15, char __b14, char __b13, char __b12, char __b11, char __
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set1_epi64x(long long __q)
|
||||
{
|
||||
return (__m128i){ __q, __q };
|
||||
return _mm_set_epi64x(__q, __q);
|
||||
}
|
||||
|
||||
/// Initializes both values in a 128-bit vector of [2 x i64] with the
|
||||
|
@ -3795,7 +3795,7 @@ _mm_set1_epi64x(long long __q)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set1_epi64(__m64 __q)
|
||||
{
|
||||
return (__m128i){ (long long)__q, (long long)__q };
|
||||
return _mm_set_epi64(__q, __q);
|
||||
}
|
||||
|
||||
/// Initializes all values in a 128-bit vector of [4 x i32] with the
|
||||
|
@ -3814,7 +3814,7 @@ _mm_set1_epi64(__m64 __q)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set1_epi32(int __i)
|
||||
{
|
||||
return (__m128i)(__v4si){ __i, __i, __i, __i };
|
||||
return _mm_set_epi32(__i, __i, __i, __i);
|
||||
}
|
||||
|
||||
/// Initializes all values in a 128-bit vector of [8 x i16] with the
|
||||
|
@ -3833,7 +3833,7 @@ _mm_set1_epi32(int __i)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set1_epi16(short __w)
|
||||
{
|
||||
return (__m128i)(__v8hi){ __w, __w, __w, __w, __w, __w, __w, __w };
|
||||
return _mm_set_epi16(__w, __w, __w, __w, __w, __w, __w, __w);
|
||||
}
|
||||
|
||||
/// Initializes all values in a 128-bit vector of [16 x i8] with the
|
||||
|
@ -3852,7 +3852,7 @@ _mm_set1_epi16(short __w)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_set1_epi8(char __b)
|
||||
{
|
||||
return (__m128i)(__v16qi){ __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b };
|
||||
return _mm_set_epi8(__b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b, __b);
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit integer vector, initialized in reverse order
|
||||
|
@ -3872,7 +3872,7 @@ _mm_set1_epi8(char __b)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_setr_epi64(__m64 __q0, __m64 __q1)
|
||||
{
|
||||
return (__m128i){ (long long)__q0, (long long)__q1 };
|
||||
return _mm_set_epi64(__q0, __q1);
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit integer vector, initialized in reverse order
|
||||
|
@ -3895,7 +3895,7 @@ _mm_setr_epi64(__m64 __q0, __m64 __q1)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_setr_epi32(int __i0, int __i1, int __i2, int __i3)
|
||||
{
|
||||
return (__m128i)(__v4si){ __i0, __i1, __i2, __i3};
|
||||
return _mm_set_epi32(__i0, __i1, __i2, __i3);
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit integer vector, initialized in reverse order
|
||||
|
@ -3926,7 +3926,7 @@ _mm_setr_epi32(int __i0, int __i1, int __i2, int __i3)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_setr_epi16(short __w0, short __w1, short __w2, short __w3, short __w4, short __w5, short __w6, short __w7)
|
||||
{
|
||||
return (__m128i)(__v8hi){ __w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7 };
|
||||
return _mm_set_epi16(__w0, __w1, __w2, __w3, __w4, __w5, __w6, __w7);
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit integer vector, initialized in reverse order
|
||||
|
@ -3973,7 +3973,7 @@ _mm_setr_epi16(short __w0, short __w1, short __w2, short __w3, short __w4, short
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_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)
|
||||
{
|
||||
return (__m128i)(__v16qi){ __b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15 };
|
||||
return _mm_set_epi8(__b0, __b1, __b2, __b3, __b4, __b5, __b6, __b7, __b8, __b9, __b10, __b11, __b12, __b13, __b14, __b15);
|
||||
}
|
||||
|
||||
/// Creates a 128-bit integer vector initialized to zero.
|
||||
|
@ -3987,7 +3987,7 @@ _mm_setr_epi8(char __b0, char __b1, char __b2, char __b3, char __b4, char __b5,
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_setzero_si128(void)
|
||||
{
|
||||
return (__m128i){ 0LL, 0LL };
|
||||
return __extension__ (__m128i)(__v2di){ 0LL, 0LL };
|
||||
}
|
||||
|
||||
/// Stores a 128-bit integer vector to a memory location aligned on a
|
||||
|
@ -4704,7 +4704,7 @@ _mm_movepi64_pi64(__m128i __a)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_movpi64_epi64(__m64 __a)
|
||||
{
|
||||
return (__m128i){ (long long)__a, 0 };
|
||||
return __extension__ (__m128i)(__v2di){ (long long)__a, 0 };
|
||||
}
|
||||
|
||||
/// Moves the lower 64 bits of a 128-bit integer vector to a 128-bit
|
||||
|
@ -4722,7 +4722,7 @@ _mm_movpi64_epi64(__m64 __a)
|
|||
static __inline__ __m128i __DEFAULT_FN_ATTRS
|
||||
_mm_move_epi64(__m128i __a)
|
||||
{
|
||||
return __builtin_shufflevector((__v2di)__a, (__m128i){ 0 }, 0, 2);
|
||||
return __builtin_shufflevector((__v2di)__a, _mm_setzero_si128(), 0, 2);
|
||||
}
|
||||
|
||||
/// Unpacks the high-order 64-bit elements from two 128-bit vectors of
|
||||
|
|
|
@ -1692,7 +1692,7 @@ _mm_load_ss(const float *__p)
|
|||
float __u;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
float __u = ((struct __mm_load_ss_struct*)__p)->__u;
|
||||
return (__m128){ __u, 0, 0, 0 };
|
||||
return __extension__ (__m128){ __u, 0, 0, 0 };
|
||||
}
|
||||
|
||||
/// Loads a 32-bit float value and duplicates it to all four vector
|
||||
|
@ -1714,7 +1714,7 @@ _mm_load1_ps(const float *__p)
|
|||
float __u;
|
||||
} __attribute__((__packed__, __may_alias__));
|
||||
float __u = ((struct __mm_load1_ps_struct*)__p)->__u;
|
||||
return (__m128){ __u, __u, __u, __u };
|
||||
return __extension__ (__m128){ __u, __u, __u, __u };
|
||||
}
|
||||
|
||||
#define _mm_load_ps1(p) _mm_load1_ps(p)
|
||||
|
@ -1806,7 +1806,7 @@ _mm_undefined_ps(void)
|
|||
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
||||
_mm_set_ss(float __w)
|
||||
{
|
||||
return (__m128){ __w, 0, 0, 0 };
|
||||
return __extension__ (__m128){ __w, 0, 0, 0 };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [4 x float], with each
|
||||
|
@ -1824,7 +1824,7 @@ _mm_set_ss(float __w)
|
|||
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
||||
_mm_set1_ps(float __w)
|
||||
{
|
||||
return (__m128){ __w, __w, __w, __w };
|
||||
return __extension__ (__m128){ __w, __w, __w, __w };
|
||||
}
|
||||
|
||||
/* Microsoft specific. */
|
||||
|
@ -1870,7 +1870,7 @@ _mm_set_ps1(float __w)
|
|||
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
||||
_mm_set_ps(float __z, float __y, float __x, float __w)
|
||||
{
|
||||
return (__m128){ __w, __x, __y, __z };
|
||||
return __extension__ (__m128){ __w, __x, __y, __z };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [4 x float],
|
||||
|
@ -1898,7 +1898,7 @@ _mm_set_ps(float __z, float __y, float __x, float __w)
|
|||
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
||||
_mm_setr_ps(float __z, float __y, float __x, float __w)
|
||||
{
|
||||
return (__m128){ __z, __y, __x, __w };
|
||||
return __extension__ (__m128){ __z, __y, __x, __w };
|
||||
}
|
||||
|
||||
/// Constructs a 128-bit floating-point vector of [4 x float] initialized
|
||||
|
@ -1913,7 +1913,7 @@ _mm_setr_ps(float __z, float __y, float __x, float __w)
|
|||
static __inline__ __m128 __DEFAULT_FN_ATTRS
|
||||
_mm_setzero_ps(void)
|
||||
{
|
||||
return (__m128){ 0, 0, 0, 0 };
|
||||
return __extension__ (__m128){ 0, 0, 0, 0 };
|
||||
}
|
||||
|
||||
/// Stores the upper 64 bits of a 128-bit vector of [4 x float] to a
|
||||
|
|
Loading…
Reference in New Issue