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