[PATCH] D38672: [X86][AVX512] lowering shuffle f/i intrinsic - clang part
Lama via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 7 07:38:56 PST 2017
lsaba added inline comments.
================
Comment at: lib/Headers/avx512fintrin.h:7207
+ 3 + ((((imm) >> 2) & 0x3) * 4), \
+ 8 + ((((imm) >> 4) & 0x3) * 4), \
+ 9 + ((((imm) >> 4) & 0x3) * 4), \
----------------
This should start at 16 in order to get to B
================
Comment at: lib/Headers/avx512fintrin.h:7213
+ 9 + ((((imm) >> 6) & 0x3) * 4), \
+ 10 + ((((imm) >> 4) & 0x3) * 4), \
+ 11 + ((((imm) >> 4) & 0x3) * 4)); })
----------------
this should be >>6?
================
Comment at: test/CodeGen/avx512f-builtins.c:4491
// CHECK-LABEL: @test_mm512_shuffle_f32x4
- // CHECK: @llvm.x86.avx512.mask.shuf.f32x4
+ // CHECK: shufflevector <16 x float> %{{.*}}, <16 x float> %{{.*}}, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 8, i32 9, i32 10, i32 11>
return _mm512_shuffle_f32x4(__A, __B, 4);
----------------
expected to be
shufflevector <16 x float> %{{.*}}, <16 x float> %{{.*}}, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 16, i32 17, i32 18, i32 19, i32 16, i32 17, i32 18, i32 19>
See comment on
#define _mm512_shuffle_f32x4(A, B, imm) __extension__ ({
================
Comment at: test/CodeGen/avx512f-builtins.c:4496
__m512 test_mm512_mask_shuffle_f32x4(__m512 __W, __mmask16 __U, __m512 __A, __m512 __B) {
// CHECK-LABEL: @test_mm512_mask_shuffle_f32x4
+ // CHECK: shufflevector <16 x float> %{{.*}}, <16 x float> %{{.*}}, <16 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 8, i32 9, i32 10, i32 11>
----------------
Same comment as above
https://reviews.llvm.org/D38672
More information about the cfe-commits
mailing list