1 ; RUN: llc < %s -march=nvptx64 | FileCheck %s
2 ; RUN: %if ptxas %{ llc < %s -march=nvptx64 | %ptxas-verify %}
4 ; CHECK-LABEL: .func{{.*}}test1
5 define float @test1(float %in) local_unnamed_addr {
6 ; CHECK: rsqrt.approx.f32
7 %call = call float @llvm.nvvm.rsqrt.approx.f(float %in)
11 ; CHECK-LABEL: .func{{.*}}test2
12 define double @test2(double %in) local_unnamed_addr {
13 ; CHECK: rsqrt.approx.f64
14 %call = call double @llvm.nvvm.rsqrt.approx.d(double %in)
18 ; CHECK-LABEL: .func{{.*}}test3
19 define float @test3(float %in) local_unnamed_addr {
20 ; CHECK: rsqrt.approx.ftz.f32
21 %call = tail call float @llvm.nvvm.rsqrt.approx.ftz.f(float %in)
25 ; CHECK-LABEL: .func{{.*}}test4
26 define double @test4(double %in) local_unnamed_addr {
27 ; CHECK: rsqrt.approx.ftz.f64
28 %call = tail call double @llvm.nvvm.rsqrt.approx.ftz.d(double %in)
32 declare float @llvm.nvvm.rsqrt.approx.ftz.f(float)
33 declare double @llvm.nvvm.rsqrt.approx.ftz.d(double)
34 declare float @llvm.nvvm.rsqrt.approx.f(float)
35 declare double @llvm.nvvm.rsqrt.approx.d(double)