Kai Nacke 648bd564d0
[SystemZ][z/OS] Migrate most test case to use HLASM syntax (#181222)
This PR migrates all but two test cases to use HLASM syntax. It also
flips the default for the command line option, making HLASM output the
default.
The missing test cases requires some more support in the HLASM streamer,
which I will add separately.
2026-02-13 14:44:44 -05:00

42 lines
1.2 KiB
LLVM

; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 4
; RUN: llc < %s -mtriple=s390x-ibm-zos | FileCheck %s
; The current function's return address is in the link register.
define ptr @rt0() norecurse nounwind readnone {
; CHECK-LABEL: rt0 DS 0H
; CHECK: lgr 3,7
; CHECK-NEXT: b 2(7)
entry:
%0 = tail call ptr @llvm.returnaddress(i32 0)
ret ptr %0
}
; Check the caller's return address.
define ptr @rtcaller() nounwind "backchain" {
; CHECK-LABEL: rtcaller DS 0H
; CHECK: stmg 4,7,2048(4)
; CHECK-NEXT: lg 1,2048(4)
; CHECK-NEXT: lg 3,24(1)
; CHECK-NEXT: lmg 4,7,2048(4)
; CHECK-NEXT: b 2(7)
entry:
%0 = tail call ptr @llvm.returnaddress(i32 1)
ret ptr %0
}
; Check the caller's caller's return address.
define ptr @rtcallercaller() nounwind "backchain" {
; CHECK-LABEL: rtcallercaller DS 0H
; CHECK: stmg 4,7,2048(4)
; CHECK-NEXT: lg 1,2048(4)
; CHECK-NEXT: lg 1,0(1)
; CHECK-NEXT: lg 3,24(1)
; CHECK-NEXT: lmg 4,7,2048(4)
; CHECK-NEXT: b 2(7)
entry:
%0 = tail call ptr @llvm.returnaddress(i32 2)
ret ptr %0
}
declare ptr @llvm.returnaddress(i32) nounwind readnone