Optimized integer vector multiplication operation by replacing it with shift/xor...
authorElena Demikhovsky <elena.demikhovsky@intel.com>
Wed, 26 Jun 2013 10:55:03 +0000 (10:55 +0000)
committerElena Demikhovsky <elena.demikhovsky@intel.com>
Wed, 26 Jun 2013 10:55:03 +0000 (10:55 +0000)
commit87070fe1073b1e95748d987af0810d02aac43603
tree29608b26070b26a78bd0a59f77b096fa30556407
parentd4429214a2dffcfd8f97956ac8b1a67c4795d242
Optimized integer vector multiplication operation by replacing it with shift/xor/sub when it is possible. Fixed a bug in SDIV, where the const operand is not a splat constant vector.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184931 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/X86/avx-shift.ll
test/CodeGen/X86/avx2-arith.ll
test/CodeGen/X86/vec_sdiv_to_shift.ll
test/CodeGen/X86/widen_arith-4.ll
test/CodeGen/X86/widen_arith-5.ll