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.
32 lines
785 B
LLVM
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
|
|
}
|