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)
commit6769c50d9ebe0cc7a89c044d32a5b62c70a8e4d9
tree209211da0ff2b2a037c87eab7c808bc6ef29e6fc
parent8e85e6a919a6443cbf1b2b9f6d759ee3d7b48021
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.

llvm-svn: 184931
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/test/CodeGen/X86/avx-shift.ll
llvm/test/CodeGen/X86/avx2-arith.ll
llvm/test/CodeGen/X86/vec_sdiv_to_shift.ll
llvm/test/CodeGen/X86/widen_arith-4.ll
llvm/test/CodeGen/X86/widen_arith-5.ll