1 # name: Thumb instructions
2 # as: -mcpu=arm7t
3 # objdump: -dr --prefix-addresses --show-raw-insn
4 # The arm-aout and arm-pe ports do not support Thumb branch relocations.
5 # EABI targets have their own variant.
6 # not-target: *-*-*aout* *-*-pe *-*-*eabi* *-*-symbianelf *-*-nacl*
7 
8 .*: +file format .*arm.*
9 
10 Disassembly of section \.text:
11 0+000 <[^>]+> 00ca      	lsls	r2, r1, #3
12 0+002 <[^>]+> 0fe3      	lsrs	r3, r4, #31
13 0+004 <[^>]+> 1147      	asrs	r7, r0, #5
14 0+006 <[^>]+> 0011      	movs	r1, r2
15 0+008 <[^>]+> 0023      	movs	r3, r4
16 0+00a <[^>]+> 002c      	movs	r4, r5
17 0+00c <[^>]+> 083e      	lsrs	r6, r7, #32
18 0+00e <[^>]+> 1008      	asrs	r0, r1, #32
19 0+010 <[^>]+> 18d1      	adds	r1, r2, r3
20 0+012 <[^>]+> 1ca2      	adds	r2, r4, #2
21 0+014 <[^>]+> 1beb      	subs	r3, r5, r7
22 0+016 <[^>]+> 1fe2      	subs	r2, r4, #7
23 0+018 <[^>]+> 24ff      	movs	r4, #255.*
24 0+01a <[^>]+> 2bfa      	cmp	r3, #250.*
25 0+01c <[^>]+> 367b      	adds	r6, #123.*
26 0+01e <[^>]+> 3d80      	subs	r5, #128.*
27 0+020 <[^>]+> 402b      	ands	r3, r5
28 0+022 <[^>]+> 4074      	eors	r4, r6
29 0+024 <[^>]+> 4081      	lsls	r1, r0
30 0+026 <[^>]+> 40da      	lsrs	r2, r3
31 0+028 <[^>]+> 4134      	asrs	r4, r6
32 0+02a <[^>]+> 417d      	adcs	r5, r7
33 0+02c <[^>]+> 41a0      	sbcs	r0, r4
34 0+02e <[^>]+> 41e1      	rors	r1, r4
35 0+030 <[^>]+> 422a      	tst	r2, r5
36 0+032 <[^>]+> 4249      	negs	r1, r1
37 0+034 <[^>]+> 429a      	cmp	r2, r3
38 0+036 <[^>]+> 42e1      	cmn	r1, r4
39 0+038 <[^>]+> 4318      	orrs	r0, r3
40 0+03a <[^>]+> 436c      	muls	r4, r5
41 0+03c <[^>]+> 43bd      	bics	r5, r7
42 0+03e <[^>]+> 43ed      	mvns	r5, r5
43 0+040 <[^>]+> 4469      	add	r1, sp
44 0+042 <[^>]+> 4494      	add	ip, r2
45 0+044 <[^>]+> 44c9      	add	r9, r9
46 0+046 <[^>]+> 4571      	cmp	r1, lr
47 0+048 <[^>]+> 4580      	cmp	r8, r0
48 0+04a <[^>]+> 45f4      	cmp	ip, lr
49 0+04c <[^>]+> 4648      	mov	r0, r9
50 0+04e <[^>]+> 46a1      	mov	r9, r4
51 0+050 <[^>]+> 46c0      	nop			; \(mov r8, r8\)
52 0+052 <[^>]+> 4738      	bx	r7
53 0+054 <[^>]+> 4740      	bx	r8
54 0+056 <[^>]+> 46c0      	nop			; \(mov r8, r8\)
55 0+058 <[^>]+> 4778      	bx	pc
56 0+05a <[^>]+> 4b20      	ldr	r3, \[pc, #128\]	; \(0+0dc <[^>]+>\)
57 0+05c <[^>]+> 4c02      	ldr	r4, \[pc, #8\]	; \(0+068 <[^>]+>\)
58 0+05e <[^>]+> 5088      	str	r0, \[r1, r2\]
59 0+060 <[^>]+> 5511      	strb	r1, \[r2, r4\]
60 0+062 <[^>]+> 59f5      	ldr	r5, \[r6, r7\]
61 0+064 <[^>]+> 5d62      	ldrb	r2, \[r4, r5\]
62 0+066 <[^>]+> 46c0      	nop			; \(mov r8, r8\)
63 0+068 <[^>]+> 52d1      	strh	r1, \[r2, r3\]
64 0+06a <[^>]+> 5a23      	ldrh	r3, \[r4, r0\]
65 0+06c <[^>]+> 57f1      	ldrsb	r1, \[r6, r7\]
66 0+06e <[^>]+> 5f42      	ldrsh	r2, \[r0, r5\]
67 0+070 <[^>]+> 67db      	str	r3, \[r3, #124\].*
68 0+072 <[^>]+> 6fe1      	ldr	r1, \[r4, #124\].*
69 0+074 <[^>]+> 682d      	ldr	r5, \[r5, #0\]
70 0+076 <[^>]+> 77e9      	strb	r1, \[r5, #31\]
71 0+078 <[^>]+> 7161      	strb	r1, \[r4, #5\]
72 0+07a <[^>]+> 7032      	strb	r2, \[r6, #0\]
73 0+07c <[^>]+> 87ec      	strh	r4, \[r5, #62\].*
74 0+07e <[^>]+> 8885      	ldrh	r5, \[r0, #4\]
75 0+080 <[^>]+> 8813      	ldrh	r3, \[r2, #0\]
76 0+082 <[^>]+> 93ff      	str	r3, \[sp, #1020\].*
77 0+084 <[^>]+> 990b      	ldr	r1, \[sp, #44\].*
78 0+086 <[^>]+> 9a00      	ldr	r2, \[sp, #0\]
79 0+088 <[^>]+> a7ff      	add	r7, pc, #1020	; \(adr r7, 0+488 <[^>]+>\)
80 0+08a <[^>]+> ac80      	add	r4, sp, #512.*
81 0+08c <[^>]+> b043      	add	sp, #268.*
82 0+08e <[^>]+> b09a      	sub	sp, #104.*
83 0+090 <[^>]+> b0c3      	sub	sp, #268.*
84 0+092 <[^>]+> b01b      	add	sp, #108.*
85 0+094 <[^>]+> b417      	push	{r0, r1, r2, r4}
86 0+096 <[^>]+> b5f9      	push	{r0, r3, r4, r5, r6, r7, lr}
87 0+098 <[^>]+> bc98      	pop	{r3, r4, r7}
88 0+09a <[^>]+> bdff      	pop	{r0, r1, r2, r3, r4, r5, r6, r7, pc}
89 0+09c <[^>]+> c3f3      	stmia	r3!, {r0, r1, r4, r5, r6, r7}
90 0+09e <[^>]+> c8fe      	ldmia	r0!, {r1, r2, r3, r4, r5, r6, r7}
91 0+0a0 <[^>]+> d0e2      	beq.n	0+068 <[^>]+>
92 0+0a2 <[^>]+> d1e1      	bne.n	0+068 <[^>]+>
93 0+0a4 <[^>]+> d2e0      	bcs.n	0+068 <[^>]+>
94 0+0a6 <[^>]+> d3df      	bcc.n	0+068 <[^>]+>
95 0+0a8 <[^>]+> d4de      	bmi.n	0+068 <[^>]+>
96 0+0aa <[^>]+> d5dd      	bpl.n	0+068 <[^>]+>
97 0+0ac <[^>]+> d6dc      	bvs.n	0+068 <[^>]+>
98 0+0ae <[^>]+> d7db      	bvc.n	0+068 <[^>]+>
99 0+0b0 <[^>]+> d8da      	bhi.n	0+068 <[^>]+>
100 0+0b2 <[^>]+> d9d9      	bls.n	0+068 <[^>]+>
101 0+0b4 <[^>]+> dad8      	bge.n	0+068 <[^>]+>
102 0+0b6 <[^>]+> dcd7      	bgt.n	0+068 <[^>]+>
103 0+0b8 <[^>]+> dbd6      	blt.n	0+068 <[^>]+>
104 0+0ba <[^>]+> dcd5      	bgt.n	0+068 <[^>]+>
105 0+0bc <[^>]+> ddd4      	ble.n	0+068 <[^>]+>
106 0+0be <[^>]+> d8d3      	bhi.n	0+068 <[^>]+>
107 0+0c0 <[^>]+> d3d2      	bcc.n	0+068 <[^>]+>
108 0+0c2 <[^>]+> d3d1      	bcc.n	0+068 <[^>]+>
109 0+0c4 <[^>]+> e7d0      	b.n	0+068 <[^>]+>
110 0+0c6 <[^>]+> 00ac      	lsls	r4, r5, #2
111 0+0c8 <[^>]+> 1c9a      	adds	r2, r3, #2
112 0+0ca <[^>]+> b07f      	add	sp, #508.*
113 0+0cc <[^>]+> b0ff      	sub	sp, #508.*
114 0+0ce <[^>]+> a8ff      	add	r0, sp, #1020.*
115 0+0d0 <[^>]+> a0ff      	add	r0, pc, #1020	; \(adr r0, 0+4d0 <[^>]+>\)
116 0+0d2 <[^>]+> b01a      	add	sp, #104.*
117 0+0d4 <[^>]+> b09a      	sub	sp, #104.*
118 0+0d6 <[^>]+> a81a      	add	r0, sp, #104.*
119 0+0d8 <[^>]+> a01a      	add	r0, pc, #104	; \(adr r0, 0+144 <[^>]+>\)
120 0+0da <[^>]+> 3168      	adds	r1, #104.*
121 0+0dc <[^>]+> 2668      	movs	r6, #104.*
122 0+0de <[^>]+> 2f68      	cmp	r7, #104.*
123 0+0e0 <[^>]+> 46c0      	nop			; \(mov r8, r8\)
124 0+0e2 <[^>]+> 46c0      	nop			; \(mov r8, r8\)
125 0+0e4 <[^>]+> eafffffe 	b	0+0e4 <[^>]+>
126 0+0e8 <[^>]+> ea000011 	b	0+134 <[^>]+>
127 0+0ec <[^>]+> ebfffffc 	bl	0+0e4 <[^>]+>
128 0+0f0 <[^>]+> eb00000f 	bl	0+134 <[^>]+>
129 0+0f4 <[^>]+> e12fff10 	bx	r0
130 0+0f8 <[^>]+> ef123456 	(swi|svc)	0x00123456
131 0+0fc <[^>]+> a004      	add	r0, pc, #16	; \(adr r0, 0+110 <[^>]+>\)
132 0+0fe <[^>]+> e77f      	b.n	0+000 <[^>]+>
133 0+100 <[^>]+> e018      	b.n	0+134 <[^>]+>
134 0+102 <[^>]+> f7ff ff7d 	bl	0+000 <[^>]+>
135 0+106 <[^>]+> f000 f815 	bl	0+134 <[^>]+>
136 0+10a <[^>]+> 4700      	bx	r0
137 0+10c <[^>]+> dfff      	(swi|svc)	255.*
138 0+10e <[^>]+> 46c0      	nop			; \(mov r8, r8\)
139 0+110 <[^>]+> d010      	beq.n	0+134 <[^>]+>
140 0+112 <[^>]+> d10f      	bne.n	0+134 <[^>]+>
141 0+114 <[^>]+> d20e      	bcs.n	0+134 <[^>]+>
142 0+116 <[^>]+> d30d      	bcc.n	0+134 <[^>]+>
143 0+118 <[^>]+> d40c      	bmi.n	0+134 <[^>]+>
144 0+11a <[^>]+> d50b      	bpl.n	0+134 <[^>]+>
145 0+11c <[^>]+> d60a      	bvs.n	0+134 <[^>]+>
146 0+11e <[^>]+> d709      	bvc.n	0+134 <[^>]+>
147 0+120 <[^>]+> d808      	bhi.n	0+134 <[^>]+>
148 0+122 <[^>]+> d907      	bls.n	0+134 <[^>]+>
149 0+124 <[^>]+> da06      	bge.n	0+134 <[^>]+>
150 0+126 <[^>]+> dc05      	bgt.n	0+134 <[^>]+>
151 0+128 <[^>]+> db04      	blt.n	0+134 <[^>]+>
152 0+12a <[^>]+> dc03      	bgt.n	0+134 <[^>]+>
153 0+12c <[^>]+> dd02      	ble.n	0+134 <[^>]+>
154 0+12e <[^>]+> d801      	bhi.n	0+134 <[^>]+>
155 0+130 <[^>]+> d300      	bcc.n	0+134 <[^>]+>
156 0+132 <[^>]+> d3ff      	bcc.n	0+134 <[^>]+>
157 0+134 <[^>]+> f000 fc00 	bl	0+938 <[^>]+>
158 	\.\.\.
159 0+938 <[^>]+> f7ff fbfc 	bl	0+134 <[^>]+>
160 0+93c <[^>]+> 4801      	ldr	r0, \[pc, #4\]	; \(0+944 <[^>]+>\)
161 0+93e <[^>]+> 4801      	ldr	r0, \[pc, #4\]	; \(0+944 <[^>]+>\)
162 0+940 <[^>]+> 4801      	ldr	r0, \[pc, #4\]	; \(0+948 <[^>]+>\)
163 0+942 <[^>]+> 4801      	ldr	r0, \[pc, #4\]	; \(0+948 <[^>]+>\)
164 0+944 <[^>]+> 1c08      	adds	r0, r1, #0
165 0+946 <[^>]+> 46c0      	nop			; \(mov r8, r8\)
166 0+948 <[^>]+> a001      	add	r0, pc, #4	; \(adr r0, 00000950 <[^>]+>\)
167 0+94a <[^>]+> a001      	add	r0, pc, #4	; \(adr r0, 00000950 <[^>]+>\)
168 0+94c <[^>]+> a000      	add	r0, pc, #0	; \(adr r0, 00000950 <[^>]+>\)
169 0+94e <[^>]+> 46c0      	nop			; \(mov r8, r8\)
170 #pass
171