| ; RUN: llc < %s -mtriple=aarch64-windows -aarch64-min-jump-table-entries=4 | FileCheck %s | 
 |  | 
 | define dso_local i32 @func(i32 %in) { | 
 | entry: | 
 |   call void asm sideeffect "", "~{x19}"() | 
 |   switch i32 %in, label %def [ | 
 |     i32 0, label %lbl1 | 
 |     i32 1, label %lbl2 | 
 |     i32 2, label %lbl3 | 
 |     i32 4, label %lbl4 | 
 |   ] | 
 |  | 
 | def: | 
 |   ret i32 0 | 
 |  | 
 | lbl1: | 
 |   call void asm sideeffect "", ""() | 
 |   ret i32 1 | 
 |  | 
 | lbl2: | 
 |   ret i32 2 | 
 |  | 
 | lbl3: | 
 |   ret i32 4 | 
 |  | 
 | lbl4: | 
 |   ret i32 8 | 
 | } | 
 |  | 
 | !llvm.module.flags = !{!0, !1} | 
 |  | 
 | !0 = !{i32 8, !"branch-target-enforcement", i32 1} | 
 | !1 = !{i32 8, !"sign-return-address", i32 1} | 
 |  | 
 | ; CHECK-LABEL: func: | 
 | ; CHECK-NEXT: .seh_proc func | 
 | ; CHECK-NEXT: // %bb.0: | 
 | ; CHECK-NEXT: hint #34 | 
 | ; CHECK-NEXT: .seh_nop | 
 | ; CHECK-NEXT: str x19, [sp, #-16]! | 
 | ; CHECK-NEXT: .seh_save_reg_x x19, 16 | 
 | ; CHECK-NEXT: .seh_endprologue | 
 |  | 
 | ; CHECK:      .LBB0_2: | 
 | ; CHECK-NEXT: hint #36 | 
 | ; CHECK: mov w0, #1 | 
 |  | 
 | ; CHECK:      .LBB0_3: | 
 | ; CHECK-NEXT: hint #36 | 
 | ; CHECK-NEXT: mov w0, #4 | 
 |  | 
 | ; CHECK:      .LBB0_4: | 
 | ; CHECK-NEXT: hint #36 | 
 | ; CHECK-NEXT: mov w0, #2 | 
 |  | 
 | ; CHECK:      .LBB0_5: | 
 | ; CHECK-NEXT: hint #36 | 
 | ; CHECK-NEXT: mov w0, #8 | 
 |  | 
 | ; CHECK:      .seh_startepilogue | 
 | ; CHECK-NEXT: ldr x19, [sp], #16 | 
 | ; CHECK-NEXT: .seh_save_reg_x x19, 16 | 
 | ; CHECK-NEXT: .seh_endepilogue | 
 | ; CHECK-NEXT: ret | 
 | ; CHECK-NEXT: .seh_endfunclet |