85 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -O3 -mtriple=aarch64-linux-gnu < %s | FileCheck %s3 4define i32 @test(i32 %input, i32 %n, i32 %a) {5; CHECK-LABEL: test:6; CHECK: // %bb.0: // %entry7; CHECK-NEXT: cbz w1, .LBB0_28; CHECK-NEXT: // %bb.1:9; CHECK-NEXT: mov w0, wzr10; CHECK-NEXT: ret11; CHECK-NEXT: .LBB0_2: // %bb.012; CHECK-NEXT: add w8, w0, w113; CHECK-NEXT: mov w0, #100 // =0x6414; CHECK-NEXT: cmp w8, #115; CHECK-NEXT: b.le .LBB0_716; CHECK-NEXT: // %bb.3: // %bb.017; CHECK-NEXT: cmp w8, #218; CHECK-NEXT: b.eq .LBB0_1019; CHECK-NEXT: // %bb.4: // %bb.020; CHECK-NEXT: cmp w8, #421; CHECK-NEXT: b.eq .LBB0_1122; CHECK-NEXT: // %bb.5: // %bb.023; CHECK-NEXT: cmp w8, #20024; CHECK-NEXT: b.ne .LBB0_1225; CHECK-NEXT: // %bb.6: // %sw.bb726; CHECK-NEXT: add w0, w2, #727; CHECK-NEXT: ret28; CHECK-NEXT: .LBB0_7: // %bb.029; CHECK-NEXT: cbz w8, .LBB0_1330; CHECK-NEXT: // %bb.8: // %bb.031; CHECK-NEXT: cmp w8, #132; CHECK-NEXT: b.ne .LBB0_1233; CHECK-NEXT: // %bb.9: // %sw.bb134; CHECK-NEXT: add w0, w2, #335; CHECK-NEXT: ret36; CHECK-NEXT: .LBB0_10: // %sw.bb337; CHECK-NEXT: add w0, w2, #438; CHECK-NEXT: ret39; CHECK-NEXT: .LBB0_11: // %sw.bb540; CHECK-NEXT: add w0, w2, #541; CHECK-NEXT: .LBB0_12: // %return42; CHECK-NEXT: ret43; CHECK-NEXT: .LBB0_13: // %sw.bb44; CHECK-NEXT: add w0, w2, #145; CHECK-NEXT: ret46entry:47 %b = add nsw i32 %input, %n48 %cmp = icmp eq i32 %n, 049 br i1 %cmp, label %bb.0, label %return50 51bb.0:52 switch i32 %b, label %return [53 i32 0, label %sw.bb54 i32 1, label %sw.bb155 i32 2, label %sw.bb356 i32 4, label %sw.bb557 i32 200, label %sw.bb758 ]59 60sw.bb:61 %add = add nsw i32 %a, 162 br label %return63 64sw.bb1:65 %add2 = add nsw i32 %a, 366 br label %return67 68sw.bb3:69 %add4 = add nsw i32 %a, 470 br label %return71 72sw.bb5:73 %add6 = add nsw i32 %a, 574 br label %return75 76sw.bb7:77 %add8 = add nsw i32 %a, 778 br label %return79 80return:81 %retval.0 = phi i32 [ %add8, %sw.bb7 ], [ %add6, %sw.bb5 ], [ %add4, %sw.bb3 ], [ %add2, %sw.bb1 ], [ %add, %sw.bb ], [ 100, %bb.0 ], [ 0, %entry ]82 ret i32 %retval.083}84 85