xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/arm64-jumptable.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm64-apple-ios < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm64-linux-gnu < %s | FileCheck %s --check-prefix=CHECK-LINUX
3*9880d681SAndroid Build Coastguard Worker; <rdar://11417675>
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Workerdefine void @sum(i32* %to) {
6*9880d681SAndroid Build Coastguard Workerentry:
7*9880d681SAndroid Build Coastguard Worker  switch i32 undef, label %exit [
8*9880d681SAndroid Build Coastguard Worker    i32 1, label %bb1
9*9880d681SAndroid Build Coastguard Worker    i32 2, label %bb2
10*9880d681SAndroid Build Coastguard Worker    i32 3, label %bb3
11*9880d681SAndroid Build Coastguard Worker    i32 4, label %bb4
12*9880d681SAndroid Build Coastguard Worker  ]
13*9880d681SAndroid Build Coastguard Workerbb1:
14*9880d681SAndroid Build Coastguard Worker  store i32 undef, i32* %to
15*9880d681SAndroid Build Coastguard Worker  br label %exit
16*9880d681SAndroid Build Coastguard Workerbb2:
17*9880d681SAndroid Build Coastguard Worker  store i32 undef, i32* %to
18*9880d681SAndroid Build Coastguard Worker  br label %exit
19*9880d681SAndroid Build Coastguard Workerbb3:
20*9880d681SAndroid Build Coastguard Worker  store i32 undef, i32* %to
21*9880d681SAndroid Build Coastguard Worker  br label %exit
22*9880d681SAndroid Build Coastguard Workerbb4:
23*9880d681SAndroid Build Coastguard Worker  store i32 undef, i32* %to
24*9880d681SAndroid Build Coastguard Worker  br label %exit
25*9880d681SAndroid Build Coastguard Workerexit:
26*9880d681SAndroid Build Coastguard Worker  ret void
27*9880d681SAndroid Build Coastguard Worker}
28*9880d681SAndroid Build Coastguard Worker
29*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: sum:
30*9880d681SAndroid Build Coastguard Worker; CHECK: adrp    {{x[0-9]+}}, LJTI0_0@PAGE
31*9880d681SAndroid Build Coastguard Worker; CHECK:  add    {{x[0-9]+}}, {{x[0-9]+}}, LJTI0_0@PAGEOFF
32*9880d681SAndroid Build Coastguard Worker
33*9880d681SAndroid Build Coastguard Worker; CHECK-LINUX-LABEL: sum:
34*9880d681SAndroid Build Coastguard Worker; CHECK-LINUX: adrp    {{x[0-9]+}}, .LJTI0_0
35*9880d681SAndroid Build Coastguard Worker; CHECK-LINUX:  add    {{x[0-9]+}}, {{x[0-9]+}}, :lo12:.LJTI0_0
36