AVX512: Change store size of kmask. Store size of v8i1, v4i1 , v2i1 and i1 are changed to 16 bits.
If KMOVB not supported (require AVX512DQ) only KMOVW can be used so store size should be 2 bytes.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/X86/X86ISelLowering.cpp | ||
---|---|---|
11979 ↗ | (On Diff #47636) | Test already exist in avx512-insert-extract.ll , KNL and SKL are tested. define i64 @test12(<16 x i64>%a, <16 x i64>%b, i64 %a1, i64 %b1) { %cmpvector_func.i = icmp slt <16 x i64> %a, %b %extract24vector_func.i = extractelement <16 x i1> %cmpvector_func.i, i32 0 %res = select i1 %extract24vector_func.i, i64 %a1, i64 %b1 ret i64 %res } define i64 @test14(<8 x i64>%a, <8 x i64>%b, i64 %a1, i64 %b1) { %cmpvector_func.i = icmp slt <8 x i64> %a, %b %extract24vector_func.i = extractelement <8 x i1> %cmpvector_func.i, i32 4 %res = select i1 %extract24vector_func.i, i64 %a1, i64 %b1 ret i64 %res } |