brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 9ef76b3 Raw
66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; Test i128 in GPRs versus VRs.3;4; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 -no-integrated-as | FileCheck %s5 6define i128 @f1() {7; CHECK-LABEL: f1:8; CHECK:       # %bb.0:9; CHECK-NEXT:    vgbm %v0, 010; CHECK-NEXT:    #APP11; CHECK-NEXT:    blah %v1 %v012; CHECK-NEXT:    #NO_APP13; CHECK-NEXT:    vst %v1, 0(%r2), 314; CHECK-NEXT:    br %r1415  %val = call i128 asm "blah $0 $1", "=&v,v" (i128 0)16  ret i128 %val17}18 19define i128 @f2() {20; CHECK-LABEL: f2:21; CHECK:       # %bb.0:22; CHECK-NEXT:    vgbm %v4, 023; CHECK-NEXT:    #APP24; CHECK-NEXT:    blah %v425; CHECK-NEXT:    #NO_APP26; CHECK-NEXT:    vst %v4, 0(%r2), 327; CHECK-NEXT:    br %r1428  %val = call i128 asm "blah $0", "={v4},0" (i128 0)29  ret i128 %val30}31 32define i128 @f3() {33; CHECK-LABEL: f3:34; CHECK:       # %bb.0:35; CHECK-NEXT:    lghi %r0, 036; CHECK-NEXT:    lgr %r1, %r037; CHECK-NEXT:    #APP38; CHECK-NEXT:    blah %r4 %r039; CHECK-NEXT:    #NO_APP40; CHECK-NEXT:    stg %r5, 8(%r2)41; CHECK-NEXT:    stg %r4, 0(%r2)42; CHECK-NEXT:    br %r1443  %val = call i128 asm "blah $0 $1", "=&r,r" (i128 0)44  ret i128 %val45}46 47define i128 @f4() {48; CHECK-LABEL: f4:49; CHECK:       # %bb.0:50; CHECK-NEXT:    stmg %r8, %r15, 64(%r15)51; CHECK-NEXT:    .cfi_offset %r8, -9652; CHECK-NEXT:    .cfi_offset %r9, -8853; CHECK-NEXT:    .cfi_offset %r15, -4054; CHECK-NEXT:    lghi %r8, 055; CHECK-NEXT:    lgr %r9, %r856; CHECK-NEXT:    #APP57; CHECK-NEXT:    blah %r858; CHECK-NEXT:    #NO_APP59; CHECK-NEXT:    stg %r9, 8(%r2)60; CHECK-NEXT:    stg %r8, 0(%r2)61; CHECK-NEXT:    lmg %r8, %r15, 64(%r15)62; CHECK-NEXT:    br %r1463  %val = call i128 asm "blah $0", "={r8},0" (i128 0)64  ret i128 %val65}66