[PATCH] D21505: [Clang][AVX512][Intrinsics]Adding intrinsics for mov{ss|sd} instruction set

Elena Demikhovsky via cfe-commits cfe-commits at lists.llvm.org
Mon Sep 5 06:44:34 PDT 2016


delena added inline comments.

================
Comment at: lib/Headers/avx512fintrin.h:9337
@@ +9336,3 @@
+{
+  return (__m128) _mm_move_ss( __A, __builtin_ia32_selectps_128 ((__mmask8) __U,
+                                                                 (__v4sf) __B,
----------------
selectps should not be used here. It complicates IR.
You can write the following:
res = __A;
res[0] = (__U&1)? __B[0]:__W[0];

================
Comment at: test/CodeGen/avx512f-builtins.c:393
@@ +392,3 @@
+  // CHECK: select <4 x i1> {{.*}}, <4 x float> {{.*}}, <4 x float> {{.*}}
+  // CHECK: load <4 x float>, <4 x float>* {{.*}}
+  return _mm_mask_load_ss ( __W,  __U,  __A);
----------------
you should not see any "load" here.


https://reviews.llvm.org/D21505





More information about the cfe-commits mailing list