Home | History | Annotate | Download | only in ARM
      1 # RUN: llvm-mc --disassemble %s -triple=armv7-apple-darwin9 -mattr +mp | FileCheck %s
      2 
      3 # CHECK:	addpl	r4, pc, #318767104
      4 0x4c 0x45 0x8f 0x52
      5 
      6 # CHECK:	b	#0
      7 0x00 0x00 0x00 0xea
      8 
      9 # CHECK:	bl	#7732
     10 0x8d 0x07 0x00 0xeb
     11 
     12 # CHECK:	bleq	#-4
     13 0xff 0xff 0xff 0x0b
     14 
     15 # CHECK:	bfc	r8, #0, #16
     16 0x1f 0x80 0xcf 0xe7
     17 
     18 # CHECK:	bfi	r8, r0, #16, #1
     19 0x10 0x88 0xd0 0xe7
     20 
     21 # CHECK:	mov	pc, lr
     22 0x0e 0xf0 0xa0 0xe1
     23 
     24 # CHECK:	mov	pc, #3221225535
     25 0xff 0xf1 0xa0 0xe3
     26 
     27 # CHECK:	movw	r7, #4096
     28 0x00 0x70 0x01 0xe3
     29 
     30 # CHECK:	cmn	r0, #1
     31 0x01 0x00 0x70 0xe3
     32 
     33 # CHECK:	dmb
     34 0x5f 0xf0 0x7f 0xf5
     35 
     36 # CHECK:	dmb	nshst
     37 0x56 0xf0 0x7f 0xf5
     38 
     39 # CHECK:	dsb
     40 0x4f 0xf0 0x7f 0xf5
     41 
     42 # CHECK:	dsb	st
     43 0x4e 0xf0 0x7f 0xf5
     44 
     45 # CHECK:	isb
     46 0x6f 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
     55 0x0f 0x00 0x92 0xe4
     56 
     57 # CHECK:	ldr	r5, [r7, -r10, lsl #2]
     58 0x0a 0x51 0x17 0xe7
     59 
     60 # CHECK:	ldrh	r0, [r2], #0
     61 0xb0 0x00 0xd2 0xe0
     62 
     63 # CHECK:	ldrh	r0, [r2]
     64 0xb0 0x00 0xd2 0xe1
     65 
     66 # CHECK:	ldrht	r0, [r2], #15
     67 0xbf 0x00 0xf2 0xe0
     68 
     69 # CHECK:	ldrsbtvs	lr, [r2], -r9
     70 0xd9 0xe0 0x32 0x60
     71 
     72 # CHECK:	lsls	r0, r2, #31
     73 0x82 0x0f 0xb0 0xe1
     74 
     75 # CHECK:	mcr2	p0, #0, r2, c1, c0, #7
     76 0xf0 0x20 0x01 0xfe
     77 
     78 # CHECK:	movt	r8, #65535
     79 0xff 0x8f 0x4f 0xe3
     80 
     81 # CHECK:	mvnspl	r7, #1073741885
     82 0xf5 0x71 0xf0 0x53
     83 
     84 # CHECK-NOT:	orr	r7, r8, r7, rrx #0
     85 # CHECK:	orr	r7, r8, r7, rrx
     86 0x67 0x70 0x88 0xe1
     87 
     88 # CHECK:	pkhbt	r8, r9, r10, lsl #4
     89 0x1a 0x82 0x89 0xe6
     90 
     91 # CHECK-NOT:	pkhbtls	r10, r11, r11, lsl #0
     92 # CHECK:	pkhbtls	r10, r11, r11
     93 0x1b 0xa0 0x8b 0x96
     94 
     95 # CHECK:	pkhtbmi	lr, r1, r6, asr #21
     96 0xd6 0xea 0x81 0x46
     97 
     98 # CHECK:	pop	{r0, r2, r4, r6, r8, r10}
     99 0x55 0x05 0xbd 0xe8
    100 
    101 # CHECK:	push	{r0, r2, r4, r6, r8, r10}
    102 0x55 0x05 0x2d 0xe9
    103 
    104 # CHECK:	qsax	r8, r9, r10
    105 0x5a 0x8f 0x29 0xe6
    106 
    107 # CHECK:	rfedb	r0!
    108 0x00 0x0a 0x30 0xf9
    109 
    110 # CHECK:        srsdb sp!, #19
    111 0x13 0x05 0x6d 0xf9
    112 
    113 # CHECK: srsia sp, #9
    114 0x09 0x05 0xcd 0xf8
    115 
    116 # CHECK-NOT:	rsbeq	r0, r2, r0, lsl #0
    117 # CHECK:	rsbeq	r0, r2, r0
    118 0x00 0x00 0x62 0x00
    119 
    120 # CHECK-NOT:	rscseq	r0, r0, r1, lsl #0
    121 # CHECK:	rscseq	r0, r0, r1
    122 0x01 0x00 0xf0 0x00
    123 
    124 # CHECK:	sbcs	r0, pc, #1
    125 0x01 0x00 0xdf 0xe2
    126 
    127 # CHECK:	sbfx	r0, r1, #0, #8
    128 0x51 0x00 0xa7 0xe7
    129 
    130 # CHECK:	ssat	r8, #1, r10, lsl #8
    131 0x1a 0x84 0xa0 0xe6
    132 
    133 # CHECK-NOT:	ssatmi	r0, #17, r12, lsl #0
    134 # CHECK:	ssatmi	r0, #17, r12
    135 0x1c 0x00 0xb0 0x46
    136 
    137 # CHECK:	stmdb	r10!, {r4, r5, r6, r7, lr}
    138 0xf0 0x40 0x2a 0xe9
    139 
    140 # CHECK:	teq	r0, #31
    141 0x1f 0x00 0x30 0xe3
    142 
    143 # CHECK:	ubfx	r0, r0, #16, #1
    144 0x50 0x08 0xe0 0xe7
    145 
    146 # CHECK:	usat	r8, #0, r10, asr #32
    147 0x5a 0x80 0xe0 0xe6
    148 
    149 # CHECK:        setend be
    150 0x00 0x02 0x01 0xf1
    151 
    152 # CHECK:        setend le
    153 0x00 0x00 0x01 0xf1
    154 
    155 # CHECK: cpsie  aif
    156 0xc0 0x01 0x08 0xf1
    157 
    158 # CHECK: cps  #15
    159 0x0f 0x00 0x02 0xf1
    160 
    161 # CHECK: cpsie if, #10
    162 0xca 0x00 0x0a 0xf1
    163 
    164 # CHECK: msr CPSR_fc, r0
    165 0x00 0xf0 0x29 0xe1
    166 
    167 # CHECK:	msrmi	CPSR_c, #4043309056
    168 0xf1 0xf4 0x21 0x43
    169 
    170 # CHECK: rsbs r6, r7, r8
    171 0x08 0x60 0x77 0xe0
    172 
    173 # CHECK: blxeq r5
    174 0x35 0xff 0x2f 0x01
    175 
    176 # CHECK: bx r12
    177 0x1c 0xff 0x2f 0xe1
    178 
    179 # CHECK: bxeq r5
    180 0x15 0xff 0x2f 0x01
    181 
    182 # CHECK:	uqadd16mi	r6, r11, r8
    183 0x18 0x6F 0x6b 0x46
    184 
    185 # CHECK:	str	r0, [sp, #4]
    186 0x04 0x00 0x8d 0xe5
    187 
    188 # CHECK:	str	r1, [sp]
    189 0x00 0x10 0x8d 0xe5
    190 
    191 # CHECK:	ldr	r3, [pc, #144]
    192 0x90 0x30 0x9f 0xe5
    193 
    194 # CHECK:	ldr	r3, [r0, #-4]
    195 0x4 0x30 0x10 0xe5
    196 
    197 # CHECK:	ldr	r5, [sp, r0, lsl #1]!
    198 0x80 0x50 0xbd 0xe7
    199 
    200 # CHECK:	ldr	r5, [r7], -r0, lsr #2
    201 0x20 0x51 0x17 0xe6
    202 
    203 # CHECK:	strdeq	r2, r3, [r0], -r8
    204 0xf8 0x24 0x00 0x00
    205 
    206 # CHECK:	ldrdeq	r2, r3, [r0], -r12
    207 0xdc 0x24 0x00 0x00
    208 
    209 # CHECK:	ldrbt	r3, [r4], -r5, lsl #12
    210 0x05 0x36 0x74 0xe6
    211 
    212 # CHECK:	vcmpe.f64	d8, #0
    213 0xc0 0x8b 0xb5 0xee
    214 
    215 # CHECK:	vldmdb	r2!, {s7, s8, s9, s10, s11}
    216 0x05 0x3a 0x72 0xed
    217 
    218 # CHECK:	vldr.32	s23, [r2, #660]
    219 0xa5 0xba 0xd2 0xed
    220 
    221 # CHECK:	strtvc	r5, [r3], r0, lsr #20
    222 0x20 0x5a 0xa3 0x76
    223 
    224 # CHECK:	stmiblo	sp, {r0, r4, r8, r11, r12, pc}
    225 0x11 0x99 0x8d 0x39
    226 
    227 # CHECK:	ldmdb	sp, {r0, r4, r8, r11, r12, pc}
    228 0x11 0x99 0x1d 0xe9
    229 
    230 # CHECK:	swpge	r3, r2, [r6]
    231 0x92 0x30 0x06 0xa1
    232 
    233 # CHECK:	umull	r1, r2, r3, r4
    234 0x93 0x14 0x82 0xe0
    235 
    236 # CHECK:	pldw	[pc, #-0]
    237 0x00 0xf0 0x1f 0xf5
    238 
    239 # CHECK:	pli	[pc, #-0]
    240 0x00 0xf0 0x5f 0xf4
    241 
    242 # CHECK:	pli	[r3, r1, lsl #2]
    243 0x01 0xf1 0xd3 0xf6
    244 
    245 # CHECK:	stc	p2, c4, [r9], {157}
    246 0x9d 0x42 0x89 0xec
    247 
    248 # CHECK:	stc2	p2, c4, [r9], {157}
    249 0x9d 0x42 0x89 0xfc
    250 
    251 # CHECK:	bne #-24
    252 0xfa 0xff 0xff 0x1a
    253 
    254 # CHECK:	blx	#60
    255 0x0f 0x00 0x00 0xfa
    256 
    257 # CHECK-NOT:	adcs	r10, r8, r0, asr #6
    258 # CHECK:	adcshi	r10, r8, r0, asr #6
    259 0x40 0xa3 0xb8 0x80
    260 
    261 # CHECK:	adcshi	r10, r8, r0, asr r3
    262 0x50 0xa3 0xb8 0x80
    263 
    264 # CHECK:	streq	r1, [sp], #-1567
    265 0x1f 0x16 0xd 0x4
    266 
    267 # CHECK:	mrchs	p2, #3, r11, c13, c6, #6
    268 0xd6 0xb2 0x7d 0x2e
    269 
    270 # CHECK:	smlsldx	r4, r12, r11, r4
    271 0x7b 0x44 0x4c 0xe7
    272 
    273 # CHECK:	lsl	r3, r2, r1
    274 0x12 0x31 0xa0 0xe1
    275 
    276 # CHECK:	sxtab	r9, r8, r5
    277 0x75 0x90 0xa8 0xe6
    278 
    279 # CHECK:	sxtb	r9, r5, ror #8
    280 0x75 0x94 0xaf 0xe6
    281 
    282 # CHECK:	bfc	r5, #0, #16
    283 0x1f 0x50 0xcf 0xe7
    284 
    285 # CHECK:	bfi	r5, r6, #0, #16
    286 0x16 0x50 0xcf 0xe7
    287 
    288 # CHECK:	sbfx	r5, r6, #8, #8
    289 0x56 0x54 0xa7 0xe7
    290 
    291 # CHECK:	rsb	pc, r5, r0
    292 0x00 0xf0 0x65 0xe0
    293 
    294 # CHECK:	uqadd8	r5, r6, r7
    295 0x97 0x5f 0x66 0xe6
    296 
    297 # CHECK:	uqsax	r5, r6, r7
    298 0x57 0x5f 0x66 0xe6
    299 
    300 # CHECK:	smmlareq	r0, r0, r0, r0
    301 0x30 0x00 0x50 0x07
    302 
    303 # CHECK:	nop
    304 0x00 0xf0 0x20 0xe3
    305 
    306 # CHECK:        andeq   r0, r0, r0, lsr #32
    307 0x20 0x00 0x00 0x00
    308 
    309 # CHECK: strb	r3, [r2], #1
    310 0x01 0x30 0xc2 0xe4
    311 
    312 # CHECK:         strheq  r0, [r0, -r0]
    313 0xb0 0x00 0x00 0x01
    314 
    315 # CHECK: rfedb	#4!
    316 0x14 0x0 0x32 0xf9
    317 
    318 # CHECK: stc2l	p0, c0, [r2], #-96
    319 0x18 0x0 0x62 0xfc
    320