1; RUN: llc -verify-machineinstrs -o - %s -mtriple=arm64_32-apple-ios7.0 -aarch64-enable-atomic-cfg-tidy=0 | FileCheck %s
2
3define i32 @test_jumptable(i32 %in) {
4; CHECK: test_jumptable
5
6  switch i32 %in, label %def [
7    i32 0, label %lbl1
8    i32 1, label %lbl2
9    i32 2, label %lbl3
10    i32 4, label %lbl4
11  ]
12; CHECK: adrp    [[JTPAGE:x[0-9]+]], LJTI0_0@PAGE
13; CHECK: mov     w[[INDEX:[0-9]+]], w0
14; CHECK: add     x[[JT:[0-9]+]], [[JTPAGE]], LJTI0_0@PAGEOFF
15; CHECK: adr     [[BASE_BLOCK:x[0-9]+]], LBB0_2
16; CHECK: ldrb    w[[OFFSET:[0-9]+]], [x[[JT]], x[[INDEX]]]
17; CHECK: add     [[DEST:x[0-9]+]], [[BASE_BLOCK]], x[[OFFSET]], lsl #2
18; CHECK: br      [[DEST]]
19
20def:
21  ret i32 0
22
23lbl1:
24  ret i32 1
25
26lbl2:
27  ret i32 2
28
29lbl3:
30  ret i32 4
31
32lbl4:
33  ret i32 8
34
35}
36
37; CHECK: LJTI0_0:
38; CHECK-NEXT: .byte
39; CHECK-NEXT: .byte
40; CHECK-NEXT: .byte
41; CHECK-NEXT: .byte
42; CHECK-NEXT: .byte
43