1 ; RUN: llc < %s -march=ptx32 -mattr=+ptx20,+sm20 | FileCheck %s
3 define ptx_device float @test_sqrt_f32(float %x) {
5 ; CHECK: sqrt.rn.f32 r0, r1;
7 %y = call float @llvm.sqrt.f32(float %x)
11 define ptx_device double @test_sqrt_f64(double %x) {
13 ; CHECK: sqrt.rn.f64 rd0, rd1;
15 %y = call double @llvm.sqrt.f64(double %x)
19 define ptx_device float @test_sin_f32(float %x) {
21 ; CHECK: sin.approx.f32 r0, r1;
23 %y = call float @llvm.sin.f32(float %x)
27 define ptx_device double @test_sin_f64(double %x) {
29 ; CHECK: sin.approx.f64 rd0, rd1;
31 %y = call double @llvm.sin.f64(double %x)
35 define ptx_device float @test_cos_f32(float %x) {
37 ; CHECK: cos.approx.f32 r0, r1;
39 %y = call float @llvm.cos.f32(float %x)
43 define ptx_device double @test_cos_f64(double %x) {
45 ; CHECK: cos.approx.f64 rd0, rd1;
47 %y = call double @llvm.cos.f64(double %x)
51 declare float @llvm.sqrt.f32(float)
52 declare double @llvm.sqrt.f64(double)
53 declare float @llvm.sin.f32(float)
54 declare double @llvm.sin.f64(double)
55 declare float @llvm.cos.f32(float)
56 declare double @llvm.cos.f64(double)