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