; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
; RUN: llc < %s -mtriple=nvptx -mcpu=sm_60 -mattr=+ptx73 | FileCheck %s --check-prefix=CHECK-32
; RUN: llc < %s -mtriple=nvptx64 -mcpu=sm_60 -mattr=+ptx73 | FileCheck %s --check-prefix=CHECK-64
; RUN: llc < %s -mtriple=nvptx64 -nvptx-short-ptr -mcpu=sm_60 -mattr=+ptx73 | FileCheck %s --check-prefix=CHECK-MIXED
; RUN: %if ptxas && ptxas-12.0 %{ llc < %s -mtriple=nvptx64 -mcpu=sm_60 -mattr=+ptx73 | %ptxas-verify %}

target triple = "nvptx64-nvidia-cuda"

define ptr @test_save() {
; CHECK-32-LABEL: test_save(
; CHECK-32:       {
; CHECK-32-NEXT:    .reg .b32 %r<3>;
; CHECK-32-EMPTY:
; CHECK-32-NEXT:  // %bb.0:
; CHECK-32-NEXT:    stacksave.u32 %r1;
; CHECK-32-NEXT:    cvta.local.u32 %r2, %r1;
; CHECK-32-NEXT:    st.param.b32 [func_retval0], %r2;
; CHECK-32-NEXT:    ret;
;
; CHECK-64-LABEL: test_save(
; CHECK-64:       {
; CHECK-64-NEXT:    .reg .b64 %rd<3>;
; CHECK-64-EMPTY:
; CHECK-64-NEXT:  // %bb.0:
; CHECK-64-NEXT:    stacksave.u64 %rd1;
; CHECK-64-NEXT:    cvta.local.u64 %rd2, %rd1;
; CHECK-64-NEXT:    st.param.b64 [func_retval0], %rd2;
; CHECK-64-NEXT:    ret;
;
; CHECK-MIXED-LABEL: test_save(
; CHECK-MIXED:       {
; CHECK-MIXED-NEXT:    .reg .b32 %r<2>;
; CHECK-MIXED-NEXT:    .reg .b64 %rd<3>;
; CHECK-MIXED-EMPTY:
; CHECK-MIXED-NEXT:  // %bb.0:
; CHECK-MIXED-NEXT:    stacksave.u32 %r1;
; CHECK-MIXED-NEXT:    cvt.u64.u32 %rd1, %r1;
; CHECK-MIXED-NEXT:    cvta.local.u64 %rd2, %rd1;
; CHECK-MIXED-NEXT:    st.param.b64 [func_retval0], %rd2;
; CHECK-MIXED-NEXT:    ret;
  %1 = call ptr @llvm.stacksave()
  ret ptr %1
}


define void @test_restore(ptr %p) {
; CHECK-32-LABEL: test_restore(
; CHECK-32:       {
; CHECK-32-NEXT:    .reg .b32 %r<3>;
; CHECK-32-EMPTY:
; CHECK-32-NEXT:  // %bb.0:
; CHECK-32-NEXT:    ld.param.b32 %r1, [test_restore_param_0];
; CHECK-32-NEXT:    cvta.to.local.u32 %r2, %r1;
; CHECK-32-NEXT:    stackrestore.u32 %r2;
; CHECK-32-NEXT:    ret;
;
; CHECK-64-LABEL: test_restore(
; CHECK-64:       {
; CHECK-64-NEXT:    .reg .b64 %rd<3>;
; CHECK-64-EMPTY:
; CHECK-64-NEXT:  // %bb.0:
; CHECK-64-NEXT:    ld.param.b64 %rd1, [test_restore_param_0];
; CHECK-64-NEXT:    cvta.to.local.u64 %rd2, %rd1;
; CHECK-64-NEXT:    stackrestore.u64 %rd2;
; CHECK-64-NEXT:    ret;
;
; CHECK-MIXED-LABEL: test_restore(
; CHECK-MIXED:       {
; CHECK-MIXED-NEXT:    .reg .b32 %r<2>;
; CHECK-MIXED-NEXT:    .reg .b64 %rd<3>;
; CHECK-MIXED-EMPTY:
; CHECK-MIXED-NEXT:  // %bb.0:
; CHECK-MIXED-NEXT:    ld.param.b64 %rd1, [test_restore_param_0];
; CHECK-MIXED-NEXT:    cvta.to.local.u64 %rd2, %rd1;
; CHECK-MIXED-NEXT:    cvt.u32.u64 %r1, %rd2;
; CHECK-MIXED-NEXT:    stackrestore.u32 %r1;
; CHECK-MIXED-NEXT:    ret;
  call void @llvm.stackrestore(ptr %p)
  ret void
}

declare ptr @llvm.stacksave()
declare void @llvm.stackrestore(ptr)
