1; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s 2 3declare float @llvm.nvvm.sqrt.f(float) 4 5; CHECK-LABEL: sqrt_div 6; CHECK: sqrt.rn.f32 7; CHECK: div.rn.f32 8define float @sqrt_div(float %a, float %b) { 9 %t1 = tail call float @llvm.nvvm.sqrt.f(float %a) 10 %t2 = fdiv float %t1, %b 11 ret float %t2 12} 13 14; CHECK-LABEL: sqrt_div_fast 15; CHECK: sqrt.approx.f32 16; CHECK: div.approx.f32 17define float @sqrt_div_fast(float %a, float %b) #0 { 18 %t1 = tail call float @llvm.nvvm.sqrt.f(float %a) 19 %t2 = fdiv float %t1, %b 20 ret float %t2 21} 22 23; CHECK-LABEL: fadd 24; CHECK: add.rn.f32 25define float @fadd(float %a, float %b) { 26 %t1 = fadd float %a, %b 27 ret float %t1 28} 29 30; CHECK-LABEL: fadd_ftz 31; CHECK: add.rn.ftz.f32 32define float @fadd_ftz(float %a, float %b) #1 { 33 %t1 = fadd float %a, %b 34 ret float %t1 35} 36 37attributes #0 = { "unsafe-fp-math" = "true" } 38attributes #1 = { "nvptx-f32ftz" = "true" } 39