f38341addfdb74b6ff42769e76b11a3708f8e503
[oota-llvm.git] / test / MC / SystemZ / insn-brcl-01.s
1 # RUN: llvm-mc -triple s390x-linux-gnu -show-encoding %s | FileCheck %s
2
3 #CHECK: brcl    0, .[[LAB:L.*]]-4294967296 # encoding: [0xc0,0x04,A,A,A,A]
4 #CHECK:  fixup A - offset: 2, value: (.[[LAB]]-4294967296)+2, kind: FK_390_PC32DBL
5         brcl    0, -0x100000000
6 #CHECK: brcl    0, .[[LAB:L.*]]-2       # encoding: [0xc0,0x04,A,A,A,A]
7 #CHECK:  fixup A - offset: 2, value: (.[[LAB]]-2)+2, kind: FK_390_PC32DBL
8         brcl    0, -2
9 #CHECK: brcl    0, .[[LAB:L.*]]         # encoding: [0xc0,0x04,A,A,A,A]
10 #CHECK:  fixup A - offset: 2, value: .[[LAB]]+2, kind: FK_390_PC32DBL
11         brcl    0, 0
12 #CHECK: brcl    0, .[[LAB:L.*]]+4294967294 # encoding: [0xc0,0x04,A,A,A,A]
13 #CHECK:  fixup A - offset: 2, value: (.[[LAB]]+4294967294)+2, kind: FK_390_PC32DBL
14         brcl    0, 0xfffffffe
15
16 #CHECK: brcl    0, foo                  # encoding: [0xc0,0x04,A,A,A,A]
17 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
18         brcl    0, foo
19
20 #CHECK: brcl    1, foo                  # encoding: [0xc0,0x14,A,A,A,A]
21 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
22 #CHECK: jgo     foo                     # encoding: [0xc0,0x14,A,A,A,A]
23 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
24         brcl    1, foo
25         jgo     foo
26
27 #CHECK: brcl    2, foo                  # encoding: [0xc0,0x24,A,A,A,A]
28 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
29 #CHECK: jgh     foo                     # encoding: [0xc0,0x24,A,A,A,A]
30 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
31         brcl    2, foo
32         jgh     foo
33
34 #CHECK: brcl    3, foo                  # encoding: [0xc0,0x34,A,A,A,A]
35 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
36 #CHECK: jgnle   foo                     # encoding: [0xc0,0x34,A,A,A,A]
37 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
38         brcl    3, foo
39         jgnle   foo
40
41 #CHECK: brcl    4, foo                  # encoding: [0xc0,0x44,A,A,A,A]
42 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
43 #CHECK: jgl     foo                     # encoding: [0xc0,0x44,A,A,A,A]
44 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
45         brcl    4, foo
46         jgl     foo
47
48 #CHECK: brcl    5, foo                  # encoding: [0xc0,0x54,A,A,A,A]
49 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
50 #CHECK: jgnhe   foo                     # encoding: [0xc0,0x54,A,A,A,A]
51 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
52         brcl    5, foo
53         jgnhe   foo
54
55 #CHECK: brcl    6, foo                  # encoding: [0xc0,0x64,A,A,A,A]
56 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
57 #CHECK: jglh    foo                     # encoding: [0xc0,0x64,A,A,A,A]
58 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
59         brcl    6, foo
60         jglh    foo
61
62 #CHECK: brcl    7, foo                  # encoding: [0xc0,0x74,A,A,A,A]
63 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
64 #CHECK: jgne    foo                     # encoding: [0xc0,0x74,A,A,A,A]
65 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
66         brcl    7, foo
67         jgne    foo
68
69 #CHECK: brcl    8, foo                  # encoding: [0xc0,0x84,A,A,A,A]
70 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
71 #CHECK: jge     foo                     # encoding: [0xc0,0x84,A,A,A,A]
72 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
73         brcl    8, foo
74         jge     foo
75
76 #CHECK: brcl    9, foo                  # encoding: [0xc0,0x94,A,A,A,A]
77 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
78 #CHECK: jgnlh   foo                     # encoding: [0xc0,0x94,A,A,A,A]
79 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
80         brcl    9, foo
81         jgnlh   foo
82
83 #CHECK: brcl    10, foo                 # encoding: [0xc0,0xa4,A,A,A,A]
84 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
85 #CHECK: jghe    foo                     # encoding: [0xc0,0xa4,A,A,A,A]
86 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
87         brcl    10, foo
88         jghe    foo
89
90 #CHECK: brcl    11, foo                 # encoding: [0xc0,0xb4,A,A,A,A]
91 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
92 #CHECK: jgnl    foo                     # encoding: [0xc0,0xb4,A,A,A,A]
93 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
94         brcl    11, foo
95         jgnl    foo
96
97 #CHECK: brcl    12, foo                 # encoding: [0xc0,0xc4,A,A,A,A]
98 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
99 #CHECK: jgle    foo                     # encoding: [0xc0,0xc4,A,A,A,A]
100 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
101         brcl    12, foo
102         jgle    foo
103
104 #CHECK: brcl    13, foo                 # encoding: [0xc0,0xd4,A,A,A,A]
105 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
106 #CHECK: jgnh    foo                     # encoding: [0xc0,0xd4,A,A,A,A]
107 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
108         brcl    13, foo
109         jgnh    foo
110
111 #CHECK: brcl    14, foo                 # encoding: [0xc0,0xe4,A,A,A,A]
112 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
113 #CHECK: jgno    foo                     # encoding: [0xc0,0xe4,A,A,A,A]
114 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
115         brcl    14, foo
116         jgno    foo
117
118 #CHECK: brcl    15, foo                 # encoding: [0xc0,0xf4,A,A,A,A]
119 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
120 #CHECK: jg      foo                     # encoding: [0xc0,0xf4,A,A,A,A]
121 #CHECK:  fixup A - offset: 2, value: foo+2, kind: FK_390_PC32DBL
122         brcl    15, foo
123         jg      foo
124
125 #CHECK: brcl    0, bar+100              # encoding: [0xc0,0x04,A,A,A,A]
126 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
127         brcl    0, bar+100
128
129 #CHECK: jgo     bar+100                 # encoding: [0xc0,0x14,A,A,A,A]
130 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
131         jgo     bar+100
132
133 #CHECK: jgh     bar+100                 # encoding: [0xc0,0x24,A,A,A,A]
134 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
135         jgh     bar+100
136
137 #CHECK: jgnle   bar+100                 # encoding: [0xc0,0x34,A,A,A,A]
138 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
139         jgnle   bar+100
140
141 #CHECK: jgl     bar+100                 # encoding: [0xc0,0x44,A,A,A,A]
142 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
143         jgl     bar+100
144
145 #CHECK: jgnhe   bar+100                 # encoding: [0xc0,0x54,A,A,A,A]
146 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
147         jgnhe   bar+100
148
149 #CHECK: jglh    bar+100                 # encoding: [0xc0,0x64,A,A,A,A]
150 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
151         jglh    bar+100
152
153 #CHECK: jgne    bar+100                 # encoding: [0xc0,0x74,A,A,A,A]
154 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
155         jgne    bar+100
156
157 #CHECK: jge     bar+100                 # encoding: [0xc0,0x84,A,A,A,A]
158 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
159         jge     bar+100
160
161 #CHECK: jgnlh   bar+100                 # encoding: [0xc0,0x94,A,A,A,A]
162 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
163         jgnlh   bar+100
164
165 #CHECK: jghe    bar+100                 # encoding: [0xc0,0xa4,A,A,A,A]
166 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
167         jghe    bar+100
168
169 #CHECK: jgnl    bar+100                 # encoding: [0xc0,0xb4,A,A,A,A]
170 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
171         jgnl    bar+100
172
173 #CHECK: jgle    bar+100                 # encoding: [0xc0,0xc4,A,A,A,A]
174 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
175         jgle    bar+100
176
177 #CHECK: jgnh    bar+100                 # encoding: [0xc0,0xd4,A,A,A,A]
178 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
179         jgnh    bar+100
180
181 #CHECK: jgno    bar+100                 # encoding: [0xc0,0xe4,A,A,A,A]
182 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
183         jgno    bar+100
184
185 #CHECK: jg      bar+100                 # encoding: [0xc0,0xf4,A,A,A,A]
186 #CHECK:  fixup A - offset: 2, value: (bar+100)+2, kind: FK_390_PC32DBL
187         jg      bar+100
188
189 #CHECK: brcl    0, bar@PLT              # encoding: [0xc0,0x04,A,A,A,A]
190 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
191         brcl    0, bar@PLT
192
193 #CHECK: jgo     bar@PLT                 # encoding: [0xc0,0x14,A,A,A,A]
194 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
195         jgo     bar@PLT
196
197 #CHECK: jgh     bar@PLT                 # encoding: [0xc0,0x24,A,A,A,A]
198 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
199         jgh     bar@PLT
200
201 #CHECK: jgnle   bar@PLT                 # encoding: [0xc0,0x34,A,A,A,A]
202 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
203         jgnle   bar@PLT
204
205 #CHECK: jgl     bar@PLT                 # encoding: [0xc0,0x44,A,A,A,A]
206 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
207         jgl     bar@PLT
208
209 #CHECK: jgnhe   bar@PLT                 # encoding: [0xc0,0x54,A,A,A,A]
210 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
211         jgnhe   bar@PLT
212
213 #CHECK: jglh    bar@PLT                 # encoding: [0xc0,0x64,A,A,A,A]
214 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
215         jglh    bar@PLT
216
217 #CHECK: jgne    bar@PLT                 # encoding: [0xc0,0x74,A,A,A,A]
218 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
219         jgne    bar@PLT
220
221 #CHECK: jge     bar@PLT                 # encoding: [0xc0,0x84,A,A,A,A]
222 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
223         jge     bar@PLT
224
225 #CHECK: jgnlh   bar@PLT                 # encoding: [0xc0,0x94,A,A,A,A]
226 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
227         jgnlh   bar@PLT
228
229 #CHECK: jghe    bar@PLT                 # encoding: [0xc0,0xa4,A,A,A,A]
230 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
231         jghe    bar@PLT
232
233 #CHECK: jgnl    bar@PLT                 # encoding: [0xc0,0xb4,A,A,A,A]
234 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
235         jgnl    bar@PLT
236
237 #CHECK: jgle    bar@PLT                 # encoding: [0xc0,0xc4,A,A,A,A]
238 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
239         jgle    bar@PLT
240
241 #CHECK: jgnh    bar@PLT                 # encoding: [0xc0,0xd4,A,A,A,A]
242 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
243         jgnh    bar@PLT
244
245 #CHECK: jgno    bar@PLT                 # encoding: [0xc0,0xe4,A,A,A,A]
246 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
247         jgno    bar@PLT
248
249 #CHECK: jg      bar@PLT                 # encoding: [0xc0,0xf4,A,A,A,A]
250 #CHECK:  fixup A - offset: 2, value: bar@PLT+2, kind: FK_390_PC32DBL
251         jg      bar@PLT