blob: cf92e7045d43b7a57e6d2597e296610c1ce0acc3 [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
55 ! CHECK: be .BB0 ! encoding: [0x02,0b10AAAAAA,A,A]
56 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
57 be .BB0
58
59 ! CHECK: bg .BB0 ! encoding: [0x14,0b10AAAAAA,A,A]
60 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
61 bg .BB0
62
63 ! CHECK: ble .BB0 ! encoding: [0x04,0b10AAAAAA,A,A]
64 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
65 ble .BB0
66
67 ! CHECK: bge .BB0 ! encoding: [0x16,0b10AAAAAA,A,A]
68 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
69 bge .BB0
70
71 ! CHECK: bl .BB0 ! encoding: [0x06,0b10AAAAAA,A,A]
72 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
73 bl .BB0
74
75 ! CHECK: bgu .BB0 ! encoding: [0x18,0b10AAAAAA,A,A]
76 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
77 bgu .BB0
78
79 ! CHECK: bleu .BB0 ! encoding: [0x08,0b10AAAAAA,A,A]
80 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
81 bleu .BB0
82
83 ! CHECK: bcc .BB0 ! encoding: [0x1a,0b10AAAAAA,A,A]
84 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
85 bcc .BB0
86
87 ! CHECK: bcs .BB0 ! encoding: [0x0a,0b10AAAAAA,A,A]
88 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
89 bcs .BB0
90
91 ! CHECK: bpos .BB0 ! encoding: [0x1c,0b10AAAAAA,A,A]
92 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
93 bpos .BB0
94
95 ! CHECK: bneg .BB0 ! encoding: [0x0c,0b10AAAAAA,A,A]
96 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
97 bneg .BB0
98
99 ! CHECK: bvc .BB0 ! encoding: [0x1e,0b10AAAAAA,A,A]
100 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
101 bvc .BB0
102
103 ! CHECK: bvs .BB0 ! encoding: [0x0e,0b10AAAAAA,A,A]
104 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
105 bvs .BB0
106
107 ! CHECK: fbu .BB0 ! encoding: [0x0f,0b10AAAAAA,A,A]
108 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
109 fbu .BB0
110
111 ! CHECK: fbg .BB0 ! encoding: [0x0d,0b10AAAAAA,A,A]
112 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
113 fbg .BB0
114 ! CHECK: fbug .BB0 ! encoding: [0x0b,0b10AAAAAA,A,A]
115 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
116 fbug .BB0
117
118 ! CHECK: fbl .BB0 ! encoding: [0x09,0b10AAAAAA,A,A]
119 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
120 fbl .BB0
121
122 ! CHECK: fbul .BB0 ! encoding: [0x07,0b10AAAAAA,A,A]
123 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
124 fbul .BB0
125
126 ! CHECK: fblg .BB0 ! encoding: [0x05,0b10AAAAAA,A,A]
127 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
128 fblg .BB0
129
130 ! CHECK: fbne .BB0 ! encoding: [0x03,0b10AAAAAA,A,A]
131 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
132 fbne .BB0
133
134 ! CHECK: fbe .BB0 ! encoding: [0x13,0b10AAAAAA,A,A]
135 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
136 fbe .BB0
137
138 ! CHECK: fbue .BB0 ! encoding: [0x15,0b10AAAAAA,A,A]
139 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
140 fbue .BB0
141
142 ! CHECK: fbge .BB0 ! encoding: [0x17,0b10AAAAAA,A,A]
143 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
144 fbge .BB0
145
146 ! CHECK: fbuge .BB0 ! encoding: [0x19,0b10AAAAAA,A,A]
147 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
148 fbuge .BB0
149
150 ! CHECK: fble .BB0 ! encoding: [0x1b,0b10AAAAAA,A,A]
151 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
152 fble .BB0
153
154 ! CHECK: fbule .BB0 ! encoding: [0x1d,0b10AAAAAA,A,A]
155 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
156 fbule .BB0
157
158 ! CHECK: fbo .BB0 ! encoding: [0x1f,0b10AAAAAA,A,A]
159 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
160 fbo .BB0
Venkatraman Govindaraju22868742014-03-01 20:08:48 +0000161
162 ! CHECK: ba,a .BB0 ! encoding: [0x30,0b10AAAAAA,A,A]
163 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
164 ba,a .BB0
165
166 ! CHECK: bne,a .BB0 ! encoding: [0x32,0b10AAAAAA,A,A]
167 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
168 bne,a .BB0
169
170 ! CHECK: be,a .BB0 ! encoding: [0x22,0b10AAAAAA,A,A]
171 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
172 be,a .BB0
173
174 ! CHECK: bg,a .BB0 ! encoding: [0x34,0b10AAAAAA,A,A]
175 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
176 bg,a .BB0
177
178 ! CHECK: ble,a .BB0 ! encoding: [0x24,0b10AAAAAA,A,A]
179 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
180 ble,a .BB0
181
182 ! CHECK: bge,a .BB0 ! encoding: [0x36,0b10AAAAAA,A,A]
183 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
184 bge,a .BB0
185
186 ! CHECK: bl,a .BB0 ! encoding: [0x26,0b10AAAAAA,A,A]
187 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
188 bl,a .BB0
189
190 ! CHECK: bgu,a .BB0 ! encoding: [0x38,0b10AAAAAA,A,A]
191 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
192 bgu,a .BB0
193
194 ! CHECK: bleu,a .BB0 ! encoding: [0x28,0b10AAAAAA,A,A]
195 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
196 bleu,a .BB0
197
198 ! CHECK: bcc,a .BB0 ! encoding: [0x3a,0b10AAAAAA,A,A]
199 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
200 bcc,a .BB0
201
202 ! CHECK: bcs,a .BB0 ! encoding: [0x2a,0b10AAAAAA,A,A]
203 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
204 bcs,a .BB0
205
206 ! CHECK: bpos,a .BB0 ! encoding: [0x3c,0b10AAAAAA,A,A]
207 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
208 bpos,a .BB0
209
210 ! CHECK: bneg,a .BB0 ! encoding: [0x2c,0b10AAAAAA,A,A]
211 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
212 bneg,a .BB0
213
214 ! CHECK: bvc,a .BB0 ! encoding: [0x3e,0b10AAAAAA,A,A]
215 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
216 bvc,a .BB0
217
218 ! CHECK: bvs,a .BB0 ! encoding: [0x2e,0b10AAAAAA,A,A]
219 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
220 bvs,a .BB0
221
222 ! CHECK: fbu,a .BB0 ! encoding: [0x2f,0b10AAAAAA,A,A]
223 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
224 fbu,a .BB0
225
226 ! CHECK: fbg,a .BB0 ! encoding: [0x2d,0b10AAAAAA,A,A]
227 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
228 fbg,a .BB0
229 ! CHECK: fbug,a .BB0 ! encoding: [0x2b,0b10AAAAAA,A,A]
230 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
231 fbug,a .BB0
232
233 ! CHECK: fbl,a .BB0 ! encoding: [0x29,0b10AAAAAA,A,A]
234 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
235 fbl,a .BB0
236
237 ! CHECK: fbul,a .BB0 ! encoding: [0x27,0b10AAAAAA,A,A]
238 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
239 fbul,a .BB0
240
241 ! CHECK: fblg,a .BB0 ! encoding: [0x25,0b10AAAAAA,A,A]
242 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
243 fblg,a .BB0
244
245 ! CHECK: fbne,a .BB0 ! encoding: [0x23,0b10AAAAAA,A,A]
246 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
247 fbne,a .BB0
248
249 ! CHECK: fbe,a .BB0 ! encoding: [0x33,0b10AAAAAA,A,A]
250 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
251 fbe,a .BB0
252
253 ! CHECK: fbue,a .BB0 ! encoding: [0x35,0b10AAAAAA,A,A]
254 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
255 fbue,a .BB0
256
257 ! CHECK: fbge,a .BB0 ! encoding: [0x37,0b10AAAAAA,A,A]
258 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
259 fbge,a .BB0
260
261 ! CHECK: fbuge,a .BB0 ! encoding: [0x39,0b10AAAAAA,A,A]
262 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
263 fbuge,a .BB0
264
265 ! CHECK: fble,a .BB0 ! encoding: [0x3b,0b10AAAAAA,A,A]
266 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
267 fble,a .BB0
268
269 ! CHECK: fbule,a .BB0 ! encoding: [0x3d,0b10AAAAAA,A,A]
270 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
271 fbule,a .BB0
272
273 ! CHECK: fbo,a .BB0 ! encoding: [0x3f,0b10AAAAAA,A,A]
274 ! CHECK-NEXT: ! fixup A - offset: 0, value: .BB0, kind: fixup_sparc_br22
275 fbo,a .BB0
276
Venkatraman Govindaraju07d3af22014-03-02 22:55:53 +0000277 ! CHECK: rett %i7+8 ! encoding: [0x81,0xcf,0xe0,0x08]
278 rett %i7 + 8