[PATCH] D18446: [Clang][avx512][Builtin] Adding Builtin to clang.

Asaf Badouh via llvm-commits llvm-commits at lists.llvm.org
Sun Apr 3 08:53:22 PDT 2016


AsafBadouh added inline comments.

================
Comment at: include/clang/Basic/BuiltinsX86.def:1758
@@ +1757,3 @@
+TARGET_BUILTIN(__builtin_ia32_storedquqi512_mask, "vV64c*V64cULLi","","avx512f")
+TARGET_BUILTIN(__builtin_ia32_rangesd128_round_mask, "V2dV2dV2dV2dUciIi","","avx512dq")
+TARGET_BUILTIN(__builtin_ia32_rangess128_round_mask, "V4fV4fV4fV4fUciIi","","avx512dq")
----------------
missing implementation and tests for all "avx512dq"

================
Comment at: include/clang/Basic/BuiltinsX86.def:1784
@@ +1783,3 @@
+TARGET_BUILTIN(__builtin_ia32_punpcklqdq512_mask, "V8LLiV8LLiV8LLiV8LLiUc","","avx512f")
+TARGET_BUILTIN(__builtin_ia32_rcp14sd, "V2dV2dV2d","","")
+TARGET_BUILTIN(__builtin_ia32_rcp14ss, "V4fV4fV4f","","")
----------------
missing feature flags

================
Comment at: include/clang/Basic/BuiltinsX86.def:1788
@@ +1787,3 @@
+TARGET_BUILTIN(__builtin_ia32_rndscaless_round_mask, "V4fV4fV4fV4fUcIiIi","","")
+TARGET_BUILTIN(__builtin_ia32_rsqrt14sd, "V2dV2dV2d","","")
+TARGET_BUILTIN(__builtin_ia32_rsqrt14ss, "V4fV4fV4f","","")
----------------
missing implementation

================
Comment at: include/clang/Basic/BuiltinsX86.def:1792
@@ +1791,3 @@
+TARGET_BUILTIN(__builtin_ia32_scalefps512_mask, "V16fV16fV16fV16fUsIi","","avx512f")
+TARGET_BUILTIN(__builtin_ia32_scalefsd_round_mask, "V2dV2dV2dV2dUcIi","","")
+TARGET_BUILTIN(__builtin_ia32_scalefss_round_mask, "V4fV4fV4fV4fUcIi","","")
----------------
missing feature flags

================
Comment at: include/clang/Basic/BuiltinsX86.def:1800
@@ +1799,3 @@
+TARGET_BUILTIN(__builtin_ia32_shufps512_mask, "V16fV16fV16fIiV16fUs","","avx512f")
+TARGET_BUILTIN(__builtin_ia32_sqrtsd_round_mask, "V2dV2dV2dV2dUcIi","","")
+TARGET_BUILTIN(__builtin_ia32_sqrtss_round_mask, "V4fV4fV4fV4fUcIi","","")
----------------
missing feature flags

================
Comment at: lib/Headers/avx512fintrin.h:4344
@@ +4343,3 @@
+
+#define _mm_roundscale_round_sd( __A, __B, __imm, __R) __extension__ ({ \
+__builtin_ia32_rndscalesd_round_mask ((__v2df)( __A),\
----------------
mask|z versions are missing for "roundscale_[round]_{sd|ss}"

================
Comment at: lib/Headers/avx512fintrin.h:4359
@@ +4358,3 @@
+__builtin_ia32_rndscaless_round_mask ((__v4sf)( __A),\
+               (__v4sf)( __B),  (__v2df) _mm_setzero_ps(),\
+                (__mmask8) -1, __imm, __R);\
----------------
(__v2df) _mm_setzero_ps()
--->
(__v4sf) _mm_setzero_ps(),

================
Comment at: lib/Headers/avx512fintrin.h:4365
@@ +4364,3 @@
+__builtin_ia32_rndscaless_round_mask ((__v4sf)( __A),\
+               (__v4sf)( __B), (__v2df) _mm_setzero_ps(),\
+                (__mmask8) -1, ( __imm),\
----------------
(__v2df) _mm_setzero_ps()
--->
(__v4sf) _mm_setzero_ps(),

================
Comment at: test/CodeGen/avx512f-builtins.c:2417
@@ +2416,3 @@
+  // CHECK-LABEL: @test_mm512_sllv_epi32
+  // CHECK: @llvm.x86.avx512.mask.psllv
+  return _mm512_sllv_epi32(__X, __Y); 
----------------
It should it be @llvm.x86.avx512.mask.psllv.d

================
Comment at: test/CodeGen/avx512f-builtins.c:2435
@@ +2434,3 @@
+  // CHECK-LABEL: @test_mm512_sllv_epi64
+  // CHECK: @llvm.x86.avx512.mask.psllv
+  return _mm512_sllv_epi64(__X, __Y); 
----------------
same here, @llvm.x86.avx512.mask.psllv.q

================
Comment at: test/CodeGen/avx512f-builtins.c:2489
@@ +2488,3 @@
+  // CHECK-LABEL: @test_mm512_srav_epi32
+  // CHECK: @llvm.x86.avx512.mask.psrav
+  return _mm512_srav_epi32(__X, __Y); 
----------------
.mask.psrav.d

================
Comment at: test/CodeGen/avx512f-builtins.c:2513
@@ +2512,3 @@
+  // CHECK-LABEL: @test_mm512_mask_srav_epi64
+  // CHECK: @llvm.x86.avx512.mask.psrav
+  return _mm512_mask_srav_epi64(__W, __U, __X, __Y); 
----------------
.mask.psrav.q

================
Comment at: test/CodeGen/avx512f-builtins.c:2561
@@ +2560,3 @@
+  // CHECK-LABEL: @test_mm512_srlv_epi32
+  // CHECK: @llvm.x86.avx512.mask.psrlv
+  return _mm512_srlv_epi32(__X, __Y); 
----------------
// CHECK: @llvm.x86.avx512.mask.psrlv.d

================
Comment at: test/CodeGen/avx512f-builtins.c:2579
@@ +2578,3 @@
+  // CHECK-LABEL: @test_mm512_srlv_epi64
+  // CHECK: @llvm.x86.avx512.mask.psrlv
+  return _mm512_srlv_epi64(__X, __Y); 
----------------
// CHECK: @llvm.x86.avx512.mask.psrlv.q


http://reviews.llvm.org/D18446





More information about the llvm-commits mailing list