[PATCH] D42031: [X86] Legalize v32i1 without BWI via splitting to v16i1 rather than the default of promoting to v32i8.
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 17 00:55:20 PST 2018
craig.topper updated this revision to Diff 130104.
craig.topper added a comment.
Add diffs for more v32i1 shuffle test case. I haven't commited the current versions of the tests to the repo yet, but you can see the before and after here.
Looks like we still have a regression when we have a shuffle between a v32i8 icmp and a v32i8 select. We could add a DAG combine to detect sign extends of i1 shuffles or i1 shuffles of truncates and adjust the type to match instead of somewhat arbitrarily picking a type to extend due to during lowering.
https://reviews.llvm.org/D42031
Files:
lib/Target/X86/X86ISelLowering.cpp
lib/Target/X86/X86ISelLowering.h
test/CodeGen/X86/avg-mask.ll
test/CodeGen/X86/avx512-insert-extract.ll
test/CodeGen/X86/avx512-mask-op.ll
test/CodeGen/X86/avx512-masked-memop-64-32.ll
test/CodeGen/X86/avx512-vec-cmp.ll
test/CodeGen/X86/avx512vl-vec-masked-cmp.ll
test/CodeGen/X86/bitcast-and-setcc-256.ll
test/CodeGen/X86/bitcast-and-setcc-512.ll
test/CodeGen/X86/bitcast-int-to-vector-bool-zext.ll
test/CodeGen/X86/bitcast-setcc-256.ll
test/CodeGen/X86/bitcast-setcc-512.ll
test/CodeGen/X86/vector-compare-results.ll
test/CodeGen/X86/vector-shuffle-v1.ll
More information about the llvm-commits
mailing list