r214316 - [AVX512] Add intrinsic for knot
Adam Nemet
anemet at apple.com
Wed Jul 30 09:51:27 PDT 2014
Author: anemet
Date: Wed Jul 30 11:51:27 2014
New Revision: 214316
URL: http://llvm.org/viewvc/llvm-project?rev=214316&view=rev
Log:
[AVX512] Add intrinsic for knot
Part of <rdar://problem/17688758>
Modified:
cfe/trunk/include/clang/Basic/BuiltinsX86.def
cfe/trunk/lib/Headers/avx512fintrin.h
cfe/trunk/test/CodeGen/avx512f-builtins.c
Modified: cfe/trunk/include/clang/Basic/BuiltinsX86.def
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/BuiltinsX86.def?rev=214316&r1=214315&r2=214316&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/BuiltinsX86.def (original)
+++ cfe/trunk/include/clang/Basic/BuiltinsX86.def Wed Jul 30 11:51:27 2014
@@ -862,5 +862,6 @@ BUILTIN(__builtin_ia32_scatterpfdpd, "vU
BUILTIN(__builtin_ia32_scatterpfdps, "vUsV16iv*CiCi", "")
BUILTIN(__builtin_ia32_scatterpfqpd, "vUcV8LLiv*CiCi", "")
BUILTIN(__builtin_ia32_scatterpfqps, "vUcV8LLiv*CiCi", "")
+BUILTIN(__builtin_ia32_knothi, "UsUs", "")
#undef BUILTIN
Modified: cfe/trunk/lib/Headers/avx512fintrin.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Headers/avx512fintrin.h?rev=214316&r1=214315&r2=214316&view=diff
==============================================================================
--- cfe/trunk/lib/Headers/avx512fintrin.h (original)
+++ cfe/trunk/lib/Headers/avx512fintrin.h Wed Jul 30 11:51:27 2014
@@ -844,4 +844,12 @@ _mm512_store_pd(void *__P, __m512d __A)
*(__m512d*)__P = __A;
}
+/* Mask ops */
+
+static __inline __mmask16 __attribute__ ((__always_inline__, __nodebug__))
+_mm512_knot(__mmask16 __M)
+{
+ return __builtin_ia32_knothi(__M);
+}
+
#endif // __AVX512FINTRIN_H
Modified: cfe/trunk/test/CodeGen/avx512f-builtins.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512f-builtins.c?rev=214316&r1=214315&r2=214316&view=diff
==============================================================================
--- cfe/trunk/test/CodeGen/avx512f-builtins.c (original)
+++ cfe/trunk/test/CodeGen/avx512f-builtins.c Wed Jul 30 11:51:27 2014
@@ -109,3 +109,10 @@ __m512d test_mm512_castpd256_pd512(__m25
// CHECK: shufflevector <4 x double> {{.*}} <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
return _mm512_castpd256_pd512(a);
}
+
+__mmask16 test_mm512_knot(__mmask16 a)
+{
+ // CHECK-LABEL: @test_mm512_knot
+ // CHECK: @llvm.x86.avx512.knot.w
+ return _mm512_knot(a);
+}
More information about the cfe-commits
mailing list