blob: 527d6db589e85022984e04b8f3ab9f7becabd7ac [file] [log] [blame]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +00001! RUN: llvm-mc %s -arch=sparc -show-encoding | FileCheck %s
2! RUN: llvm-mc %s -arch=sparcv9 -show-encoding | FileCheck %s
3
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +00004 ! CHECK: call foo ! encoding: [0b01AAAAAA,A,A,A]
5 ! CHECK: ! fixup A - offset: 0, value: foo, kind: fixup_sparc_call30
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +00006 call foo
7
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +00008 ! CHECK: call %g1+%i2 ! encoding: [0x9f,0xc0,0x40,0x1a]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +00009 call %g1 + %i2
10
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000011 ! CHECK: call %o1+8 ! encoding: [0x9f,0xc2,0x60,0x08]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000012 call %o1 + 8
13
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000014 ! CHECK: call %g1 ! encoding: [0x9f,0xc0,0x60,0x00]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000015 call %g1
16
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000017 ! CHECK: call %g1+%lo(sym) ! encoding: [0x9f,0xc0,0b011000AA,A]
18 ! CHECK-NEXT: ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
19 call %g1+%lo(sym)
20
21 ! CHECK: jmp %g1+%i2 ! encoding: [0x81,0xc0,0x40,0x1a]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000022 jmp %g1 + %i2
23
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000024 ! CHECK: jmp %o1+8 ! encoding: [0x81,0xc2,0x60,0x08]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000025 jmp %o1 + 8
26
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000027 ! CHECK: jmp %g1 ! encoding: [0x81,0xc0,0x60,0x00]
Venkatraman Govindaraju0458b592014-01-07 01:49:11 +000028 jmp %g1
Venkatraman Govindaraju559c4ac2014-01-07 08:00:49 +000029
30 ! CHECK: jmp %g1+%lo(sym) ! encoding: [0x81,0xc0,0b011000AA,A]
31 ! CHECK-NEXT: ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
32 jmp %g1+%lo(sym)
33
Venkatraman Govindaraju0d288d32014-01-10 01:48:17 +000034 ! CHECK: jmpl %g1+%i2, %g2 ! encoding: [0x85,0xc0,0x40,0x1a]
35 jmpl %g1 + %i2, %g2
36
37 ! CHECK: jmpl %o1+8, %g2 ! encoding: [0x85,0xc2,0x60,0x08]
38 jmpl %o1 + 8, %g2
39
40 ! CHECK: jmpl %g1, %g2 ! encoding: [0x85,0xc0,0x60,0x00]
41 jmpl %g1, %g2
42
43 ! CHECK: jmpl %g1+%lo(sym), %g2 ! encoding: [0x85,0xc0,0b011000AA,A]
44 ! CHECK-NEXT: ! fixup A - offset: 0, value: %lo(sym), kind: fixup_sparc_lo10
45 jmpl %g1+%lo(sym), %g2
46
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +000047 ! CHECK: ba .BB0 ! encoding: [0x10,0b10AAAAAA,A,A]
48 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
49 ba .BB0
50
51 ! CHECK: bne .BB0 ! encoding: [0x12,0b10AAAAAA,A,A]
52 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
53 bne .BB0
54
James Y Knighte8da8092015-04-28 21:27:31 +000055 ! CHECK: bne .BB0 ! encoding: [0x12,0b10AAAAAA,A,A]
56 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
57 bnz .BB0
58
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +000059 ! CHECK: be .BB0 ! encoding: [0x02,0b10AAAAAA,A,A]
60 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
61 be .BB0
62
James Y Knighte8da8092015-04-28 21:27:31 +000063 ! CHECK: be .BB0 ! encoding: [0x02,0b10AAAAAA,A,A]
64 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
65 bz .BB0
66
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +000067 ! CHECK: bg .BB0 ! encoding: [0x14,0b10AAAAAA,A,A]
68 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
69 bg .BB0
70
71 ! CHECK: ble .BB0 ! encoding: [0x04,0b10AAAAAA,A,A]
72 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
73 ble .BB0
74
75 ! CHECK: bge .BB0 ! encoding: [0x16,0b10AAAAAA,A,A]
76 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
77 bge .BB0
78
79 ! CHECK: bl .BB0 ! encoding: [0x06,0b10AAAAAA,A,A]
80 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
81 bl .BB0
82
83 ! CHECK: bgu .BB0 ! encoding: [0x18,0b10AAAAAA,A,A]
84 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
85 bgu .BB0
86
87 ! CHECK: bleu .BB0 ! encoding: [0x08,0b10AAAAAA,A,A]
88 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
89 bleu .BB0
90
91 ! CHECK: bcc .BB0 ! encoding: [0x1a,0b10AAAAAA,A,A]
92 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
93 bcc .BB0
94
James Y Knighte8da8092015-04-28 21:27:31 +000095 ! CHECK: bcc .BB0 ! encoding: [0x1a,0b10AAAAAA,A,A]
96 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
97 bgeu .BB0
98
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +000099 ! CHECK: bcs .BB0 ! encoding: [0x0a,0b10AAAAAA,A,A]
100 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
101 bcs .BB0
102
James Y Knighte8da8092015-04-28 21:27:31 +0000103 ! CHECK: bcs .BB0 ! encoding: [0x0a,0b10AAAAAA,A,A]
104 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
105 blu .BB0
106
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +0000107 ! CHECK: bpos .BB0 ! encoding: [0x1c,0b10AAAAAA,A,A]
108 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
109 bpos .BB0
110
111 ! CHECK: bneg .BB0 ! encoding: [0x0c,0b10AAAAAA,A,A]
112 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
113 bneg .BB0
114
115 ! CHECK: bvc .BB0 ! encoding: [0x1e,0b10AAAAAA,A,A]
116 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
117 bvc .BB0
118
119 ! CHECK: bvs .BB0 ! encoding: [0x0e,0b10AAAAAA,A,A]
120 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
121 bvs .BB0
122
123 ! CHECK: fbu .BB0 ! encoding: [0x0f,0b10AAAAAA,A,A]
124 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
125 fbu .BB0
126
127 ! CHECK: fbg .BB0 ! encoding: [0x0d,0b10AAAAAA,A,A]
128 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
129 fbg .BB0
130 ! CHECK: fbug .BB0 ! encoding: [0x0b,0b10AAAAAA,A,A]
131 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
132 fbug .BB0
133
134 ! CHECK: fbl .BB0 ! encoding: [0x09,0b10AAAAAA,A,A]
135 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
136 fbl .BB0
137
138 ! CHECK: fbul .BB0 ! encoding: [0x07,0b10AAAAAA,A,A]
139 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
140 fbul .BB0
141
142 ! CHECK: fblg .BB0 ! encoding: [0x05,0b10AAAAAA,A,A]
143 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
144 fblg .BB0
145
146 ! CHECK: fbne .BB0 ! encoding: [0x03,0b10AAAAAA,A,A]
147 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
148 fbne .BB0
149
James Y Knighte8da8092015-04-28 21:27:31 +0000150 ! CHECK: fbne .BB0 ! encoding: [0x03,0b10AAAAAA,A,A]
151 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
152 fbnz .BB0
153
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +0000154 ! CHECK: fbe .BB0 ! encoding: [0x13,0b10AAAAAA,A,A]
155 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
156 fbe .BB0
157
James Y Knighte8da8092015-04-28 21:27:31 +0000158 ! CHECK: fbe .BB0 ! encoding: [0x13,0b10AAAAAA,A,A]
159 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
160 fbz .BB0
161
Venkatraman Govindarajub3b7c382014-01-08 06:14:52 +0000162 ! CHECK: fbue .BB0 ! encoding: [0x15,0b10AAAAAA,A,A]
163 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
164 fbue .BB0
165
166 ! CHECK: fbge .BB0 ! encoding: [0x17,0b10AAAAAA,A,A]
167 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
168 fbge .BB0
169
170 ! CHECK: fbuge .BB0 ! encoding: [0x19,0b10AAAAAA,A,A]
171 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
172 fbuge .BB0
173
174 ! CHECK: fble .BB0 ! encoding: [0x1b,0b10AAAAAA,A,A]
175 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
176 fble .BB0
177
178 ! CHECK: fbule .BB0 ! encoding: [0x1d,0b10AAAAAA,A,A]
179 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
180 fbule .BB0
181
182 ! CHECK: fbo .BB0 ! encoding: [0x1f,0b10AAAAAA,A,A]
183 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
184 fbo .BB0
Venkatraman Govindaraju22868742014-03-01 20:08:48 +0000185
186 ! CHECK: ba,a .BB0 ! encoding: [0x30,0b10AAAAAA,A,A]
187 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
188 ba,a .BB0
189
190 ! CHECK: bne,a .BB0 ! encoding: [0x32,0b10AAAAAA,A,A]
191 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
192 bne,a .BB0
193
194 ! CHECK: be,a .BB0 ! encoding: [0x22,0b10AAAAAA,A,A]
195 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
196 be,a .BB0
197
198 ! CHECK: bg,a .BB0 ! encoding: [0x34,0b10AAAAAA,A,A]
199 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
200 bg,a .BB0
201
202 ! CHECK: ble,a .BB0 ! encoding: [0x24,0b10AAAAAA,A,A]
203 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
204 ble,a .BB0
205
206 ! CHECK: bge,a .BB0 ! encoding: [0x36,0b10AAAAAA,A,A]
207 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
208 bge,a .BB0
209
210 ! CHECK: bl,a .BB0 ! encoding: [0x26,0b10AAAAAA,A,A]
211 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
212 bl,a .BB0
213
214 ! CHECK: bgu,a .BB0 ! encoding: [0x38,0b10AAAAAA,A,A]
215 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
216 bgu,a .BB0
217
218 ! CHECK: bleu,a .BB0 ! encoding: [0x28,0b10AAAAAA,A,A]
219 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
220 bleu,a .BB0
221
222 ! CHECK: bcc,a .BB0 ! encoding: [0x3a,0b10AAAAAA,A,A]
223 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
224 bcc,a .BB0
225
226 ! CHECK: bcs,a .BB0 ! encoding: [0x2a,0b10AAAAAA,A,A]
227 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
228 bcs,a .BB0
229
230 ! CHECK: bpos,a .BB0 ! encoding: [0x3c,0b10AAAAAA,A,A]
231 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
232 bpos,a .BB0
233
234 ! CHECK: bneg,a .BB0 ! encoding: [0x2c,0b10AAAAAA,A,A]
235 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
236 bneg,a .BB0
237
238 ! CHECK: bvc,a .BB0 ! encoding: [0x3e,0b10AAAAAA,A,A]
239 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
240 bvc,a .BB0
241
242 ! CHECK: bvs,a .BB0 ! encoding: [0x2e,0b10AAAAAA,A,A]
243 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
244 bvs,a .BB0
245
246 ! CHECK: fbu,a .BB0 ! encoding: [0x2f,0b10AAAAAA,A,A]
247 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
248 fbu,a .BB0
249
250 ! CHECK: fbg,a .BB0 ! encoding: [0x2d,0b10AAAAAA,A,A]
251 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
252 fbg,a .BB0
253 ! CHECK: fbug,a .BB0 ! encoding: [0x2b,0b10AAAAAA,A,A]
254 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
255 fbug,a .BB0
256
257 ! CHECK: fbl,a .BB0 ! encoding: [0x29,0b10AAAAAA,A,A]
258 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
259 fbl,a .BB0
260
261 ! CHECK: fbul,a .BB0 ! encoding: [0x27,0b10AAAAAA,A,A]
262 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
263 fbul,a .BB0
264
265 ! CHECK: fblg,a .BB0 ! encoding: [0x25,0b10AAAAAA,A,A]
266 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
267 fblg,a .BB0
268
269 ! CHECK: fbne,a .BB0 ! encoding: [0x23,0b10AAAAAA,A,A]
270 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
271 fbne,a .BB0
272
273 ! CHECK: fbe,a .BB0 ! encoding: [0x33,0b10AAAAAA,A,A]
274 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
275 fbe,a .BB0
276
277 ! CHECK: fbue,a .BB0 ! encoding: [0x35,0b10AAAAAA,A,A]
278 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
279 fbue,a .BB0
280
281 ! CHECK: fbge,a .BB0 ! encoding: [0x37,0b10AAAAAA,A,A]
282 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
283 fbge,a .BB0
284
285 ! CHECK: fbuge,a .BB0 ! encoding: [0x39,0b10AAAAAA,A,A]
286 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
287 fbuge,a .BB0
288
289 ! CHECK: fble,a .BB0 ! encoding: [0x3b,0b10AAAAAA,A,A]
290 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
291 fble,a .BB0
292
293 ! CHECK: fbule,a .BB0 ! encoding: [0x3d,0b10AAAAAA,A,A]
294 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
295 fbule,a .BB0
296
297 ! CHECK: fbo,a .BB0 ! encoding: [0x3f,0b10AAAAAA,A,A]
298 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
299 fbo,a .BB0
300
Venkatraman Govindaraju07d3af22014-03-02 22:55:53 +0000301 ! CHECK: rett %i7+8 ! encoding: [0x81,0xcf,0xe0,0x08]
302 rett %i7 + 8