[InstCombine] (lshr X, 31) * Y --> (ashr X, 31) & Y

This replaces the bit-tracking based fold that did the same thing,
but it only worked for scalars and not directly. 

There is no evidence in existing regression tests that the greater 
power of bit-tracking was needed here, but we should be aware of 
this potential loss of optimization.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@325062 91177308-0d34-0410-b5e6-96231b3b80d8
2 files changed