1; RUN: llc -O0 -mtriple=x86_64-apple-darwin -filetype=obj -o - %s | macho-dump | FileCheck %s
2
3; There should not be a data-in-code load command (type 0x29) for x86_64
4; jump tables, even though they are in the text section.
5; CHECK: 'num_load_commands'
6; CHECK-NOT: (('command', 41)
7
8define void @foo(i32* %ptr) nounwind ssp {
9  %tmp = load i32* %ptr, align 4
10  switch i32 %tmp, label %default [
11    i32 11, label %bb0
12    i32 10, label %bb1
13    i32 8, label %bb2
14    i32 4, label %bb3
15    i32 2, label %bb4
16    i32 6, label %bb5
17    i32 9, label %bb6
18    i32 15, label %bb7
19    i32 1, label %bb8
20    i32 3, label %bb9
21    i32 5, label %bb10
22    i32 30, label %bb11
23    i32 31, label %bb12
24    i32 13, label %bb13
25    i32 14, label %bb14
26    i32 20, label %bb15
27    i32 19, label %bb16
28    i32 17, label %bb17
29    i32 18, label %bb18
30    i32 21, label %bb19
31    i32 22, label %bb20
32    i32 16, label %bb21
33    i32 24, label %bb22
34    i32 25, label %bb23
35    i32 26, label %bb24
36    i32 27, label %bb25
37    i32 28, label %bb26
38    i32 23, label %bb27
39    i32 12, label %bb28
40  ]
41
42default:
43  br label %exit
44bb0:
45  br label %exit
46bb1:
47  br label %exit
48bb2:
49  br label %exit
50bb3:
51  br label %exit
52bb4:
53  br label %exit
54bb5:
55  br label %exit
56bb6:
57  br label %exit
58bb7:
59  br label %exit
60bb8:
61  br label %exit
62bb9:
63  br label %exit
64bb10:
65  br label %exit
66bb11:
67  br label %exit
68bb12:
69  br label %exit
70bb13:
71  br label %exit
72bb14:
73  br label %exit
74bb15:
75  br label %exit
76bb16:
77  br label %exit
78bb17:
79  br label %exit
80bb18:
81  br label %exit
82bb19:
83  br label %exit
84bb20:
85  br label %exit
86bb21:
87  br label %exit
88bb22:
89  br label %exit
90bb23:
91  br label %exit
92bb24:
93  br label %exit
94bb25:
95  br label %exit
96bb26:
97  br label %exit
98bb27:
99  br label %exit
100bb28:
101  br label %exit
102
103
104exit:
105
106  ret void
107}
108
109