brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 96ef7db Raw
120 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; Verify that we handle single-element vector types correctly.3 4; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 | FileCheck %s5 6define void @f1(<1 x i128> %a, ptr %ptr) {7; CHECK-LABEL: f1:8; CHECK:       # %bb.0:9; CHECK-NEXT:    vst %v24, 0(%r2), 310; CHECK-NEXT:    br %r1411  store <1 x i128> %a, ptr %ptr12  ret void13}14 15define <1 x i128> @f2() {16; CHECK-LABEL: f2:17; CHECK:       # %bb.0:18; CHECK-NEXT:    vgbm %v24, 019; CHECK-NEXT:    br %r1420  ret <1 x i128><i128 0>21}22 23declare void @bar3(<1 x i128>)24 25define void @f3() {26; CHECK-LABEL: f3:27; CHECK:       # %bb.0:28; CHECK-NEXT:    stmg %r14, %r15, 112(%r15)29; CHECK-NEXT:    .cfi_offset %r14, -4830; CHECK-NEXT:    .cfi_offset %r15, -4031; CHECK-NEXT:    aghi %r15, -16032; CHECK-NEXT:    .cfi_def_cfa_offset 32033; CHECK-NEXT:    vgbm %v24, 034; CHECK-NEXT:    brasl %r14, bar3@PLT35; CHECK-NEXT:    lmg %r14, %r15, 272(%r15)36; CHECK-NEXT:    br %r1437  call void @bar3 (<1 x i128> <i128 0>)38  ret void39}40 41declare <1 x i128> @bar4()42 43define void @f4(ptr %ptr) {44; CHECK-LABEL: f4:45; CHECK:       # %bb.0:46; CHECK-NEXT:    stmg %r13, %r15, 104(%r15)47; CHECK-NEXT:    .cfi_offset %r13, -5648; CHECK-NEXT:    .cfi_offset %r14, -4849; CHECK-NEXT:    .cfi_offset %r15, -4050; CHECK-NEXT:    aghi %r15, -16051; CHECK-NEXT:    .cfi_def_cfa_offset 32052; CHECK-NEXT:    lgr %r13, %r253; CHECK-NEXT:    brasl %r14, bar4@PLT54; CHECK-NEXT:    vst %v24, 0(%r13), 355; CHECK-NEXT:    lmg %r13, %r15, 264(%r15)56; CHECK-NEXT:    br %r1457  %res = call <1 x i128> @bar4 ()58  store <1 x i128> %res, ptr %ptr59  ret void60}61 62define void @f5(<1 x fp128> %a, ptr %ptr) {63; CHECK-LABEL: f5:64; CHECK:       # %bb.0:65; CHECK-NEXT:    vst %v24, 0(%r2), 366; CHECK-NEXT:    br %r1467  store <1 x fp128> %a, ptr %ptr68  ret void69}70 71define <1 x fp128> @f6() {72; CHECK-LABEL: f6:73; CHECK:       # %bb.0:74; CHECK-NEXT:    lzxr %f075; CHECK-NEXT:    vmrhg %v24, %v0, %v276; CHECK-NEXT:    br %r1477  ret <1 x fp128><fp128 0xL00000000000000000000000000000000>78}79 80declare void @bar7(<1 x fp128>)81 82define void @f7() {83; CHECK-LABEL: f7:84; CHECK:       # %bb.0:85; CHECK-NEXT:    stmg %r14, %r15, 112(%r15)86; CHECK-NEXT:    .cfi_offset %r14, -4887; CHECK-NEXT:    .cfi_offset %r15, -4088; CHECK-NEXT:    aghi %r15, -16089; CHECK-NEXT:    .cfi_def_cfa_offset 32090; CHECK-NEXT:    lzxr %f091; CHECK-NEXT:    vmrhg %v24, %v0, %v292; CHECK-NEXT:    brasl %r14, bar7@PLT93; CHECK-NEXT:    lmg %r14, %r15, 272(%r15)94; CHECK-NEXT:    br %r1495  call void @bar7 (<1 x fp128> <fp128 0xL00000000000000000000000000000000>)96  ret void97}98 99declare <1 x fp128> @bar8()100 101define void @f8(ptr %ptr) {102; CHECK-LABEL: f8:103; CHECK:       # %bb.0:104; CHECK-NEXT:    stmg %r13, %r15, 104(%r15)105; CHECK-NEXT:    .cfi_offset %r13, -56106; CHECK-NEXT:    .cfi_offset %r14, -48107; CHECK-NEXT:    .cfi_offset %r15, -40108; CHECK-NEXT:    aghi %r15, -160109; CHECK-NEXT:    .cfi_def_cfa_offset 320110; CHECK-NEXT:    lgr %r13, %r2111; CHECK-NEXT:    brasl %r14, bar8@PLT112; CHECK-NEXT:    vst %v24, 0(%r13), 3113; CHECK-NEXT:    lmg %r13, %r15, 264(%r15)114; CHECK-NEXT:    br %r14115  %res = call <1 x fp128> @bar8 ()116  store <1 x fp128> %res, ptr %ptr117  ret void118}119 120