]> granicus.if.org Git - llvm/commit
[DAGCombiner] Add simple folds for SMULFIX/UMULFIX/SMULFIXSAT
authorBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Fri, 16 Aug 2019 13:16:48 +0000 (13:16 +0000)
committerBjorn Pettersson <bjorn.a.pettersson@ericsson.com>
Fri, 16 Aug 2019 13:16:48 +0000 (13:16 +0000)
commit82ac5f46ffecde01be758eaaada2cb0b9bfd3a4e
tree54eea8d32c0421149f23a2dc5b87dcbec9c89552
parentbee496346809e994086d1787398781b39ad641f3
[DAGCombiner] Add simple folds for SMULFIX/UMULFIX/SMULFIXSAT

Summary:
Add the following DAGCombiner folds for mulfix being
one of SMULFIX/UMULFIX/SMULFIXSAT:
  (mulfix x, undef, scale) -> 0
  (mulfix x, 0, scale) -> 0

Also added canonicalization of constants to RHS.

Reviewers: RKSimon, craig.topper, spatel

Reviewed By: RKSimon

Subscribers: hiraditya, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369103 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/SelectionDAG/DAGCombiner.cpp
test/CodeGen/X86/mulfix_combine.ll
test/CodeGen/X86/vector-mulfix-legalize.ll