36 lines · plain
1; RUN: llc < %s -mtriple=nvptx64 | FileCheck %s2; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 | %ptxas-verify %}3 4; CHECK-LABEL: .func{{.*}}test15define float @test1(float %in) local_unnamed_addr {6; CHECK: rsqrt.approx.f327 %call = call float @llvm.nvvm.rsqrt.approx.f(float %in)8 ret float %call9}10 11; CHECK-LABEL: .func{{.*}}test212define double @test2(double %in) local_unnamed_addr {13; CHECK: rsqrt.approx.f6414 %call = call double @llvm.nvvm.rsqrt.approx.d(double %in)15 ret double %call16}17 18; CHECK-LABEL: .func{{.*}}test319define float @test3(float %in) local_unnamed_addr {20; CHECK: rsqrt.approx.ftz.f3221 %call = tail call float @llvm.nvvm.rsqrt.approx.ftz.f(float %in)22 ret float %call23}24 25; CHECK-LABEL: .func{{.*}}test426define double @test4(double %in) local_unnamed_addr {27; CHECK: rsqrt.approx.ftz.f6428 %call = tail call double @llvm.nvvm.rsqrt.approx.ftz.d(double %in)29 ret double %call30}31 32declare float @llvm.nvvm.rsqrt.approx.ftz.f(float)33declare double @llvm.nvvm.rsqrt.approx.ftz.d(double)34declare float @llvm.nvvm.rsqrt.approx.f(float)35declare double @llvm.nvvm.rsqrt.approx.d(double)36