brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 472672b Raw
45 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; Test the handling of i128 argument values3;4; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s5; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z17 | FileCheck %s6 7declare void @bar(i64, i64, i64, i64, i128,8                  i64, i64, i64, i64, i128)9 10; There are two indirect i128 slots, one at offset 200 (the first available11; byte after the outgoing arguments) and one immediately after it at 216.12 13define void @foo() {14; CHECK-LABEL: foo:15; CHECK:       # %bb.0:16; CHECK-NEXT:    stmg %r6, %r15, 48(%r15)17; CHECK-NEXT:    .cfi_offset %r6, -11218; CHECK-NEXT:    .cfi_offset %r14, -4819; CHECK-NEXT:    .cfi_offset %r15, -4020; CHECK-NEXT:    aghi %r15, -23221; CHECK-NEXT:    .cfi_def_cfa_offset 39222; CHECK-NEXT:    larl %r1, .LCPI0_023; CHECK-NEXT:    vl %v0, 0(%r1), 324; CHECK-NEXT:    la %r0, 200(%r15)25; CHECK-NEXT:    larl %r1, .LCPI0_126; CHECK-NEXT:    stg %r0, 192(%r15)27; CHECK-NEXT:    vst %v0, 176(%r15), 328; CHECK-NEXT:    vl %v0, 0(%r1), 329; CHECK-NEXT:    vst %v0, 160(%r15), 330; CHECK-NEXT:    vgbm %v0, 031; CHECK-NEXT:    la %r6, 216(%r15)32; CHECK-NEXT:    lghi %r2, 133; CHECK-NEXT:    lghi %r3, 234; CHECK-NEXT:    lghi %r4, 335; CHECK-NEXT:    lghi %r5, 436; CHECK-NEXT:    vst %v0, 200(%r15), 337; CHECK-NEXT:    vst %v0, 216(%r15), 338; CHECK-NEXT:    brasl %r14, bar@PLT39; CHECK-NEXT:    lmg %r6, %r15, 280(%r15)40; CHECK-NEXT:    br %r1441  call void @bar (i64 1, i64 2, i64 3, i64 4, i128 0,42                  i64 5, i64 6, i64 7, i64 8, i128 0)43  ret void44}45