brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · b1cd278 Raw
83 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; Test the handling of named short vector arguments.3;4; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s -check-prefix=CHECK-VEC5; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s -check-prefix=CHECK-STACK6 7; This routine has 12 vector arguments, which fill up %v24-%v318; and the four single-wide stack slots starting at 160.9declare void @bar(<1 x i8>, <2 x i8>, <4 x i8>, <8 x i8>,10                  <1 x i8>, <2 x i8>, <4 x i8>, <8 x i8>,11                  <1 x i8>, <2 x i8>, <4 x i8>, <8 x i8>)12 13define void @foo() {14; CHECK-VEC-LABEL: foo:15; CHECK-VEC:       # %bb.0:16; CHECK-VEC-NEXT:    stmg %r14, %r15, 112(%r15)17; CHECK-VEC-NEXT:    .cfi_offset %r14, -4818; CHECK-VEC-NEXT:    .cfi_offset %r15, -4019; CHECK-VEC-NEXT:    aghi %r15, -19220; CHECK-VEC-NEXT:    .cfi_def_cfa_offset 35221; CHECK-VEC-NEXT:    larl %r1, .LCPI0_022; CHECK-VEC-NEXT:    vl %v0, 0(%r1), 323; CHECK-VEC-NEXT:    larl %r1, .LCPI0_124; CHECK-VEC-NEXT:    vst %v0, 176(%r15), 325; CHECK-VEC-NEXT:    vl %v0, 0(%r1), 326; CHECK-VEC-NEXT:    vrepib %v24, 127; CHECK-VEC-NEXT:    vrepib %v26, 228; CHECK-VEC-NEXT:    vrepib %v28, 329; CHECK-VEC-NEXT:    vrepib %v30, 430; CHECK-VEC-NEXT:    vrepib %v25, 531; CHECK-VEC-NEXT:    vrepib %v27, 632; CHECK-VEC-NEXT:    vrepib %v29, 733; CHECK-VEC-NEXT:    vrepib %v31, 834; CHECK-VEC-NEXT:    vst %v0, 160(%r15), 335; CHECK-VEC-NEXT:    brasl %r14, bar@PLT36; CHECK-VEC-NEXT:    lmg %r14, %r15, 304(%r15)37; CHECK-VEC-NEXT:    br %r1438;39; CHECK-STACK-LABEL: foo:40; CHECK-STACK:       # %bb.0:41; CHECK-STACK-NEXT:    stmg %r14, %r15, 112(%r15)42; CHECK-STACK-NEXT:    .cfi_offset %r14, -4843; CHECK-STACK-NEXT:    .cfi_offset %r15, -4044; CHECK-STACK-NEXT:    aghi %r15, -19245; CHECK-STACK-NEXT:    .cfi_def_cfa_offset 35246; CHECK-STACK-NEXT:    larl %r1, .LCPI0_047; CHECK-STACK-NEXT:    vl %v0, 0(%r1), 348; CHECK-STACK-NEXT:    larl %r1, .LCPI0_149; CHECK-STACK-NEXT:    vst %v0, 176(%r15), 350; CHECK-STACK-NEXT:    vl %v0, 0(%r1), 351; CHECK-STACK-NEXT:    vrepib %v24, 152; CHECK-STACK-NEXT:    vrepib %v26, 253; CHECK-STACK-NEXT:    vrepib %v28, 354; CHECK-STACK-NEXT:    vrepib %v30, 455; CHECK-STACK-NEXT:    vrepib %v25, 556; CHECK-STACK-NEXT:    vrepib %v27, 657; CHECK-STACK-NEXT:    vrepib %v29, 758; CHECK-STACK-NEXT:    vrepib %v31, 859; CHECK-STACK-NEXT:    vst %v0, 160(%r15), 360; CHECK-STACK-NEXT:    brasl %r14, bar@PLT61; CHECK-STACK-NEXT:    lmg %r14, %r15, 304(%r15)62; CHECK-STACK-NEXT:    br %r1463 64 65 66 67 68 69  call void @bar (<1 x i8> <i8 1>,70                  <2 x i8> <i8 2, i8 2>,71                  <4 x i8> <i8 3, i8 3, i8 3, i8 3>,72                  <8 x i8> <i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4, i8 4>,73                  <1 x i8> <i8 5>,74                  <2 x i8> <i8 6, i8 6>,75                  <4 x i8> <i8 7, i8 7, i8 7, i8 7>,76                  <8 x i8> <i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8, i8 8>,77                  <1 x i8> <i8 9>,78                  <2 x i8> <i8 10, i8 10>,79                  <4 x i8> <i8 11, i8 11, i8 11, i8 11>,80                  <8 x i8> <i8 12, i8 12, i8 12, i8 12, i8 12, i8 12, i8 12, i8 12>)81  ret void82}83