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 |