| OLD | NEW |
| 1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s | 1 ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s |
| 2 ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s | 2 ; RUN: llc < %s -march=nvptx64 -mcpu=sm_20 | FileCheck %s |
| 3 | 3 |
| 4 define ptx_device float @test_fabsf(float %f) { | 4 define ptx_device float @test_fabsf(float %f) { |
| 5 ; CHECK: abs.f32 %f0, %f0; | 5 ; CHECK: abs.f32 %f0, %f0; |
| 6 ; CHECK: ret; | 6 ; CHECK: ret; |
| 7 %x = call float @llvm.fabs.f32(float %f) | 7 %x = call float @llvm.fabs.f32(float %f) |
| 8 ret float %x | 8 ret float %x |
| 9 } | 9 } |
| 10 | 10 |
| 11 define ptx_device double @test_fabs(double %d) { | 11 define ptx_device double @test_fabs(double %d) { |
| 12 ; CHECK: abs.f64 %fl0, %fl0; | 12 ; CHECK: abs.f64 %fl0, %fl0; |
| 13 ; CHECK: ret; | 13 ; CHECK: ret; |
| 14 %x = call double @llvm.fabs.f64(double %d) | 14 %x = call double @llvm.fabs.f64(double %d) |
| 15 ret double %x | 15 ret double %x |
| 16 } | 16 } |
| 17 | 17 |
| 18 define float @test_nvvm_sqrt(float %a) { | |
| 19 %val = call float @llvm.nvvm.sqrt.f(float %a) | |
| 20 ret float %val | |
| 21 } | |
| 22 | |
| 23 | |
| 24 declare float @llvm.fabs.f32(float) | 18 declare float @llvm.fabs.f32(float) |
| 25 declare double @llvm.fabs.f64(double) | 19 declare double @llvm.fabs.f64(double) |
| 26 declare float @llvm.nvvm.sqrt.f(float) | |
| OLD | NEW |