From cca75d24069efb69b10742c1663cbc03bdd0a9a5 Mon Sep 17 00:00:00 2001 From: Aditya Nandakumar Date: Tue, 27 Jun 2017 22:19:32 +0000 Subject: [GISel]: Add G_FEXP, G_FEXP2 opcodes Also add IRTranslator support. https://reviews.llvm.org/D34710 llvm-svn: 306475 --- llvm/include/llvm/Target/GenericOpcodes.td | 13 +++++++++++++ llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td | 1 + llvm/include/llvm/Target/TargetOpcodes.def | 6 ++++++ 3 files changed, 20 insertions(+) (limited to 'llvm/include') diff --git a/llvm/include/llvm/Target/GenericOpcodes.td b/llvm/include/llvm/Target/GenericOpcodes.td index 9593d8bd7ed..53055541a4a 100644 --- a/llvm/include/llvm/Target/GenericOpcodes.td +++ b/llvm/include/llvm/Target/GenericOpcodes.td @@ -416,6 +416,19 @@ def G_FPOW : Instruction { let hasSideEffects = 0; } +// Floating point base-e exponential of a value. +def G_FEXP : Instruction { + let OutOperandList = (outs type0:$dst); + let InOperandList = (ins type0:$src1); + let hasSideEffects = 0; +} + +// Floating point base-2 exponential of a value. +def G_FEXP2 : Instruction { + let OutOperandList = (outs type0:$dst); + let InOperandList = (ins type0:$src1); + let hasSideEffects = 0; +} //------------------------------------------------------------------------------ // Memory ops //------------------------------------------------------------------------------ diff --git a/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td b/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td index a06c67fe814..166e7488125 100644 --- a/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td +++ b/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td @@ -62,6 +62,7 @@ def : GINodeEquiv; def : GINodeEquiv; def : GINodeEquiv; def : GINodeEquiv; +def : GINodeEquiv; def : GINodeEquiv; // Specifies the GlobalISel equivalents for SelectionDAG's ComplexPattern. diff --git a/llvm/include/llvm/Target/TargetOpcodes.def b/llvm/include/llvm/Target/TargetOpcodes.def index 836b11cf89c..2fc0421f5df 100644 --- a/llvm/include/llvm/Target/TargetOpcodes.def +++ b/llvm/include/llvm/Target/TargetOpcodes.def @@ -369,6 +369,12 @@ HANDLE_TARGET_OPCODE(G_FREM) /// Generic FP exponentiation. HANDLE_TARGET_OPCODE(G_FPOW) +/// Generic base-e exponential of a value. +HANDLE_TARGET_OPCODE(G_FEXP) + +/// Generic base-2 exponential of a value. +HANDLE_TARGET_OPCODE(G_FEXP2) + /// Generic FP negation. HANDLE_TARGET_OPCODE(G_FNEG) -- cgit v1.2.3