]> granicus.if.org Git - llvm/commit
[Intrinsic] Expand SMULFIX to MUL, MULH[US], or [US]MUL_LOHI on vector arguments
authorLeonard Chan <leonardchan@google.com>
Thu, 31 Jan 2019 19:15:37 +0000 (19:15 +0000)
committerLeonard Chan <leonardchan@google.com>
Thu, 31 Jan 2019 19:15:37 +0000 (19:15 +0000)
commitd68d001a2cb7cc77f60060adfa8135c621ae04f4
treed2c7425279928c46d626496c611e46b5c43fcf07
parent02272e2d7bfafd5445db016eb5209352fe504c95
[Intrinsic] Expand SMULFIX to MUL, MULH[US], or [US]MUL_LOHI on vector arguments

r zero scale SMULFIX, expand into MUL which produces better code for X86.

For vector arguments, expand into MUL if SMULFIX is provided with a zero scale.
Otherwise, expand into MULH[US] or [US]MUL_LOHI.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@352783 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
lib/CodeGen/SelectionDAG/TargetLowering.cpp
test/CodeGen/X86/smul_fix.ll