diff options
Diffstat (limited to 'llvm/test/CodeGen/NVPTX/intrinsics.ll')
| -rw-r--r-- | llvm/test/CodeGen/NVPTX/intrinsics.ll | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/NVPTX/intrinsics.ll b/llvm/test/CodeGen/NVPTX/intrinsics.ll index 4ed50632251c..00eb8e293e0f 100644 --- a/llvm/test/CodeGen/NVPTX/intrinsics.ll +++ b/llvm/test/CodeGen/NVPTX/intrinsics.ll @@ -1,8 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5 ; RUN: llc < %s -mtriple=nvptx -mcpu=sm_60 | FileCheck %s --check-prefixes=CHECK,CHECK32 ; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_60 | FileCheck %s --check-prefixes=CHECK,CHECK64 -; RUN: %if ptxas && !ptxas-12.0 %{ llc < %s -mtriple=nvptx -mcpu=sm_60 | %ptxas-verify %} -; RUN: %if ptxas %{ llc < %s -mtriple=nvptx64 -mcpu=sm_60 | %ptxas-verify %} +; RUN: %if ptxas-sm_60 && ptxas-ptr32 %{ llc < %s -mtriple=nvptx -mcpu=sm_60 | %ptxas-verify -arch=sm_60 %} +; RUN: %if ptxas-sm_60 %{ llc < %s -mtriple=nvptx64 -mcpu=sm_60 | %ptxas-verify -arch=sm_60 %} define float @test_fabsf(float %f) { ; CHECK-LABEL: test_fabsf( @@ -267,6 +267,23 @@ define i64 @test_globaltimer() { ret i64 %ret } +define i32 @test_globaltimer_lo(){ +; CHECK-LABEL: test_globaltimer_lo( +; CHECK: { +; CHECK-NEXT: .reg .b32 %r<4>; +; CHECK-EMPTY: +; CHECK-NEXT: // %bb.0: +; CHECK-NEXT: mov.u32 %r1, %globaltimer_lo; +; CHECK-NEXT: mov.u32 %r2, %globaltimer_lo; +; CHECK-NEXT: add.s32 %r3, %r1, %r2; +; CHECK-NEXT: st.param.b32 [func_retval0], %r3; +; CHECK-NEXT: ret; + %a = tail call i32 @llvm.nvvm.read.ptx.sreg.globaltimer.lo() + %b = tail call i32 @llvm.nvvm.read.ptx.sreg.globaltimer.lo() + %ret = add i32 %a, %b + ret i32 %ret +} + define i64 @test_cyclecounter() { ; CHECK-LABEL: test_cyclecounter( ; CHECK: { |
