summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorPengfei Wang <pengfei.wang@intel.com>2019-08-29 06:18:34 +0000
committerPengfei Wang <pengfei.wang@intel.com>2019-08-29 06:18:34 +0000
commitcaac097fbf4e0883a675feb2ee38407def08b5a6 (patch)
tree101ecff5d8a8bd009e4a6c735c7af1a5e0db8666 /clang/lib
parent231e628d6902df075a60fe3e199c3425a26d2ef4 (diff)
downloadbcm5719-llvm-caac097fbf4e0883a675feb2ee38407def08b5a6.tar.gz
bcm5719-llvm-caac097fbf4e0883a675feb2ee38407def08b5a6.zip
[x86] Adding support for some missing intrinsics: _mm512_cvtsi512_si32
Summary: Adding support for some missing intrinsics: _mm512_cvtsi512_si32 Reviewers: craig.topper, pengfei, LuoYuanke, spatel, RKSimon Reviewed By: craig.topper Subscribers: llvm-commits Patch by Bing Yu (yubing) Differential Revision: https://reviews.llvm.org/D66785 llvm-svn: 370297
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Headers/avx512fintrin.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/lib/Headers/avx512fintrin.h b/clang/lib/Headers/avx512fintrin.h
index 132761f9ef5..5748c1ea6e5 100644
--- a/clang/lib/Headers/avx512fintrin.h
+++ b/clang/lib/Headers/avx512fintrin.h
@@ -9659,6 +9659,23 @@ _mm512_mask_reduce_min_ps(__mmask16 __M, __m512 __V) {
}
#undef _mm512_mask_reduce_operator
+/// Moves the least significant 32 bits of a vector of [16 x i32] to a
+/// 32-bit signed integer value.
+///
+/// \headerfile <x86intrin.h>
+///
+/// This intrinsic corresponds to the <c> VMOVD / MOVD </c> instruction.
+///
+/// \param __A
+/// A vector of [16 x i32]. The least significant 32 bits are moved to the
+/// destination.
+/// \returns A 32-bit signed integer containing the moved value.
+static __inline__ int __DEFAULT_FN_ATTRS512
+_mm512_cvtsi512_si32(__m512i __A) {
+ __v16si __b = (__v16si)__A;
+ return __b[0];
+}
+
#undef __DEFAULT_FN_ATTRS512
#undef __DEFAULT_FN_ATTRS128
#undef __DEFAULT_FN_ATTRS
OpenPOWER on IntegriCloud