• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llvm-mc --disassemble %s -triple=armv7-apple-darwin9 -mattr +mp | FileCheck %s
2
3# CHECK:	addpl	r4, pc, #318767104
40x4c 0x45 0x8f 0x52
5
6# CHECK:	b	#0
70x00 0x00 0x00 0xea
8
9# CHECK:	bl	#7732
100x8d 0x07 0x00 0xeb
11
12# CHECK:	bleq	#-4
130xff 0xff 0xff 0x0b
14
15# CHECK:	bfc	r8, #0, #16
160x1f 0x80 0xcf 0xe7
17
18# CHECK:	bfi	r8, r0, #16, #1
190x10 0x88 0xd0 0xe7
20
21# CHECK:	mov	pc, lr
220x0e 0xf0 0xa0 0xe1
23
24# CHECK:	mov	pc, #3221225535
250xff 0xf1 0xa0 0xe3
26
27# CHECK:	movw	r7, #4096
280x00 0x70 0x01 0xe3
29
30# CHECK:	cmn	r0, #1
310x01 0x00 0x70 0xe3
32
33# CHECK:	dmb
340x5f 0xf0 0x7f 0xf5
35
36# CHECK:	dmb	nshst
370x56 0xf0 0x7f 0xf5
38
39# CHECK:	dsb
400x4f 0xf0 0x7f 0xf5
41
42# CHECK:	dsb	st
430x4e 0xf0 0x7f 0xf5
44
45# CHECK:	isb
460x6f 0xf0 0x7f 0xf5
47
48# FIXME: LDC encoding information is incorrect. Re-enable this along with more
49# robust testing for other values when we get it fleshed out and working
50# properly.
51# CHECKx:	ldclvc	p5, cr15, [r8], #-0
52#0x00 0xf5 0x78 0x7c
53
54# CHECK:	ldr	r0, [r2], #15
550x0f 0x00 0x92 0xe4
56
57# CHECK:	ldr	r5, [r7, -r10, lsl #2]
580x0a 0x51 0x17 0xe7
59
60# CHECK:	ldrh	r0, [r2], #0
610xb0 0x00 0xd2 0xe0
62
63# CHECK:	ldrh	r0, [r2]
640xb0 0x00 0xd2 0xe1
65
66# CHECK:	ldrht	r0, [r2], #15
670xbf 0x00 0xf2 0xe0
68
69# CHECK:	ldrsbtvs	lr, [r2], -r9
700xd9 0xe0 0x32 0x60
71
72# CHECK:	lsls	r0, r2, #31
730x82 0x0f 0xb0 0xe1
74
75# CHECK:	mcr2	p0, #0, r2, c1, c0, #7
760xf0 0x20 0x01 0xfe
77
78# CHECK:	movt	r8, #65535
790xff 0x8f 0x4f 0xe3
80
81# CHECK:	mvnspl	r7, #1073741885
820xf5 0x71 0xf0 0x53
83
84# CHECK-NOT:	orr	r7, r8, r7, rrx #0
85# CHECK:	orr	r7, r8, r7, rrx
860x67 0x70 0x88 0xe1
87
88# CHECK:	pkhbt	r8, r9, r10, lsl #4
890x1a 0x82 0x89 0xe6
90
91# CHECK-NOT:	pkhbtls	r10, r11, r11, lsl #0
92# CHECK:	pkhbtls	r10, r11, r11
930x1b 0xa0 0x8b 0x96
94
95# CHECK:	pkhtbmi	lr, r1, r6, asr #21
960xd6 0xea 0x81 0x46
97
98# CHECK:	pop	{r0, r2, r4, r6, r8, r10}
990x55 0x05 0xbd 0xe8
100
101# CHECK:	push	{r0, r2, r4, r6, r8, r10}
1020x55 0x05 0x2d 0xe9
103
104# CHECK:	qsax	r8, r9, r10
1050x5a 0x8f 0x29 0xe6
106
107# CHECK:	rfedb	r0!
1080x00 0x0a 0x30 0xf9
109
110# CHECK:        srsdb sp!, #19
1110x13 0x05 0x6d 0xf9
112
113# CHECK: srsia sp, #9
1140x09 0x05 0xcd 0xf8
115
116# CHECK-NOT:	rsbeq	r0, r2, r0, lsl #0
117# CHECK:	rsbeq	r0, r2, r0
1180x00 0x00 0x62 0x00
119
120# CHECK-NOT:	rscseq	r0, r0, r1, lsl #0
121# CHECK:	rscseq	r0, r0, r1
1220x01 0x00 0xf0 0x00
123
124# CHECK:	sbcs	r0, pc, #1
1250x01 0x00 0xdf 0xe2
126
127# CHECK:	sbfx	r0, r1, #0, #8
1280x51 0x00 0xa7 0xe7
129
130# CHECK:	ssat	r8, #1, r10, lsl #8
1310x1a 0x84 0xa0 0xe6
132
133# CHECK-NOT:	ssatmi	r0, #17, r12, lsl #0
134# CHECK:	ssatmi	r0, #17, r12
1350x1c 0x00 0xb0 0x46
136
137# CHECK:	stmdb	r10!, {r4, r5, r6, r7, lr}
1380xf0 0x40 0x2a 0xe9
139
140# CHECK:	teq	r0, #31
1410x1f 0x00 0x30 0xe3
142
143# CHECK:	ubfx	r0, r0, #16, #1
1440x50 0x08 0xe0 0xe7
145
146# CHECK:	usat	r8, #0, r10, asr #32
1470x5a 0x80 0xe0 0xe6
148
149# CHECK:        setend be
1500x00 0x02 0x01 0xf1
151
152# CHECK:        setend le
1530x00 0x00 0x01 0xf1
154
155# CHECK: cpsie  aif
1560xc0 0x01 0x08 0xf1
157
158# CHECK: cps  #15
1590x0f 0x00 0x02 0xf1
160
161# CHECK: cpsie if, #10
1620xca 0x00 0x0a 0xf1
163
164# CHECK: msr CPSR_fc, r0
1650x00 0xf0 0x29 0xe1
166
167# CHECK:	msrmi	CPSR_c, #4043309056
1680xf1 0xf4 0x21 0x43
169
170# CHECK: rsbs r6, r7, r8
1710x08 0x60 0x77 0xe0
172
173# CHECK: blxeq r5
1740x35 0xff 0x2f 0x01
175
176# CHECK: bx r12
1770x1c 0xff 0x2f 0xe1
178
179# CHECK: bxeq r5
1800x15 0xff 0x2f 0x01
181
182# CHECK:	uqadd16mi	r6, r11, r8
1830x18 0x6F 0x6b 0x46
184
185# CHECK:	str	r0, [sp, #4]
1860x04 0x00 0x8d 0xe5
187
188# CHECK:	str	r1, [sp]
1890x00 0x10 0x8d 0xe5
190
191# CHECK:	ldr	r3, [pc, #144]
1920x90 0x30 0x9f 0xe5
193
194# CHECK:	ldr	r3, [r0, #-4]
1950x4 0x30 0x10 0xe5
196
197# CHECK:	ldr	r5, [sp, r0, lsl #1]!
1980x80 0x50 0xbd 0xe7
199
200# CHECK:	ldr	r5, [r7], -r0, lsr #2
2010x20 0x51 0x17 0xe6
202
203# CHECK:	strdeq	r2, r3, [r0], -r8
2040xf8 0x24 0x00 0x00
205
206# CHECK:	ldrdeq	r2, r3, [r0], -r12
2070xdc 0x24 0x00 0x00
208
209# CHECK:	ldrbt	r3, [r4], -r5, lsl #12
2100x05 0x36 0x74 0xe6
211
212# CHECK:	vcmpe.f64	d8, #0
2130xc0 0x8b 0xb5 0xee
214
215# CHECK:	vldmdb	r2!, {s7, s8, s9, s10, s11}
2160x05 0x3a 0x72 0xed
217
218# CHECK:	vldr.32	s23, [r2, #660]
2190xa5 0xba 0xd2 0xed
220
221# CHECK:	strtvc	r5, [r3], r0, lsr #20
2220x20 0x5a 0xa3 0x76
223
224# CHECK:	stmiblo	sp, {r0, r4, r8, r11, r12, pc}
2250x11 0x99 0x8d 0x39
226
227# CHECK:	ldmdb	sp, {r0, r4, r8, r11, r12, pc}
2280x11 0x99 0x1d 0xe9
229
230# CHECK:	swpge	r3, r2, [r6]
2310x92 0x30 0x06 0xa1
232
233# CHECK:	umull	r1, r2, r3, r4
2340x93 0x14 0x82 0xe0
235
236# CHECK:	pldw	[pc, #-0]
2370x00 0xf0 0x1f 0xf5
238
239# CHECK:	pli	[pc, #-0]
2400x00 0xf0 0x5f 0xf4
241
242# CHECK:	pli	[r3, r1, lsl #2]
2430x01 0xf1 0xd3 0xf6
244
245# CHECK:	stc	p2, c4, [r9], {157}
2460x9d 0x42 0x89 0xec
247
248# CHECK:	stc2	p2, c4, [r9], {157}
2490x9d 0x42 0x89 0xfc
250
251# CHECK:	bne #-24
2520xfa 0xff 0xff 0x1a
253
254# CHECK:	blx	#60
2550x0f 0x00 0x00 0xfa
256
257# CHECK-NOT:	adcs	r10, r8, r0, asr #6
258# CHECK:	adcshi	r10, r8, r0, asr #6
2590x40 0xa3 0xb8 0x80
260
261# CHECK:	adcshi	r10, r8, r0, asr r3
2620x50 0xa3 0xb8 0x80
263
264# CHECK:	streq	r1, [sp], #-1567
2650x1f 0x16 0xd 0x4
266
267# CHECK:	mrchs	p2, #3, r11, c13, c6, #6
2680xd6 0xb2 0x7d 0x2e
269
270# CHECK:	smlsldx	r4, r12, r11, r4
2710x7b 0x44 0x4c 0xe7
272
273# CHECK:	lsl	r3, r2, r1
2740x12 0x31 0xa0 0xe1
275
276# CHECK:	sxtab	r9, r8, r5
2770x75 0x90 0xa8 0xe6
278
279# CHECK:	sxtb	r9, r5, ror #8
2800x75 0x94 0xaf 0xe6
281
282# CHECK:	bfc	r5, #0, #16
2830x1f 0x50 0xcf 0xe7
284
285# CHECK:	bfi	r5, r6, #0, #16
2860x16 0x50 0xcf 0xe7
287
288# CHECK:	sbfx	r5, r6, #8, #8
2890x56 0x54 0xa7 0xe7
290
291# CHECK:	rsb	pc, r5, r0
2920x00 0xf0 0x65 0xe0
293
294# CHECK:	uqadd8	r5, r6, r7
2950x97 0x5f 0x66 0xe6
296
297# CHECK:	uqsax	r5, r6, r7
2980x57 0x5f 0x66 0xe6
299
300# CHECK:	smmlareq	r0, r0, r0, r0
3010x30 0x00 0x50 0x07
302
303# CHECK:	nop
3040x00 0xf0 0x20 0xe3
305
306# CHECK:        andeq   r0, r0, r0, lsr #32
3070x20 0x00 0x00 0x00
308
309# CHECK: strb	r3, [r2], #1
3100x01 0x30 0xc2 0xe4
311
312# CHECK:         strheq  r0, [r0, -r0]
3130xb0 0x00 0x00 0x01
314
315# CHECK: rfedb	#4!
3160x14 0x0 0x32 0xf9
317
318# CHECK: stc2l	p0, c0, [r2], #-96
3190x18 0x0 0x62 0xfc
320