67 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=aarch64 -o - | FileCheck %s3 4define void @foo(i32 %i) nounwind {5; CHECK-LABEL: foo:6; CHECK: // %bb.0: // %entry7; CHECK-NEXT: str x30, [sp, #-16]! // 8-byte Folded Spill8; CHECK-NEXT: cmp w0, #79; CHECK-NEXT: b.eq .LBB0_310; CHECK-NEXT: // %bb.1: // %entry11; CHECK-NEXT: cmp w0, #512; CHECK-NEXT: b.ne .LBB0_413; CHECK-NEXT: // %bb.2: // %if.then14; CHECK-NEXT: bl bar15; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload16; CHECK-NEXT: b bar17; CHECK-NEXT: .LBB0_3: // %if.then218; CHECK-NEXT: bl bar19; CHECK-NEXT: .LBB0_4: // %if.end320; CHECK-NEXT: ldr x30, [sp], #16 // 8-byte Folded Reload21; CHECK-NEXT: b bar22entry:23 switch i32 %i, label %if.end3 [24 i32 5, label %if.then25 i32 7, label %if.then226 ]27 28if.then:29 tail call void @bar() #030 br label %if.end331 32if.then2:33 tail call void @bar() #034 br label %if.end335 36if.end3:37 tail call void @bar() #038 ret void39}40 41define void @foo_tail(i1 %i) nounwind {42; CHECK-LABEL: foo_tail:43; CHECK: // %bb.0: // %entry44; CHECK-NEXT: tbz w0, #0, .LBB1_245; CHECK-NEXT: // %bb.1: // %if.then46; CHECK-NEXT: b bar47; CHECK-NEXT: .LBB1_2: // %if.else48; CHECK-NEXT: b bar49entry:50 br i1 %i, label %if.then, label %if.else51 52if.then:53 tail call void @bar() #054 br label %if.end55 56if.else:57 tail call void @bar() #058 br label %if.end59 60if.end:61 ret void62}63 64declare void @bar()65 66attributes #0 = { nomerge }67