92 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -global-isel -o - %s | FileCheck %s3 4target datalayout = "e-m:o-i64:64-i128:128-n32:64-S128"5target triple = "arm64-apple-macosx14.0.0"6 7; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite)8declare void @llvm.lifetime.start.p0(i64 immarg, ptr nocapture) #09 10declare i32 @logg(...)11 12define i32 @scanfile(i32 %call148, ptr %p) {13; CHECK-LABEL: scanfile:14; CHECK: ; %bb.0: ; %entry15; CHECK-NEXT: stp x29, x30, [sp, #-16]! ; 16-byte Folded Spill16; CHECK-NEXT: .cfi_def_cfa_offset 1617; CHECK-NEXT: .cfi_offset w30, -818; CHECK-NEXT: .cfi_offset w29, -1619; CHECK-NEXT: mov w8, w020; CHECK-NEXT: cmp w0, #121; CHECK-NEXT: mov w0, wzr22; CHECK-NEXT: b.ge LBB0_323; CHECK-NEXT: ; %bb.1: ; %entry24; CHECK-NEXT: cbnz w8, LBB0_725; CHECK-NEXT: LBB0_2: ; %common.ret126; CHECK-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload27; CHECK-NEXT: ret28; CHECK-NEXT: LBB0_3: ; %entry29; CHECK-NEXT: b.eq LBB0_1030; CHECK-NEXT: ; %bb.4: ; %entry31; CHECK-NEXT: cmp w8, #232; CHECK-NEXT: b.eq LBB0_633; CHECK-NEXT: ; %bb.5: ; %entry34; CHECK-NEXT: cmp w8, #335; CHECK-NEXT: b.ne LBB0_236; CHECK-NEXT: LBB0_6: ; %sw.bb30037; CHECK-NEXT: bl _logg38; CHECK-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload39; CHECK-NEXT: ret40; CHECK-NEXT: LBB0_7: ; %entry41; CHECK-NEXT: cmn w8, #242; CHECK-NEXT: b.eq LBB0_943; CHECK-NEXT: ; %bb.8: ; %entry44; CHECK-NEXT: cmn w8, #145; CHECK-NEXT: b.ne LBB0_246; CHECK-NEXT: LBB0_9: ; %sw.bb15047; CHECK-NEXT: bl _logg48; CHECK-NEXT: brk #0x149; CHECK-NEXT: LBB0_10: ; %sw.bb17850; CHECK-NEXT: str wzr, [x1]51; CHECK-NEXT: ldp x29, x30, [sp], #16 ; 16-byte Folded Reload52; CHECK-NEXT: ret53entry:54 switch i32 %call148, label %common.ret [55 i32 -1, label %sw.bb56 i32 -2, label %sw.bb15057 i32 0, label %sw.bb15258 i32 1, label %sw.bb17859 i32 2, label %sw.bb20060 i32 3, label %sw.bb30061 ]62 63sw.bb: ; preds = %entry64 %call149 = call i32 (...) @logg()65 unreachable66 67sw.bb150: ; preds = %entry68 %call151 = call i32 (...) @logg()69 unreachable70 71sw.bb200:72 %res = call i32 (...) @logg()73 ret i32 %res74 75sw.bb300:76 %res2 = call i32 (...) @logg()77 ret i32 %res278 79common.ret: ; preds = %sw.bb178, %sw.bb152, %entry80 ret i32 081 82sw.bb152: ; preds = %entry83 %tobool154.not = icmp eq i32 0, 084 br label %common.ret85 86sw.bb178: ; preds = %entry87 store i32 0, ptr %p88 br label %common.ret89}90 91attributes #0 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }92