[PATCH] D49837: [SelectionDAG][X86] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect.

Ivan Kulagin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Jul 26 00:40:07 PDT 2018


ikulagin created this revision.
ikulagin added reviewers: spatel, craig.topper, kparzysz, RKSimon, bogner.
Herald added a subscriber: llvm-commits.

[SelectionDAG][X86] Handle unary SelectPatternFlavor for ABS case in SelectionDAGBuilder::visitSelect.

These changes are related to PR37743 and include:

1. SelectionDAGBuilder::visitSelect handles the unary SelectPatternFlavor::SPF_ABS case to build ABS node.
2. Expand-based  legalization of integer result for the ABS nodes.
3. Expand-based legalization of ABS vector operations.
4. [X86] Changing the SAD pattern recognizer to support patterns with ABS nodes.

SPF_NABS has not been handled yet, since there is no NABS DAG type. Is it correct to handle such case as (SUB 0, (ABS X))?

For discussion, see  https://bugs.llvm.org/show_bug.cgi?id=37743


Repository:
  rL LLVM

https://reviews.llvm.org/D49837

Files:
  lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
  lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  lib/CodeGen/SelectionDAG/LegalizeTypes.h
  lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  lib/Target/X86/X86ISelLowering.cpp
  test/CodeGen/X86/combine-abs.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D49837.157427.patch
Type: text/x-patch
Size: 13474 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180726/65ccea3e/attachment.bin>


More information about the llvm-commits mailing list