llvm-project/llvm/test/CodeGen/SystemZ/call-zos-i128.ll
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

32 lines
785 B
LLVM

; Test the passing of scalar i128 values on z/OS.
;
; RUN: llc < %s -mtriple=s390x-ibm-zos -mcpu=z13 | FileCheck %s
; CHECK-LABEL: call_i128 DS 0H
; CHECK-DAG: larl 1,L#CPI0_0
; CHECK-DAG: vl 0,0(1),3
; CHECK-DAG: vst 0,2256(4),3
; CHECK-DAG: larl 1,L#CPI0_1
; CHECK-DAG: vl 0,0(1),3
; CHECK-DAG: vst 0,2272(4),3
; CHECK-DAG: la 1,2288(4)
; CHECK-DAG: la 2,2272(4)
; CHECK-DAG: la 3,2256(4)
define i128 @call_i128() {
entry:
%retval = call i128 (i128, i128) @pass_i128(i128 64, i128 65)
ret i128 %retval
}
; CHECK-LABEL: pass_i128 DS 0H
; CHECK: vl 0,0(3),3
; CHECK: vl 1,0(2),3
; CHECK: vaq 0,1,0
; CHECK: vst 0,0(1),3
define i128 @pass_i128(i128 %arg0, i128 %arg1) {
entry:
%N = add i128 %arg0, %arg1
ret i128 %N
}