1 ; RUN: llc < %s -mtriple=aarch64-windows -aarch64-min-jump-table-entries=4 | FileCheck %s
3 define dso_local i32 @func(i32 %in) "sign-return-address"="non-leaf" "sign-return-address-key"="a_key" "branch-target-enforcement" {
5 call void asm sideeffect "", "~{x19}"()
6 switch i32 %in, label %def [
17 call void asm sideeffect "", ""()
31 ; CHECK-NEXT: .seh_proc func
32 ; CHECK-NEXT: // %bb.0:
33 ; CHECK-NEXT: hint #34
34 ; CHECK-NEXT: .seh_nop
35 ; CHECK-NEXT: str x19, [sp, #-16]!
36 ; CHECK-NEXT: .seh_save_reg_x x19, 16
37 ; CHECK-NEXT: .seh_endprologue
40 ; CHECK-NEXT: hint #36
44 ; CHECK-NEXT: hint #36
45 ; CHECK-NEXT: mov w0, #4
48 ; CHECK-NEXT: hint #36
49 ; CHECK-NEXT: mov w0, #2
52 ; CHECK-NEXT: hint #36
53 ; CHECK-NEXT: mov w0, #8
55 ; CHECK: .seh_startepilogue
56 ; CHECK-NEXT: ldr x19, [sp], #16
57 ; CHECK-NEXT: .seh_save_reg_x x19, 16
58 ; CHECK-NEXT: .seh_endepilogue
60 ; CHECK-NEXT: .seh_endfunclet