mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-26 23:29:22 +00:00
We now consider the FPOpFusion flag when determining whether to fuse ops. We also explicitly emit add.rn when fusion is disabled to prevent ptxas from fusing the operations on its own. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213287 91177308-0d34-0410-b5e6-96231b3b80d8
18 lines
529 B
LLVM
18 lines
529 B
LLVM
; RUN: llc < %s -march=nvptx -mcpu=sm_20 -fp-contract=fast | FileCheck %s
|
|
|
|
define ptx_device float @t1_f32(float %x, float %y, float %z) {
|
|
; CHECK: fma.rn.f32 %f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}}, %f{{[0-9]+}};
|
|
; CHECK: ret;
|
|
%a = fmul float %x, %y
|
|
%b = fadd float %a, %z
|
|
ret float %b
|
|
}
|
|
|
|
define ptx_device double @t1_f64(double %x, double %y, double %z) {
|
|
; CHECK: fma.rn.f64 %fd{{[0-9]+}}, %fd{{[0-9]+}}, %fd{{[0-9]+}}, %fd{{[0-9]+}};
|
|
; CHECK: ret;
|
|
%a = fmul double %x, %y
|
|
%b = fadd double %a, %z
|
|
ret double %b
|
|
}
|