~ubuntu-branches/ubuntu/quantal/llvm-3.1/quantal

« back to all changes in this revision

Viewing changes to test/MC/Disassembler/ARM/thumb1.txt

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2012-03-29 19:09:51 UTC
  • Revision ID: package-import@ubuntu.com-20120329190951-aq83ivog4cg8bxun
Tags: upstream-3.1~svn153643
ImportĀ upstreamĀ versionĀ 3.1~svn153643

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# RUN: llvm-mc -triple=thumbv6-apple-darwin -disassemble < %s | FileCheck %s
 
2
 
 
3
#------------------------------------------------------------------------------
 
4
# ADC (register)
 
5
#------------------------------------------------------------------------------
 
6
# CHECK: adcs r4, r6
 
7
 
 
8
0x74 0x41
 
9
 
 
10
 
 
11
#------------------------------------------------------------------------------
 
12
# ADD (immediate)
 
13
#------------------------------------------------------------------------------
 
14
# CHECK: adds r1, r2, #3
 
15
# CHECK: adds r2, r2, #3
 
16
# CHECK: adds r2, #8
 
17
 
 
18
0xd1 0x1c
 
19
0xd2 0x1c
 
20
0x08 0x32
 
21
 
 
22
#------------------------------------------------------------------------------
 
23
# ADD (register)
 
24
#------------------------------------------------------------------------------
 
25
# CHECK: adds r1, r2, r3
 
26
# CHECK: add r2, r8
 
27
 
 
28
0xd1 0x18
 
29
0x42 0x44
 
30
 
 
31
#------------------------------------------------------------------------------
 
32
# ADD (SP plus immediate)
 
33
#------------------------------------------------------------------------------
 
34
# CHECK: add sp, #508
 
35
# CHECK: add sp, #4
 
36
# CHECK: add r2, sp, #8
 
37
# CHECK: add r2, sp, #1020
 
38
 
 
39
0x7f 0xb0
 
40
0x01 0xb0
 
41
0x02 0xaa
 
42
0xff 0xaa
 
43
 
 
44
 
 
45
#------------------------------------------------------------------------------
 
46
# ADD (SP plus register)
 
47
#------------------------------------------------------------------------------
 
48
# CHECK: add sp, r3
 
49
# CHECK: add r2, sp, r2
 
50
 
 
51
0x9d 0x44
 
52
0x6a 0x44
 
53
 
 
54
#------------------------------------------------------------------------------
 
55
# ADR
 
56
#------------------------------------------------------------------------------
 
57
# CHECK: adr    r2, #3
 
58
0x03 0xa2
 
59
 
 
60
#------------------------------------------------------------------------------
 
61
# ASR (immediate)
 
62
#------------------------------------------------------------------------------
 
63
# CHECK: asrs r2, r3, #32
 
64
# CHECK: asrs r2, r3, #5
 
65
# CHECK: asrs r2, r3, #1
 
66
 
 
67
0x1a 0x10
 
68
0x5a 0x11
 
69
0x5a 0x10
 
70
 
 
71
#------------------------------------------------------------------------------
 
72
# ASR (register)
 
73
#------------------------------------------------------------------------------
 
74
# CHECK: asrs r5, r2
 
75
 
 
76
0x15 0x41
 
77
 
 
78
#------------------------------------------------------------------------------
 
79
# BICS
 
80
#------------------------------------------------------------------------------
 
81
# CHECK: bics r1, r6
 
82
 
 
83
0xb1 0x43
 
84
 
 
85
#------------------------------------------------------------------------------
 
86
# BKPT
 
87
#------------------------------------------------------------------------------
 
88
# CHECK: bkpt #0
 
89
# CHECK: bkpt #255
 
90
 
 
91
0x00 0xbe
 
92
0xff 0xbe
 
93
 
 
94
#------------------------------------------------------------------------------
 
95
# BLX (register)
 
96
#------------------------------------------------------------------------------
 
97
# CHECK: blx r4
 
98
 
 
99
0xa0 0x47
 
100
 
 
101
#------------------------------------------------------------------------------
 
102
# BX
 
103
#------------------------------------------------------------------------------
 
104
# CHECK: bx r2
 
105
 
 
106
0x10 0x47
 
107
 
 
108
#------------------------------------------------------------------------------
 
109
# CMN
 
110
#------------------------------------------------------------------------------
 
111
# CHECK: cmn r5, r1
 
112
 
 
113
0xcd 0x42
 
114
 
 
115
#------------------------------------------------------------------------------
 
116
# CMP
 
117
#------------------------------------------------------------------------------
 
118
# CHECK: cmp r6, #32
 
119
# CHECK: cmp r3, r4
 
120
# CHECK: cmp r8, r1
 
121
 
 
122
0x20 0x2e
 
123
0xa3 0x42
 
124
0x88 0x45
 
125
 
 
126
#------------------------------------------------------------------------------
 
127
# EOR
 
128
#------------------------------------------------------------------------------
 
129
# CHECK: eors r4, r5
 
130
 
 
131
0x6c 0x40
 
132
 
 
133
#------------------------------------------------------------------------------
 
134
# LDM
 
135
#------------------------------------------------------------------------------
 
136
# CHECK: ldm r3, {r0, r1, r2, r3, r4, r5, r6, r7}
 
137
# CHECK: ldm r2!, {r1, r3, r4, r5, r7}
 
138
# CHECK: ldm r1, {r1}
 
139
 
 
140
0xff 0xcb
 
141
0xba 0xca
 
142
0x02 0xc9
 
143
 
 
144
 
 
145
#------------------------------------------------------------------------------
 
146
# LDR (immediate)
 
147
#------------------------------------------------------------------------------
 
148
# CHECK: ldr r1, [r5]
 
149
# CHECK: ldr r2, [r6, #32]
 
150
# CHECK: ldr r3, [r7, #124]
 
151
# CHECK: ldr r1, [sp]
 
152
# CHECK: ldr r2, [sp, #24]
 
153
# CHECK: ldr r3, [sp, #1020]
 
154
 
 
155
 
 
156
0x29 0x68
 
157
0x32 0x6a
 
158
0xfb 0x6f
 
159
0x00 0x99
 
160
0x06 0x9a
 
161
0xff 0x9b
 
162
 
 
163
#------------------------------------------------------------------------------
 
164
# LDR (register)
 
165
#------------------------------------------------------------------------------
 
166
# CHECK: ldr r1, [r2, r3]
 
167
 
 
168
0xd1 0x58
 
169
 
 
170
 
 
171
#------------------------------------------------------------------------------
 
172
# LDRB (immediate)
 
173
#------------------------------------------------------------------------------
 
174
# CHECK: ldrb r4, [r3]
 
175
# CHECK: ldrb r5, [r6]
 
176
# CHECK: ldrb r6, [r7, #31]
 
177
 
 
178
0x1c 0x78
 
179
0x35 0x78
 
180
0xfe 0x7f
 
181
 
 
182
 
 
183
#------------------------------------------------------------------------------
 
184
# LDRB (register)
 
185
#------------------------------------------------------------------------------
 
186
# CHECK: ldrb r6, [r4, r5]
 
187
 
 
188
0x66 0x5d
 
189
 
 
190
 
 
191
#------------------------------------------------------------------------------
 
192
# LDRH (immediate)
 
193
#------------------------------------------------------------------------------
 
194
# CHECK: ldrh r3, [r3]
 
195
# CHECK: ldrh r4, [r6, #2]
 
196
# CHECK: ldrh r5, [r7, #62]
 
197
 
 
198
0x1b 0x88
 
199
0x74 0x88
 
200
0xfd 0x8f
 
201
 
 
202
#------------------------------------------------------------------------------
 
203
# LDRH (register)
 
204
#------------------------------------------------------------------------------
 
205
# CHECK: ldrh r6, [r2, r6]
 
206
 
 
207
0x96 0x5b
 
208
 
 
209
 
 
210
#------------------------------------------------------------------------------
 
211
# LDRSB/LDRSH
 
212
#------------------------------------------------------------------------------
 
213
# CHECK: ldrsb r6, [r2, r6]
 
214
# CHECK: ldrsh r3, [r7, r1]
 
215
 
 
216
0x96 0x57
 
217
0x7b 0x5e
 
218
 
 
219
#------------------------------------------------------------------------------
 
220
# LSL (immediate)
 
221
#------------------------------------------------------------------------------
 
222
# CHECK: movs r4, r5
 
223
# CHECK: lsls r4, r5, #4
 
224
 
 
225
0x2c 0x00
 
226
0x2c 0x01
 
227
 
 
228
 
 
229
#------------------------------------------------------------------------------
 
230
# LSL (register)
 
231
#------------------------------------------------------------------------------
 
232
# CHECK: lsls r2, r6
 
233
 
 
234
0xb2 0x40
 
235
 
 
236
 
 
237
#------------------------------------------------------------------------------
 
238
# LSR (immediate)
 
239
#------------------------------------------------------------------------------
 
240
# CHECK: lsrs r1, r3, #1
 
241
# CHECK: lsrs r1, r3, #32
 
242
 
 
243
0x59 0x08
 
244
0x19 0x08
 
245
 
 
246
 
 
247
#------------------------------------------------------------------------------
 
248
# LSR (register)
 
249
#------------------------------------------------------------------------------
 
250
# CHECK: lsrs r2, r6
 
251
 
 
252
0xf2 0x40
 
253
 
 
254
#------------------------------------------------------------------------------
 
255
# MOV (immediate)
 
256
#------------------------------------------------------------------------------
 
257
# CHECK: movs r2, #0
 
258
# CHECK: movs r2, #255
 
259
# CHECK: movs r2, #23
 
260
 
 
261
0x00 0x22
 
262
0xff 0x22
 
263
0x17 0x22
 
264
 
 
265
 
 
266
#------------------------------------------------------------------------------
 
267
# MOV (register)
 
268
#------------------------------------------------------------------------------
 
269
# CHECK: mov r3, r4
 
270
# CHECK: movs r1, r3
 
271
 
 
272
0x23 0x46
 
273
0x19 0x00
 
274
 
 
275
 
 
276
#------------------------------------------------------------------------------
 
277
# MUL
 
278
#------------------------------------------------------------------------------
 
279
# CHECK: muls r1, r2, r1
 
280
# CHECK: muls r3, r4
 
281
 
 
282
0x51 0x43
 
283
0x63 0x43
 
284
 
 
285
 
 
286
#------------------------------------------------------------------------------
 
287
# MVN
 
288
#------------------------------------------------------------------------------
 
289
# CHECK: mvns r6, r3
 
290
 
 
291
0xde 0x43
 
292
 
 
293
#------------------------------------------------------------------------------
 
294
# NEG
 
295
#------------------------------------------------------------------------------
 
296
# CHECK: rsbs r3, r4, #0
 
297
 
 
298
0x63 0x42
 
299
 
 
300
 
 
301
#------------------------------------------------------------------------------
 
302
# NOP
 
303
#------------------------------------------------------------------------------
 
304
# CHECK: nop
 
305
 
 
306
0xc0 0x46
 
307
 
 
308
 
 
309
#------------------------------------------------------------------------------
 
310
# ORR
 
311
#------------------------------------------------------------------------------
 
312
# CHECK: orrs  r3, r4
 
313
 
 
314
0x23 0x43
 
315
 
 
316
#------------------------------------------------------------------------------
 
317
# POP
 
318
#------------------------------------------------------------------------------
 
319
# CHECK: pop {r2, r3, r6}
 
320
 
 
321
0x4c 0xbc
 
322
 
 
323
 
 
324
#------------------------------------------------------------------------------
 
325
# PUSH
 
326
#------------------------------------------------------------------------------
 
327
# CHECK: push {r1, r2, r7}
 
328
 
 
329
0x86 0xb4
 
330
 
 
331
 
 
332
#------------------------------------------------------------------------------
 
333
# REV/REV16/REVSH
 
334
#------------------------------------------------------------------------------
 
335
# CHECK: rev r6, r3
 
336
# CHECK: rev16 r7, r2
 
337
# CHECK: revsh r5, r1
 
338
 
 
339
0x1e 0xba
 
340
0x57 0xba
 
341
0xcd 0xba
 
342
 
 
343
 
 
344
#------------------------------------------------------------------------------
 
345
# ROR
 
346
#------------------------------------------------------------------------------
 
347
# CHECK: rors r2, r7
 
348
 
 
349
0xfa 0x41
 
350
 
 
351
#------------------------------------------------------------------------------
 
352
# RSB
 
353
#------------------------------------------------------------------------------
 
354
# CHECK: rsbs r1, r3, #0
 
355
 
 
356
0x59 0x42
 
357
 
 
358
 
 
359
#------------------------------------------------------------------------------
 
360
# SBC
 
361
#------------------------------------------------------------------------------
 
362
# CHECK: sbcs r4, r3
 
363
 
 
364
0x9c 0x41
 
365
 
 
366
 
 
367
#------------------------------------------------------------------------------
 
368
# SETEND
 
369
#------------------------------------------------------------------------------
 
370
# CHECK: setend be
 
371
# CHECK: setend le
 
372
 
 
373
0x58 0xb6
 
374
0x50 0xb6
 
375
 
 
376
#------------------------------------------------------------------------------
 
377
# STM
 
378
#------------------------------------------------------------------------------
 
379
# CHECK: stm r1!, {r2, r6}
 
380
# CHECK: stm r1!, {r1, r2, r3, r7}
 
381
 
 
382
0x44 0xc1
 
383
0x8e 0xc1
 
384
 
 
385
 
 
386
#------------------------------------------------------------------------------
 
387
# STR (immediate)
 
388
#------------------------------------------------------------------------------
 
389
# CHECK: str r2, [r7]
 
390
# CHECK: str r2, [r7]
 
391
# CHECK: str r5, [r1, #4]
 
392
# CHECK: str r3, [r7, #124]
 
393
# CHECK: str r2, [sp]
 
394
# CHECK: str r3, [sp]
 
395
# CHECK: str r4, [sp, #20]
 
396
# CHECK: str r5, [sp, #1020]
 
397
 
 
398
0x3a 0x60
 
399
0x3a 0x60
 
400
0x4d 0x60
 
401
0xfb 0x67
 
402
0x00 0x92
 
403
0x00 0x93
 
404
0x05 0x94
 
405
0xff 0x95
 
406
 
 
407
 
 
408
#------------------------------------------------------------------------------
 
409
# STR (register)
 
410
#------------------------------------------------------------------------------
 
411
# CHECK: str r2, [r7, r3]
 
412
 
 
413
0xfa 0x50
 
414
 
 
415
 
 
416
#------------------------------------------------------------------------------
 
417
# STRB (immediate)
 
418
#------------------------------------------------------------------------------
 
419
# CHECK: strb r4, [r3]
 
420
# CHECK: strb r5, [r6]
 
421
# CHECK: strb r6, [r7, #31]
 
422
 
 
423
0x1c 0x70
 
424
0x35 0x70
 
425
0xfe 0x77
 
426
 
 
427
 
 
428
#------------------------------------------------------------------------------
 
429
# STRB (register)
 
430
#------------------------------------------------------------------------------
 
431
# CHECK: strb r6, [r4, r5]
 
432
 
 
433
0x66 0x55
 
434
 
 
435
 
 
436
#------------------------------------------------------------------------------
 
437
# STRH (immediate)
 
438
#------------------------------------------------------------------------------
 
439
# CHECK: strh r3, [r3]
 
440
# CHECK: strh r4, [r6, #2]
 
441
# CHECK: strh r5, [r7, #62]
 
442
 
 
443
0x1b 0x80
 
444
0x74 0x80
 
445
0xfd 0x87
 
446
 
 
447
 
 
448
#------------------------------------------------------------------------------
 
449
# STRH (register)
 
450
#------------------------------------------------------------------------------
 
451
# CHECK: strh r6, [r2, r6]
 
452
 
 
453
0x96 0x53
 
454
 
 
455
 
 
456
#------------------------------------------------------------------------------
 
457
# SUB (immediate)
 
458
#------------------------------------------------------------------------------
 
459
# CHECK: subs r1, r2, #3
 
460
# CHECK: subs r2, #3
 
461
# CHECK: subs r2, #8
 
462
 
 
463
0xd1 0x1e
 
464
0x03 0x3a
 
465
0x08 0x3a
 
466
 
 
467
#------------------------------------------------------------------------------
 
468
# SUB (register)
 
469
#------------------------------------------------------------------------------
 
470
# CHECK: subs r1, r2, r3
 
471
 
 
472
0xd1 0x1a
 
473
 
 
474
#------------------------------------------------------------------------------
 
475
# SUB (SP minus immediate)
 
476
#------------------------------------------------------------------------------
 
477
# CHECK: sub sp, #12
 
478
# CHECK: sub sp, #508
 
479
 
 
480
0x83 0xb0
 
481
0xff 0xb0
 
482
 
 
483
#------------------------------------------------------------------------------
 
484
# SVC
 
485
#------------------------------------------------------------------------------
 
486
# CHECK: svc #0
 
487
# CHECK: svc #255
 
488
 
 
489
0x00 0xdf
 
490
0xff 0xdf
 
491
 
 
492
 
 
493
#------------------------------------------------------------------------------
 
494
# SXTB/SXTH
 
495
#------------------------------------------------------------------------------
 
496
# CHECK: sxtb r3, r5
 
497
# CHECK: sxth r3, r5
 
498
 
 
499
0x6b 0xb2
 
500
0x2b 0xb2
 
501
 
 
502
 
 
503
#------------------------------------------------------------------------------
 
504
# TST
 
505
#------------------------------------------------------------------------------
 
506
# CHECK: tst r6, r1
 
507
 
 
508
0x0e 0x42
 
509
 
 
510
 
 
511
#------------------------------------------------------------------------------
 
512
# UXTB/UXTH
 
513
#------------------------------------------------------------------------------
 
514
# CHECK: uxtb  r7, r2
 
515
# CHECK: uxth  r1, r4
 
516
 
 
517
0xd7 0xb2
 
518
0xa1 0xb2
 
519
 
 
520
 
 
521
#------------------------------------------------------------------------------
 
522
# WFE/WFI/YIELD
 
523
#------------------------------------------------------------------------------
 
524
# CHECK: wfe
 
525
# CHECK: wfi
 
526
# CHECK: yield
 
527
 
 
528
0x20 0xbf
 
529
0x30 0xbf
 
530
0x10 0xbf