[X86] Add vector shift by immediate to SimplifyDemandedBitsForTargetNode.
authorCraig Topper <craig.topper@intel.com>
Sun, 4 Nov 2018 17:31:27 +0000 (17:31 +0000)
committerCraig Topper <craig.topper@intel.com>
Sun, 4 Nov 2018 17:31:27 +0000 (17:31 +0000)
commited6a0a817ffdd4078c25336b473094c60f98b509
treef6e8317f37c658fe38f86a431d85dc9ab7aa5cbf
parentbc5c3f57277f8851c95ebc95d7fe203c8480c99c
[X86] Add vector shift by immediate to SimplifyDemandedBitsForTargetNode.

Summary: This also enables some constant folding from KnownBits propagation. This helps on some cases vXi64 case in 32-bit mode where constant vectors appear as vXi32 and a bitcast. This can prevent getNode from constant folding sra/shl/srl.

Reviewers: RKSimon, spatel

Reviewed By: spatel

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D54069

llvm-svn: 346102
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/combine-srl.ll
llvm/test/CodeGen/X86/combine-udiv.ll
llvm/test/CodeGen/X86/known-signbits-vector.ll
llvm/test/CodeGen/X86/pr35918.ll
llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
llvm/test/CodeGen/X86/vector-trunc-usat.ll