[PATCH] D29690: [AVX512] Fix EXTRACT_VECTOR_ELT for v2i1/v4i1/v32i1/v64i1 with variable index.
Igor Breger via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 7 15:17:00 PST 2017
igorb created this revision.
Enable EXTRACT_VECTOR_ELT for v2i1/v4i1/v32i1/v64i1 with variable index.
Handle all possible cases for EXTRACT_VECTOR_ELT with variable index .Use BUILD_VECTOR to create VPERMV indexes instead special node VINSERT , all necessary logic exist in BUILD_VECTOR lowering.
Fix Bug 31731 <https://llvm.org/bugs/show_bug.cgi?id=31731>
In this patch i disable one of the tests (new test) , it fail (as trunk ) on KNL with not related to this path error .
define zeroext i8 @test_extractelement_varible_v64i1(<64 x i8> %a, <64 x i8> %b, i32 %index) {
; %t1 = icmp ugt <64 x i8> %a, %b
; %t2 = extractelement <64 x i1> %t1, i32 %index
; %res = zext i1 %t2 to i8
; ret i8 %res
;}
Repository:
rL LLVM
https://reviews.llvm.org/D29690
Files:
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
lib/Target/X86/X86InstrAVX512.td
lib/Target/X86/X86InstrFragmentsSIMD.td
lib/Target/X86/X86InstrSSE.td
test/CodeGen/X86/avx512-insert-extract.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29690.87532.patch
Type: text/x-patch
Size: 31912 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170207/ca23ca1d/attachment-0001.bin>
More information about the llvm-commits
mailing list