brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · 47c7fa5 Raw
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