Home | History | Annotate | Download | only in ARM
      1 # RUN: llvm-mc --disassemble %s -triple=thumbv7-apple-darwin9 -mcpu=cortex-a9 | FileCheck %s
      2 
      3 # CHECK:	add	r5, sp, #68
      4 0x11 0xad
      5 
      6 # CHECK:	adcs	r0, r0, #1
      7 0x50 0xf1 0x01 0x00
      8 
      9 # CHECK:	b	#30
     10 0x0f 0xe0
     11 
     12 # CHECK:	bgt.w	#-16
     13 0x3f 0xf7 0xf8 0xaf
     14 
     15 # CHECK:	bfc	r0, #10, #10
     16 0x6f 0xf3 0x93 0x20
     17 
     18 # CHECK:	bfi	r2, r10, #0, #1
     19 0x6a 0xf3 0x00 0x02
     20 
     21 # CHECK:	cbnz	r7, #20
     22 0x57 0xb9
     23 
     24 # CHECK:	cmp	r3, r4
     25 0xa3 0x42
     26 
     27 # CHECK:	cmn.w	r0, #31
     28 0x10 0xf1 0x1f 0x0f
     29 
     30 # CHECK:	ldm	r0!, {r1}
     31 0x02 0xc8
     32 
     33 # CHECK:	ldr	r5, [pc, #432]
     34 0x6c 0x4d
     35 
     36 # CHECK:	str	r0, [r3]
     37 0x18 0x60
     38 
     39 # CHECK:	str	r0, [r3, #4]
     40 0x58 0x60
     41 
     42 # CHECK:	str	r2, [r5, r3]
     43 0xea 0x50
     44 
     45 # CHECK:	ldrb.w	r8, [pc, #-24]
     46 0x1f 0xf8 0x18 0x80
     47 
     48 # CHECK:	ldrd	r0, r1, [r7, #64]!
     49 0xf7 0xe9 0x10 0x01
     50 
     51 # CHECK:	lsls.w	r0, r5, #1
     52 0x5f 0xea 0x45 0x00
     53 
     54 # CHECK:	mov	r11, r7
     55 0xbb 0x46
     56 
     57 # CHECK:	pkhtb	r2, r4, r6, asr #16
     58 0xc4 0xea 0x26 0x42
     59 
     60 # CHECK-NOT:	pkhbt	r2, r4, r6, lsl #0
     61 # CHECK:	pkhbt	r2, r4, r6
     62 0xc4 0xea 0x06 0x02
     63 
     64 # CHECK:	pop.w	{r2, r4, r6, r8, r10, r12}
     65 0xbd 0xe8 0x54 0x15
     66 
     67 # CHECK:	push.w	{r2, r4, r6, r8, r10, r12}
     68 0x2d 0xe9 0x54 0x15
     69 
     70 # CHECK:	rsbs	r0, r0, #0
     71 0x40 0x42
     72 
     73 # CHECK-NOT:	rsb	r0, r2, r0, lsl #0
     74 # CHECK:	rsb	r0, r2, r0
     75 0xc2 0xeb 0x00 0x00
     76 
     77 # CHECK-NOT:	ssat	r0, #17, r12, lsl #0
     78 # CHECK:	ssat	r0, #17, r12
     79 0x0c 0xf3 0x10 0x00
     80 
     81 # CHECK:	strd	r0, r1, [r7, #64]
     82 0xc7 0xe9 0x10 0x01
     83 
     84 # CHECK:	sub	sp, #60
     85 0x8f 0xb0
     86 
     87 # CHECK:	subw	r0, pc, #1
     88 0xaf 0xf2 0x01 0x00
     89 
     90 # CHECK:	subw	r0, sp, #835
     91 0xad 0xf2 0x43 0x30
     92 
     93 # CHECK:	uqadd16	r3, r4, r5
     94 0x94 0xfa 0x55 0xf3
     95 
     96 # CHECK:	usada8	r5, r4, r3, r2
     97 0x74 0xfb 0x03 0x25
     98 
     99 # CHECK:	uxtab16	r1, r2, r3, ror #8
    100 0x32 0xfa 0x93 0xf1
    101 
    102 # IT block begin
    103 # CHECK:	ittte	eq
    104 0x03 0xbf
    105 
    106 # CHECK:	moveq	r3, #3
    107 0x03 0x23
    108 
    109 # CHECK:	asreq	r1, r0, #5
    110 0x41 0x11
    111 
    112 # CHECK:	lsleq	r1, r0, #28
    113 0x01 0x07
    114 
    115 # CHECK:	stmne	r0!, {r1, r2, r3}
    116 0x0e 0xc0
    117 
    118 # IT block end
    119 # CHECK:	rsbs	r1, r2, #0
    120 0x51 0x42
    121 
    122 # CHECK: cpsid.w  f
    123 0xaf 0xf3 0x20 0x86
    124 
    125 # CHECK: cps  #15
    126 0xaf 0xf3 0x0f 0x81
    127 
    128 # CHECK: cpsie  if, #10
    129 0xaf 0xf3 0x6a 0x85
    130 
    131 # CHECK: cpsie aif
    132 0x67 0xb6
    133 
    134 # CHECK: msr CPSR_fc, r0
    135 0x80 0xf3 0x00 0x89
    136 
    137 # CHECK: blx	#-4
    138 0xff 0xf7 0xfe 0xef
    139 
    140 # CHECK:	vpush	{d8, d9, d10}
    141 0x2d 0xed 0x06 0x8b
    142 
    143 # CHECK:	vcmpe.f64	d8, #0
    144 0xb5 0xee 0xc0 0x8b
    145 
    146 # CHECK:	stmdb	sp, {r0, r2, r3, r8, r11, lr}
    147 0x0d 0xe9 0x0d 0x49
    148 
    149 # CHECK:	stm	r5!, {r0, r1, r2, r3, r4}
    150 0x1f 0xc5
    151 
    152 # CHECK:	ldm	r5, {r0, r1, r2, r3, r4, r5}
    153 0x3f 0xcd
    154 
    155 # CHECK:	ldm	r5!, {r0, r1, r2, r3, r4}
    156 0x1f 0xcd
    157 
    158 # CHECK:	addw	r0, pc, #1050
    159 0x0f 0xf2 0x1a 0x40
    160 
    161 # CHECK:	ldrd	r3, r8, [r11, #-60]
    162 0x5b 0xe9 0x0f 0x38
    163 
    164 # CHECK:	ldrex	r8, [r2]
    165 0x52 0xe8 0x00 0x8f
    166 
    167 # CHECK:	ldrexd	r8, r9, [r2]
    168 0xd2 0xe8 0x7f 0x89
    169 
    170 # CHECK:	strexd	r1, r7, r8, [r2]
    171 0xc2 0xe8 0x71 0x78
    172 
    173 # CHECK:	tbh	[r5, r4, lsl #1]
    174 0xd5 0xe8 0x14 0xf0
    175 
    176 # CHECK:	tbb	[r5, r4]
    177 0xd5 0xe8 0x04 0xf0
    178 
    179 # CHECK:	ldr.w	r4, [sp, r4, lsl #3]
    180 0x5d 0xf8 0x34 0x40
    181 
    182 # CHECK:	ldr.w	r5, [r6, #30]
    183 0xd6 0xf8 0x1e 0x50
    184 
    185 # CHECK:	ldrh.w	r5, [r6, #30]
    186 0xb6 0xf8 0x1e 0x50
    187 
    188 # CHECK:	ldrt	r5, [r6, #30]
    189 0x56 0xf8 0x1e 0x5e
    190 
    191 # CHECK:	ldr	r5, [r6, #-30]
    192 0x56 0xf8 0x1e 0x5c
    193 
    194 # CHECK:	sel	r7, r3, r5
    195 0xa3 0xfa 0x85 0xf7
    196 
    197 # CHECK:	lsl.w	r7, r3, r5
    198 0x03 0xfa 0x05 0xf7
    199 
    200 # CHECK:	adds.w	r7, r3, r5
    201 0x13 0xeb 0x05 0x07
    202 
    203 # CHECK:	smlabt	r4, r3, r2, r1
    204 0x13 0xfb 0x12 0x14
    205 
    206 # CHECK:	smmulr	r7, r8, r9
    207 0x58 0xfb 0x19 0xf7
    208 
    209 # CHECK:	umull	r1, r2, r3, r4
    210 0xa3 0xfb 0x04 0x12
    211 
    212 # CHECK:	pld	[r5, r0, lsl #1]
    213 0x15 0xf8 0x10 0xf0
    214 
    215 # CHECK:	pld	[pc, #-16]
    216 0x1f 0xf8 0x10 0xf0
    217 
    218 # CHECK:	pld	[r5, #30]
    219 0x95 0xf8 0x1e 0xf0
    220 
    221 # CHECK:	stc2	p12, c15, [r9], {137}
    222 0x89 0xfc 0x89 0xfc
    223 
    224 # CHECK:	stc2	p0, c0, [r0, #0]!
    225 0xa0 0xfd 0x00 0x00
    226 
    227 # CHECK:	vmov	r1, r0, d11
    228 0x50 0xec 0x1b 0x1b
    229 
    230 # CHECK:	dsb	nsh
    231 0xbf 0xf3 0x47 0x8f
    232 
    233 # CHECK:	isb
    234 0xbf 0xf3 0x6f 0x8f
    235 
    236 # CHECK:	asrs	r1, r0, #32
    237 0x1 0x10
    238 
    239 # CHECK:	lsr.w	r10, r0, #32
    240 0x4f 0xea 0x10 0x0a
    241 
    242 # CHECK:	blx	sp
    243 0xe8 0x47
    244 
    245 # CHECK:	bx	lr
    246 0x70 0x47
    247 
    248 # CHECK:	bx	pc
    249 0x78 0x47
    250 
    251 # CHECK:	svc	#230
    252 0xe6 0xdf
    253 
    254 # CHECK:	rfedb	lr
    255 0x1e 0xe8 0x00 0xc0
    256 
    257 # CHECK:	mov.w	r3, #4294967295
    258 0x4f 0xf0 0xff 0x33
    259 
    260 # CHECK:	mov	pc, sp
    261 0xef 0x46
    262 
    263 # CHECK:	nop
    264 0x00 0xbf
    265 
    266 # CHECK:	nop.w
    267 0xaf 0xf3 0x00 0x80
    268 
    269 # CHECK:	bne	#24
    270 0x0c 0xd1
    271 
    272 # CHECK:	vadd.f32	q0, q1, q2
    273 0x02 0xef 0x44 0x0d
    274 
    275 # CHECK:        ldrsb   r1, [r0, r0]
    276 0x01 0x56
    277 
    278 # CHECK:        ldrsh   r1, [r0, r0]
    279 0x01 0x5E
    280 
    281 # CHECK: and.w	r5, r1, r10, ror #7
    282 0x1 0xea 0xfa 0x95
    283 
    284 # CHECK: ldrsh	r6, [sp], #81
    285 0x3d 0xf9 0x51 0x6b
    286 
    287 # CHECK: usat16	r4, #10, r1
    288 0xa1 0xf3 0x0a 0x04
    289 
    290 # CHECK: smlad	r5, r12, r8, r11
    291 0x2c 0xfb 0x8 0xb5
    292 
    293 # CHECK: teq.w	r0, r11
    294 0x90 0xea 0xb 0x8f
    295 
    296 # CHECK: uxtb16	r9, r12, ror #16
    297 0x3f 0xfa 0xec 0xf9
    298 
    299 # CHECK: pldw	[r11, r12, lsl #2]
    300 0x3b 0xf8 0x2c 0xf0
    301 
    302 # CHECK: msr    CPSR_fc, r0
    303 0x80 0xf3 0x00 0x89
    304 
    305 # CHECK: mrs    r0, apsr
    306 0xef 0xf3 0x00 0x80
    307 
    308 # rdar://11313994
    309 # CHECK: blx	#2313244
    310 0x34 0xf2 0x0e 0xee
    311 
    312 # rdar://11324693
    313 # CHECK: bl	#-12303196
    314 0x44 0xf4 0x52 0xda
    315