OSDN Git Service

[X86] truncateVectorCompareWithPACKSS - use PACKSSDW/PACKSSWB instead of just PACKSSWB.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 24 Oct 2017 15:38:16 +0000 (15:38 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Tue, 24 Oct 2017 15:38:16 +0000 (15:38 +0000)
commit63054166c136a8ec29951006c5703d513255ebfe
treee7ff6f8ceecfc1dfcf3bc0c9d16728007e696733
parentc966bbfe39e630e0bab6e185332eec755322e094
[X86] truncateVectorCompareWithPACKSS - use PACKSSDW/PACKSSWB instead of just PACKSSWB.

By using the widest type possible for PACKSS truncation we have a better chance of being able to peek through bitcasts and improves other combines driven by ComputeNumSignBits.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316448 91177308-0d34-0410-b5e6-96231b3b80d8
13 files changed:
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/bitcast-and-setcc-256.ll
test/CodeGen/X86/bitcast-and-setcc-512.ll
test/CodeGen/X86/bitcast-setcc-256.ll
test/CodeGen/X86/bitcast-setcc-512.ll
test/CodeGen/X86/packss.ll
test/CodeGen/X86/psubus.ll
test/CodeGen/X86/setcc-lowering.ll
test/CodeGen/X86/sse-fsignum.ll
test/CodeGen/X86/vector-compare-all_of.ll
test/CodeGen/X86/vector-compare-any_of.ll
test/CodeGen/X86/vector-compare-results.ll
test/CodeGen/X86/vselect-packss.ll