66 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=arm64ec-pc-windows-msvc %s -o - | FileCheck %s3 4define dso_local i32 @test() #0 personality ptr @__C_specific_handler {5; CHECK-LABEL: "#test"6; CHECK: .Lfunc_begin0:7; CHECK-NEXT: .seh_proc "#test"8; CHECK-NEXT: .seh_handler "#__C_specific_handler", @unwind, @except9; CHECK-NEXT: // %bb.0:10; CHECK-NEXT: sub sp, sp, #4811; CHECK-NEXT: .seh_stackalloc 4812; CHECK-NEXT: stp x29, x30, [sp, #16] // 16-byte Folded Spill13; CHECK-NEXT: .seh_save_fplr 1614; CHECK-NEXT: add x29, sp, #1615; CHECK-NEXT: .seh_add_fp 1616; CHECK-NEXT: .seh_endprologue17; CHECK-NEXT: mov x0, #-2 // =0xfffffffffffffffe18; CHECK-NEXT: mov w8, #-1 // =0xffffffff19; CHECK-NEXT: stur x0, [x29, #16]20; CHECK-NEXT: stur w8, [x29, #-4]21; CHECK-NEXT: .Ltmp0:22; CHECK-NEXT: bl "#ext"23; CHECK-NEXT: .Ltmp1:24; CHECK-NEXT: .LBB0_1:25; CHECK-NEXT: stur w0, [x29, #-4]26; CHECK-NEXT: .seh_startepilogue27; CHECK-NEXT: ldp x29, x30, [sp, #16] // 16-byte Folded Reload28; CHECK-NEXT: .seh_save_fplr 1629; CHECK-NEXT: add sp, sp, #4830; CHECK-NEXT: .seh_stackalloc 4831; CHECK-NEXT: .seh_endepilogue32; CHECK-NEXT: ret33; CHECK-NEXT: .LBB0_2:34; CHECK-NEXT: $ehgcr_0_2:35; CHECK-NEXT: mov w0, wzr36; CHECK-NEXT: b .LBB0_137 %1 = alloca i32, align 438 %2 = alloca i32, align 439 store i32 -1, ptr %1, align 440 %3 = invoke i32 @ext() #341 to label %12 unwind label %442 434: ; preds = %044 %5 = catchswitch within none [label %6] unwind to caller45 466: ; preds = %447 %7 = catchpad within %5 [ptr null]48 catchret from %7 to label %849 508: ; preds = %651 store i32 0, ptr %1, align 452 br label %1053 5410: ; preds = %8, %1255 %11 = load i32, ptr %1, align 456 ret i32 %1157 5812: ; preds = %059 store i32 %3, ptr %1, align 460 br label %1061}62 63declare dso_local i32 @ext() #164 65declare dso_local i32 @__C_specific_handler(...)66