mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-04 23:32:00 +00:00
[NVPTX] Add missing patterns for div.approx with immediate denominator
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199746 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
dc5734786a
commit
c93ed1707a
@ -689,12 +689,24 @@ def FDIV32approxrr_ftz : NVPTXInst<(outs Float32Regs:$dst),
|
||||
[(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
|
||||
//
|
||||
|
8
test/CodeGen/NVPTX/div-ri.ll
Normal file
8
test/CodeGen/NVPTX/div-ri.ll
Normal file
@ -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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user