summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorMichael Zuckerman <Michael.zuckerman@intel.com>2016-05-19 12:07:49 +0000
committerMichael Zuckerman <Michael.zuckerman@intel.com>2016-05-19 12:07:49 +0000
commit178113e8cc70c7339178ffa3e429a179d43e4f7a (patch)
tree4ccccae9b79af776dedd073c9e9eeb56b27960c0 /clang/lib
parent47825fad714501ac531b4f8a1d63ae77dedf7e82 (diff)
downloadbcm5719-llvm-178113e8cc70c7339178ffa3e429a179d43e4f7a.tar.gz
bcm5719-llvm-178113e8cc70c7339178ffa3e429a179d43e4f7a.zip
[Clang][AVX512][intrinsics] continue completing missing set intrinsics
Differential Revision: http://reviews.llvm.org/D20160 llvm-svn: 270047
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Headers/avx512fintrin.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/lib/Headers/avx512fintrin.h b/clang/lib/Headers/avx512fintrin.h
index 54dc534f552..b97308ffced 100644
--- a/clang/lib/Headers/avx512fintrin.h
+++ b/clang/lib/Headers/avx512fintrin.h
@@ -8983,6 +8983,21 @@ _mm512_mask_set1_epi64 (__m512i __O, __mmask8 __M, long long __A)
__M);
}
+static __inline __m512i __DEFAULT_FN_ATTRS
+_mm512_set_epi32 (int __A, int __B, int __C, int __D,
+ int __E, int __F, int __G, int __H,
+ int __I, int __J, int __K, int __L,
+ int __M, int __N, int __O, int __P)
+{
+ return __extension__ (__m512i)(__v16si)
+ { __P, __O, __N, __M, __L, __K, __J, __I,
+ __H, __G, __F, __E, __D, __C, __B, __A };
+}
+
+#define _mm512_setr_epi32(e0,e1,e2,e3,e4,e5,e6,e7, \
+ e8,e9,e10,e11,e12,e13,e14,e15) \
+ _mm512_set_epi32(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0)
+
static __inline__ __m512i __DEFAULT_FN_ATTRS
_mm512_set_epi64 (long long __A, long long __B, long long __C,
long long __D, long long __E, long long __F,
@@ -8992,6 +9007,9 @@ _mm512_set_epi64 (long long __A, long long __B, long long __C,
{ __H, __G, __F, __E, __D, __C, __B, __A };
}
+#define _mm512_setr_epi64(e0,e1,e2,e3,e4,e5,e6,e7) \
+ _mm512_set_epi64(e7,e6,e5,e4,e3,e2,e1,e0)
+
static __inline__ __m512d __DEFAULT_FN_ATTRS
_mm512_set_pd (double __A, double __B, double __C, double __D,
double __E, double __F, double __G, double __H)
@@ -9000,6 +9018,9 @@ _mm512_set_pd (double __A, double __B, double __C, double __D,
{ __H, __G, __F, __E, __D, __C, __B, __A };
}
+#define _mm512_setr_pd(e0,e1,e2,e3,e4,e5,e6,e7) \
+ _mm512_set_pd(e7,e6,e5,e4,e3,e2,e1,e0)
+
static __inline__ __m512 __DEFAULT_FN_ATTRS
_mm512_set_ps (float __A, float __B, float __C, float __D,
float __E, float __F, float __G, float __H,
@@ -9011,6 +9032,9 @@ _mm512_set_ps (float __A, float __B, float __C, float __D,
__H, __G, __F, __E, __D, __C, __B, __A };
}
+#define _mm512_setr_ps(e0,e1,e2,e3,e4,e5,e6,e7,e8,e9,e10,e11,e12,e13,e14,e15) \
+ _mm512_set_ps(e15,e14,e13,e12,e11,e10,e9,e8,e7,e6,e5,e4,e3,e2,e1,e0)
+
#undef __DEFAULT_FN_ATTRS
#endif // __AVX512FINTRIN_H
OpenPOWER on IntegriCloud