1 ;; RUN: llc -verify-machineinstrs \
2 ;; RUN: -mtriple=armv7-linux-gnueabi -filetype=obj %s -o - | \
3 ;; RUN: llvm-readobj -t | FileCheck -check-prefix=ARM %s
5 ;; RUN: llc -verify-machineinstrs \
6 ;; RUN: -mtriple=thumbv7-linux-gnueabi -filetype=obj %s -o - | \
7 ;; RUN: llvm-readobj -t | FileCheck -check-prefix=TMB %s
9 ;; Ensure that if a jump table is generated that it has Mapping Symbols
10 ;; marking the data-in-code region.
12 define void @foo(i32* %ptr) nounwind ssp {
13 %tmp = load i32, i32* %ptr, align 4
14 switch i32 %tmp, label %exit [
21 store i32 0, i32* %ptr, align 4
24 store i32 1, i32* %ptr, align 4
27 store i32 2, i32* %ptr, align 4
30 store i32 3, i32* %ptr, align 4
38 ;; ARM-NEXT: Value: 0x0
40 ;; ARM-NEXT: Binding: Local
41 ;; ARM-NEXT: Type: None
43 ;; ARM-NEXT: Section: [[MIXED_SECT:[^ ]+]]
47 ;; ARM-NEXT: Value: 0x{{[0-9A-F]+}}
49 ;; ARM-NEXT: Binding: Local
50 ;; ARM-NEXT: Type: None
52 ;; ARM-NEXT: Section: [[MIXED_SECT]]
58 ;; ARM-NEXT: Binding: Local
59 ;; ARM-NEXT: Type: None
63 ;; ARM-NEXT: Value: 0x{{[0-9A-F]+}}
65 ;; ARM-NEXT: Binding: Local
66 ;; ARM-NEXT: Type: None
68 ;; ARM-NEXT: Section: [[MIXED_SECT]]
72 ;; ARM-NEXT: Value: 0x0
74 ;; ARM-NEXT: Binding: Local (0x0)
75 ;; ARM-NEXT: Type: None (0x0)
77 ;; ARM-NEXT: Section: .ARM.exidx
80 ;; ARM-NOT: ${{[atd]}}
84 ;; TMB-NEXT: Value: 0x{{[0-9A-F]+}}
86 ;; TMB-NEXT: Binding: Local
87 ;; TMB-NEXT: Type: None
89 ;; TMB-NEXT: Section: [[MIXED_SECT:[^ ]+]]
93 ;; TMB-NEXT: Value: 0x0
95 ;; TMB-NEXT: Binding: Local
96 ;; TMB-NEXT: Type: None
98 ;; TMB-NEXT: Section: [[MIXED_SECT]]
102 ;; TMB-NEXT: Value: 0x{{[0-9A-F]+}}
104 ;; TMB-NEXT: Binding: Local
105 ;; TMB-NEXT: Type: None
107 ;; TMB-NEXT: Section: [[MIXED_SECT]]
110 ;; TMB-NOT: ${{[atd]}}