GlobalISel: IRTranslate llvm.fabs.* intrinsic
authorVolkan Keles <vkeles@apple.com>
Mon, 5 Mar 2018 22:31:55 +0000 (22:31 +0000)
committerVolkan Keles <vkeles@apple.com>
Mon, 5 Mar 2018 22:31:55 +0000 (22:31 +0000)
commit2bc42e90ed147c45a1f0c74b61bb9f6176dbb9ef
tree11cda8054bf6a22e9ef55ff4aa0f428aa1cc2b5d
parent82daad31fea78a9c75fcbbe79ce7070e642640d0
GlobalISel: IRTranslate llvm.fabs.* intrinsic

Summary:
Fabs is a common floating-point operation, especially for some expansions. This patch adds
a new generic opcode for llvm.fabs.* intrinsic in order to avoid building/matching this intrinsic.

Reviewers: qcolombet, aditya_nandakumar, dsanders, rovka

Reviewed By: aditya_nandakumar

Subscribers: kristof.beyls, javed.absar, llvm-commits

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

llvm-svn: 326749
llvm/include/llvm/CodeGen/GlobalISel/MIPatternMatch.h
llvm/include/llvm/CodeGen/TargetOpcodes.def
llvm/include/llvm/Target/GenericOpcodes.td
llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
llvm/test/CodeGen/AArch64/GlobalISel/arm64-irtranslator.ll
llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp