| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 1 | # RUN: llvm-mc --disassemble %s -triple=arm-apple-darwin9 | FileCheck %s | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 2 |  | 
| Johnny Chen | 8bbc128 | 2011-03-24 20:42:48 +0000 | [diff] [blame] | 3 | # CHECK:	addpl	r4, pc, #19, 8 | 
|  | 4 | 0x4c 0x45 0x8f 0x52 | 
|  | 5 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 6 | # CHECK:	b	#0 | 
| Johnny Chen | a4c3154 | 2011-03-15 22:27:33 +0000 | [diff] [blame] | 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 | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 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 |  | 
| Bob Wilson | 775eec22 | 2011-01-28 17:50:30 +0000 | [diff] [blame] | 21 | # CHECK:	mov	pc, lr | 
|  | 22 | 0x0e 0xf0 0xa0 0xe1 | 
|  | 23 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 24 | # CHECK:	cmn	r0, #1 | 
|  | 25 | 0x01 0x00 0x70 0xe3 | 
|  | 26 |  | 
| Johnny Chen | d59c73f | 2010-08-11 23:35:12 +0000 | [diff] [blame] | 27 | # CHECK:	dmb | 
|  | 28 | 0x5f 0xf0 0x7f 0xf5 | 
|  | 29 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 30 | # CHECK:	dmb	nshst | 
|  | 31 | 0x56 0xf0 0x7f 0xf5 | 
|  | 32 |  | 
| Johnny Chen | d59c73f | 2010-08-11 23:35:12 +0000 | [diff] [blame] | 33 | # CHECK:	dsb | 
|  | 34 | 0x4f 0xf0 0x7f 0xf5 | 
|  | 35 |  | 
| Johnny Chen | 8e8f1c1 | 2010-08-12 20:46:17 +0000 | [diff] [blame] | 36 | # CHECK:	dsb	st | 
|  | 37 | 0x4e 0xf0 0x7f 0xf5 | 
|  | 38 |  | 
|  | 39 | # CHECK:	isb | 
|  | 40 | 0x6f 0xf0 0x7f 0xf5 | 
|  | 41 |  | 
| Johnny Chen | 807e174 | 2010-04-16 19:33:23 +0000 | [diff] [blame] | 42 | # CHECK:	ldclvc	p5, cr15, [r8], #-0 | 
|  | 43 | 0x00 0xf5 0x78 0x7c | 
|  | 44 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 45 | # CHECK:	ldr	r0, [r2], #15 | 
|  | 46 | 0x0f 0x00 0x92 0xe4 | 
|  | 47 |  | 
| Johnny Chen | 3dfb80a | 2011-04-01 20:21:38 +0000 | [diff] [blame] | 48 | # CHECK:	ldr	r5, [r7, -r10, lsl #2] | 
|  | 49 | 0x0a 0x51 0x17 0xe7 | 
|  | 50 |  | 
| Johnny Chen | 2b7aba1 | 2010-04-16 19:57:21 +0000 | [diff] [blame] | 51 | # CHECK:	ldrh	r0, [r2], #0 | 
|  | 52 | 0xb0 0x00 0xd2 0xe0 | 
|  | 53 |  | 
| Johnny Chen | 1d3ee60 | 2010-04-15 23:23:40 +0000 | [diff] [blame] | 54 | # CHECK:	ldrht	r0, [r2], #15 | 
|  | 55 | 0xbf 0x00 0xf2 0xe0 | 
|  | 56 |  | 
| Johnny Chen | acbc06c | 2010-04-15 23:12:47 +0000 | [diff] [blame] | 57 | # CHECK:	ldrsbtvs	lr, [r2], -r9 | 
|  | 58 | 0xd9 0xe9 0x32 0x60 | 
|  | 59 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 60 | # CHECK:	lsls	r0, r2, #31 | 
|  | 61 | 0x82 0x0f 0xb0 0xe1 | 
|  | 62 |  | 
| Owen Anderson | ec47597 | 2011-01-13 22:38:16 +0000 | [diff] [blame] | 63 | # CHECK:	mcr2	p0, #0, r2, c1, c0, #7 | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 64 | 0xf0 0x20 0x01 0xfe | 
|  | 65 |  | 
|  | 66 | # CHECK:	movt	r8, #65535 | 
|  | 67 | 0xff 0x8f 0x4f 0xe3 | 
|  | 68 |  | 
| Bob Wilson | 5935184 | 2010-10-15 03:23:44 +0000 | [diff] [blame] | 69 | # CHECK:	mvnspl	r7, #245, 2 | 
| Johnny Chen | fc93503 | 2010-04-12 18:46:53 +0000 | [diff] [blame] | 70 | 0xf5 0x71 0xf0 0x53 | 
|  | 71 |  | 
| Bob Wilson | 97886d5 | 2010-08-05 00:34:42 +0000 | [diff] [blame] | 72 | # CHECK-NOT:	orr	r7, r8, r7, rrx #0 | 
|  | 73 | # CHECK:	orr	r7, r8, r7, rrx | 
|  | 74 | 0x67 0x70 0x88 0xe1 | 
|  | 75 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 76 | # CHECK:	pkhbt	r8, r9, r10, lsl #4 | 
|  | 77 | 0x1a 0x82 0x89 0xe6 | 
|  | 78 |  | 
| Bob Wilson | 942b10f | 2010-08-17 17:23:19 +0000 | [diff] [blame] | 79 | # CHECK-NOT:	pkhbtls	pc, r11, r11, lsl #0 | 
|  | 80 | # CHECK:	pkhbtls	pc, r11, r11 | 
|  | 81 | 0x1b 0xf0 0x8b 0x96 | 
|  | 82 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 83 | # CHECK:	pop	{r0, r2, r4, r6, r8, r10} | 
|  | 84 | 0x55 0x05 0xbd 0xe8 | 
|  | 85 |  | 
|  | 86 | # CHECK:	push	{r0, r2, r4, r6, r8, r10} | 
|  | 87 | 0x55 0x05 0x2d 0xe9 | 
|  | 88 |  | 
|  | 89 | # CHECK:	qsax	r8, r9, r10 | 
|  | 90 | 0x5a 0x8f 0x29 0xe6 | 
|  | 91 |  | 
|  | 92 | # CHECK:	rfedb	r0! | 
|  | 93 | 0x00 0x0a 0x30 0xf9 | 
|  | 94 |  | 
| Bob Wilson | adb93e5 | 2010-08-05 18:23:43 +0000 | [diff] [blame] | 95 | # CHECK-NOT:	rsbeq	r0, r2, r0, lsl #0 | 
|  | 96 | # CHECK:	rsbeq	r0, r2, r0 | 
|  | 97 | 0x00 0x00 0x62 0x00 | 
|  | 98 |  | 
| Bob Wilson | 5935184 | 2010-10-15 03:23:44 +0000 | [diff] [blame] | 99 | # CHECK-NOT:	rscseq	r0, r0, r1, lsl #0 | 
|  | 100 | # CHECK:	rscseq	r0, r0, r1 | 
| Bob Wilson | 72de307 | 2010-08-05 18:59:36 +0000 | [diff] [blame] | 101 | 0x01 0x00 0xf0 0x00 | 
|  | 102 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 103 | # CHECK:	sbcs	r0, pc, #1 | 
|  | 104 | 0x01 0x00 0xdf 0xe2 | 
|  | 105 |  | 
|  | 106 | # CHECK:	sbfx	r0, r1, #0, #8 | 
|  | 107 | 0x51 0x00 0xa7 0xe7 | 
|  | 108 |  | 
|  | 109 | # CHECK:	ssat	r8, #1, r10, lsl #8 | 
|  | 110 | 0x1a 0x84 0xa0 0xe6 | 
|  | 111 |  | 
| Bob Wilson | add51311 | 2010-08-11 23:10:46 +0000 | [diff] [blame] | 112 | # CHECK-NOT:	ssatmi	r0, #17, r12, lsl #0 | 
|  | 113 | # CHECK:	ssatmi	r0, #17, r12 | 
|  | 114 | 0x1c 0x00 0xb0 0x46 | 
|  | 115 |  | 
| Johnny Chen | 7b999ea | 2010-04-02 22:27:38 +0000 | [diff] [blame] | 116 | # CHECK:	stmdb	r10!, {r4, r5, r6, r7, lr} | 
|  | 117 | 0xf0 0x40 0x2a 0xe9 | 
|  | 118 |  | 
|  | 119 | # CHECK:	teq	r0, #31 | 
|  | 120 | 0x1f 0x00 0x30 0xe3 | 
|  | 121 |  | 
|  | 122 | # CHECK:	ubfx	r0, r0, #16, #1 | 
|  | 123 | 0x50 0x08 0xe0 0xe7 | 
|  | 124 |  | 
| Johnny Chen | 74491bb | 2010-08-12 01:40:54 +0000 | [diff] [blame] | 125 | # CHECK:	usat	r8, #0, r10, asr #32 | 
|  | 126 | 0x5a 0x80 0xe0 0xe6 | 
| Jim Grosbach | 7e72ec6 | 2010-10-13 21:00:04 +0000 | [diff] [blame] | 127 |  | 
|  | 128 | # CHECK:        setend be | 
|  | 129 | 0x00 0x02 0x01 0xf1 | 
|  | 130 |  | 
|  | 131 | # CHECK:        setend le | 
|  | 132 | 0x00 0x00 0x01 0xf1 | 
| Bruno Cardoso Lopes | 90d1dfe | 2011-02-14 13:09:44 +0000 | [diff] [blame] | 133 |  | 
|  | 134 | # CHECK: cpsie  aif | 
|  | 135 | 0xc0 0x01 0x08 0xf1 | 
|  | 136 |  | 
|  | 137 | # CHECK: cps  #15 | 
|  | 138 | 0x0f 0x00 0x02 0xf1 | 
|  | 139 |  | 
|  | 140 | # CHECK: cpsie if, #10 | 
|  | 141 | 0xca 0x00 0x0a 0xf1 | 
| Bruno Cardoso Lopes | 9cd4397 | 2011-02-18 19:45:59 +0000 | [diff] [blame] | 142 |  | 
|  | 143 | # CHECK: msr cpsr_fc, r0 | 
|  | 144 | 0x00 0xf0 0x29 0xe1 | 
| Kevin Enderby | b8b6041 | 2011-03-02 23:08:33 +0000 | [diff] [blame] | 145 |  | 
| Johnny Chen | a0f0b5d | 2011-03-29 21:52:02 +0000 | [diff] [blame] | 146 | # CHECK:	msrmi	cpsr_c, #241, 8 | 
|  | 147 | 0xf1 0xf4 0x21 0x43 | 
|  | 148 |  | 
| Kevin Enderby | b8b6041 | 2011-03-02 23:08:33 +0000 | [diff] [blame] | 149 | # CHECK: rsbs r6, r7, r8 | 
|  | 150 | 0x08 0x60 0x77 0xe0 | 
| Bob Wilson | ec84568 | 2011-03-03 01:41:01 +0000 | [diff] [blame] | 151 |  | 
|  | 152 | # CHECK: blxeq r5 | 
|  | 153 | 0x35 0xff 0x2f 0x01 | 
| Bob Wilson | 6f6d739 | 2011-03-03 07:19:52 +0000 | [diff] [blame] | 154 |  | 
|  | 155 | # CHECK: bx r12 | 
|  | 156 | 0x1c 0xff 0x2f 0xe1 | 
| Johnny Chen | 9363d41 | 2011-03-09 20:01:14 +0000 | [diff] [blame] | 157 |  | 
|  | 158 | # CHECK:	uqadd16mi	r6, r11, r8 | 
|  | 159 | 0x18 0x60 0x6b 0x46 | 
| Johnny Chen | 7a2873d | 2011-03-15 01:13:17 +0000 | [diff] [blame] | 160 |  | 
|  | 161 | # CHECK:	str	r0, [sp, #4] | 
|  | 162 | 0x04 0x00 0x8d 0xe5 | 
|  | 163 |  | 
|  | 164 | # CHECK:	str	r1, [sp] | 
|  | 165 | 0x00 0x10 0x8d 0xe5 | 
|  | 166 |  | 
|  | 167 | # CHECK:	ldr	r3, [pc, #144] | 
|  | 168 | 0x90 0x30 0x9f 0xe5 | 
|  | 169 |  | 
| Johnny Chen | fe6fba3 | 2011-04-01 18:26:38 +0000 | [diff] [blame] | 170 | # CHECK:	ldr	r3, [r0, #-4] | 
|  | 171 | 0x4 0x30 0x10 0xe5 | 
|  | 172 |  | 
|  | 173 | # CHECK:	ldr	r5, [sp, r0, lsl #1]! | 
|  | 174 | 0x80 0x50 0xbd 0xe7 | 
|  | 175 |  | 
|  | 176 | # CHECK:	ldr	r5, [r7], -r0, lsr #2 | 
|  | 177 | 0x20 0x51 0x17 0xe6 | 
|  | 178 |  | 
| Johnny Chen | 7a2873d | 2011-03-15 01:13:17 +0000 | [diff] [blame] | 179 | # CHECK:	strdeq	r2, r3, [r0], -r8 | 
|  | 180 | 0xf8 0x24 0x00 0x00 | 
| Johnny Chen | 0c5f670 | 2011-03-19 01:16:20 +0000 | [diff] [blame] | 181 |  | 
|  | 182 | # CHECK:	ldrdeq	r2, [r0], -r12 | 
|  | 183 | 0xdc 0x24 0x00 0x00 | 
| Johnny Chen | 30350cd | 2011-03-22 22:28:49 +0000 | [diff] [blame] | 184 |  | 
|  | 185 | # CHECK:	ldrbt	r3, [r4], -r5, lsl #12 | 
|  | 186 | 0x05 0x36 0x74 0xe6 | 
| Johnny Chen | 122a630 | 2011-03-22 23:08:56 +0000 | [diff] [blame] | 187 |  | 
|  | 188 | # CHECK:	vcmpe.f64	d8, #0 | 
|  | 189 | 0xc0 0x8b 0xb5 0xee | 
| Johnny Chen | f949d8e | 2011-03-24 00:28:38 +0000 | [diff] [blame] | 190 |  | 
| Johnny Chen | ec6f76e | 2011-03-29 19:08:52 +0000 | [diff] [blame] | 191 | # CHECK:	vldmdb	r2!, {s7, s8, s9, s10, s11} | 
|  | 192 | 0x05 0x3a 0x72 0xed | 
|  | 193 |  | 
|  | 194 | # CHECK:	vldr.32	s23, [r2, #660] | 
|  | 195 | 0xa5 0xba 0xd2 0xed | 
|  | 196 |  | 
| Johnny Chen | 1de8cc6 | 2011-03-24 01:07:26 +0000 | [diff] [blame] | 197 | # CHECK:	strtvc	r5, [r3], r0, lsr #20 | 
|  | 198 | 0x30 0x5a 0xa3 0x76 | 
| Johnny Chen | 0f5d52d | 2011-03-24 01:40:42 +0000 | [diff] [blame] | 199 |  | 
|  | 200 | # CHECK:	stmiblo	sp, {r0, r4, r8, r11, r12, pc} | 
|  | 201 | 0x11 0x99 0x8d 0x39 | 
|  | 202 |  | 
|  | 203 | # CHECK:	ldmdb	sp, {r0, r4, r8, r11, r12, pc} | 
|  | 204 | 0x11 0x99 0x1d 0xe9 | 
| Johnny Chen | aa84d41 | 2011-03-25 17:31:16 +0000 | [diff] [blame] | 205 |  | 
|  | 206 | # CHECK:	swpge	r3, r2, [r6] | 
|  | 207 | 0x92 0x30 0x06 0xa1 | 
| Johnny Chen | 1572bf4 | 2011-03-25 23:02:58 +0000 | [diff] [blame] | 208 |  | 
|  | 209 | # CHECK:	umull	r1, r2, r3, r4 | 
|  | 210 | 0x93 0x14 0x82 0xe0 | 
| Johnny Chen | f9cd139 | 2011-03-28 18:41:58 +0000 | [diff] [blame] | 211 |  | 
|  | 212 | # CHECK:	pld	[pc, #-0] | 
|  | 213 | 0x00 0xf0 0x1f 0xf5 | 
|  | 214 |  | 
|  | 215 | # CHECK:	pli	[pc, #-0] | 
|  | 216 | 0x00 0xf0 0x5f 0xf4 | 
|  | 217 |  | 
|  | 218 | # CHECK:	pli	[r3, r1, lsl #2] | 
|  | 219 | 0x01 0xf1 0xd3 0xf6 | 
| Johnny Chen | 4bc2bae | 2011-03-29 19:49:38 +0000 | [diff] [blame] | 220 |  | 
|  | 221 | # CHECK:	stc	p2, cr4, [r9], {157} | 
|  | 222 | 0x9d 0x42 0x89 0xec | 
|  | 223 |  | 
|  | 224 | # CHECK:	stc2	p2, cr4, [r9], {157} | 
|  | 225 | 0x9d 0x42 0x89 0xfc | 
| Johnny Chen | 13baa0e | 2011-03-31 17:53:50 +0000 | [diff] [blame] | 226 |  | 
|  | 227 | # CHECK:	blx	#60 | 
|  | 228 | 0x0f 0x00 0x00 0xfa |