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 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits