1; RUN: llc -o - %s -mtriple=aarch64-windows -aarch64-min-jump-table-entries=4 -aarch64-enable-compress-jump-tables=0 | FileCheck %s 2; RUN: llc -o - %s -mtriple=aarch64-windows -aarch64-min-jump-table-entries=4 -aarch64-enable-compress-jump-tables=0 -filetype=obj | llvm-readobj --unwind - | FileCheck %s -check-prefix=UNWIND 3 4define void @f(i32 %x) { 5entry: 6 switch i32 %x, label %sw.epilog [ 7 i32 0, label %sw.bb 8 i32 1, label %sw.bb1 9 i32 2, label %sw.bb2 10 i32 3, label %sw.bb3 11 ] 12 13sw.bb: 14 tail call void @g(i32 0, i32 4) 15 br label %sw.epilog 16 17sw.bb1: 18 tail call void @g(i32 1, i32 5) 19 br label %sw.epilog 20 21sw.bb2: 22 tail call void @g(i32 2, i32 6) 23 br label %sw.epilog 24 25sw.bb3: 26 tail call void @g(i32 3, i32 7) 27 br label %sw.epilog 28 29sw.epilog: 30 tail call void @g(i32 10, i32 8) 31 ret void 32} 33 34declare void @g(i32, i32) 35 36; CHECK: .text 37; CHECK: f: 38; CHECK: .seh_proc f 39; CHECK: b g 40; CHECK-NEXT: .seh_endfunclet 41; CHECK-NEXT: .section .rdata,"dr" 42; CHECK-NEXT: .p2align 2 43; CHECK-NEXT: .LJTI0_0: 44; CHECK: .word .LBB0_2-.Ltmp0 45; CHECK: .word .LBB0_5-.Ltmp0 46; CHECK: .word .LBB0_3-.Ltmp0 47; CHECK: .word .LBB0_4-.Ltmp0 48; CHECK: .text 49; CHECK: .seh_endproc 50 51; Check that we can emit an object file with correct unwind info. 52; UNWIND: FunctionLength: {{[1-9][0-9]*}} 53