[llvm] r199746 - [NVPTX] Add missing patterns for div.approx with immediate denominator
Justin Holewinski
jholewinski at nvidia.com
Tue Jan 21 06:40:05 PST 2014
Author: jholewinski
Date: Tue Jan 21 08:40:05 2014
New Revision: 199746
URL: http://llvm.org/viewvc/llvm-project?rev=199746&view=rev
Log:
[NVPTX] Add missing patterns for div.approx with immediate denominator
Added:
llvm/trunk/test/CodeGen/NVPTX/div-ri.ll
Modified:
llvm/trunk/lib/Target/NVPTX/NVPTXInstrInfo.td
Modified: llvm/trunk/lib/Target/NVPTX/NVPTXInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/NVPTX/NVPTXInstrInfo.td?rev=199746&r1=199745&r2=199746&view=diff
==============================================================================
--- llvm/trunk/lib/Target/NVPTX/NVPTXInstrInfo.td (original)
+++ llvm/trunk/lib/Target/NVPTX/NVPTXInstrInfo.td Tue Jan 21 08:40:05 2014
@@ -689,12 +689,24 @@ def FDIV32approxrr_ftz : NVPTXInst<(outs
[(set Float32Regs:$dst,
(fdiv Float32Regs:$a, Float32Regs:$b))]>,
Requires<[do_DIVF32_APPROX, doF32FTZ]>;
+def FDIV32approxri_ftz : NVPTXInst<(outs Float32Regs:$dst),
+ (ins Float32Regs:$a, f32imm:$b),
+ "div.approx.ftz.f32 \t$dst, $a, $b;",
+ [(set Float32Regs:$dst,
+ (fdiv Float32Regs:$a, fpimm:$b))]>,
+ Requires<[do_DIVF32_APPROX, doF32FTZ]>;
def FDIV32approxrr : NVPTXInst<(outs Float32Regs:$dst),
(ins Float32Regs:$a, Float32Regs:$b),
"div.approx.f32 \t$dst, $a, $b;",
[(set Float32Regs:$dst,
(fdiv Float32Regs:$a, Float32Regs:$b))]>,
Requires<[do_DIVF32_APPROX]>;
+def FDIV32approxri : NVPTXInst<(outs Float32Regs:$dst),
+ (ins Float32Regs:$a, f32imm:$b),
+ "div.approx.f32 \t$dst, $a, $b;",
+ [(set Float32Regs:$dst,
+ (fdiv Float32Regs:$a, fpimm:$b))]>,
+ Requires<[do_DIVF32_APPROX]>;
//
// F32 Semi-accurate reciprocal
//
Added: llvm/trunk/test/CodeGen/NVPTX/div-ri.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/NVPTX/div-ri.ll?rev=199746&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/NVPTX/div-ri.ll (added)
+++ llvm/trunk/test/CodeGen/NVPTX/div-ri.ll Tue Jan 21 08:40:05 2014
@@ -0,0 +1,8 @@
+; RUN: llc < %s -march=nvptx -mcpu=sm_20 -nvptx-prec-divf32=0 | FileCheck %s
+
+define float @foo(float %a) {
+; CHECK: div.approx.f32
+ %div = fdiv float %a, 13.0
+ ret float %div
+}
+
More information about the llvm-commits
mailing list