brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · d47befa Raw
65 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=s390x-linux-gnu -o - | FileCheck %s3 4define void @foo(i32 %i) nounwind {5; CHECK-LABEL: foo:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    stmg %r14, %r15, 112(%r15)8; CHECK-NEXT:    aghi %r15, -1609; CHECK-NEXT:    cije %r2, 7, .LBB0_310; CHECK-NEXT:  # %bb.1: # %entry11; CHECK-NEXT:    cijlh %r2, 5, .LBB0_412; CHECK-NEXT:  # %bb.2: # %if.then13; CHECK-NEXT:    brasl %r14, bar@PLT14; CHECK-NEXT:    lmg %r14, %r15, 272(%r15)15; CHECK-NEXT:    jg bar@PLT16; CHECK-NEXT:  .LBB0_3: # %if.then217; CHECK-NEXT:    brasl %r14, bar@PLT18; CHECK-NEXT:  .LBB0_4: # %if.end319; CHECK-NEXT:    lmg %r14, %r15, 272(%r15)20; CHECK-NEXT:    jg bar@PLT21entry:22  switch i32 %i, label %if.end3 [23    i32 5, label %if.then24    i32 7, label %if.then225  ]26 27if.then:28  tail call void @bar() #029  br label %if.end330 31if.then2:32  tail call void @bar() #033  br label %if.end334 35if.end3:36  tail call void @bar() #037  ret void38}39 40define void @foo_tail(i1 %i) nounwind {41; CHECK-LABEL: foo_tail:42; CHECK:       # %bb.0: # %entry43; CHECK-NEXT:    tmll %r2, 144; CHECK-NEXT:    jge bar@PLT45; CHECK-NEXT:  .LBB1_1: # %if.then46; CHECK-NEXT:    jg bar@PLT47entry:48  br i1 %i, label %if.then, label %if.else49 50if.then:51  tail call void @bar() #052  br label %if.end53 54if.else:55  tail call void @bar() #056  br label %if.end57 58if.end:59  ret void60}61 62declare void @bar()63 64attributes #0 = { nomerge }65