Commit | Line | Data |
---|---|---|
252b5132 RH |
1 | #objdump: -dr --prefix-addresses --show-raw-insn |
2 | #name: ARM basic instructions | |
49e5c6c5 | 3 | #as: -mcpu=arm7m -EL |
9a5c4b9e PB |
4 | # WinCE has its own version of this test. |
5 | #skip: *-wince-* | |
252b5132 RH |
6 | |
7 | # Test the standard ARM instructions: | |
8 | ||
9 | .*: +file format .*arm.* | |
10 | ||
11 | Disassembly of section .text: | |
fe56b6ce | 12 | 0+000 <[^>]*> e3a00000 ? mov r0, #0 |
58e2fc90 | 13 | 0+004 <[^>]*> e1a01002 ? mov r1, r2 |
5f69fa6d RE |
14 | 0+008 <[^>]*> e1a03184 ? lsl r3, r4, #3 |
15 | 0+00c <[^>]*> e1a05736 ? lsr r5, r6, r7 | |
16 | 0+010 <[^>]*> e1a08a59 ? asr r8, r9, sl | |
17 | 0+014 <[^>]*> e1a0bd1c ? lsl fp, ip, sp | |
18 | 0+018 <[^>]*> e1a0e06f ? rrx lr, pc | |
58e2fc90 L |
19 | 0+01c <[^>]*> e1a01002 ? mov r1, r2 |
20 | 0+020 <[^>]*> 01a02003 ? moveq r2, r3 | |
21 | 0+024 <[^>]*> 11a04005 ? movne r4, r5 | |
22 | 0+028 <[^>]*> b1a06007 ? movlt r6, r7 | |
23 | 0+02c <[^>]*> a1a08009 ? movge r8, r9 | |
24 | 0+030 <[^>]*> d1a0a00b ? movle sl, fp | |
25 | 0+034 <[^>]*> c1a0c00d ? movgt ip, sp | |
26 | 0+038 <[^>]*> 31a01002 ? movcc r1, r2 | |
27 | 0+03c <[^>]*> 21a01003 ? movcs r1, r3 | |
28 | 0+040 <[^>]*> 41a03006 ? movmi r3, r6 | |
29 | 0+044 <[^>]*> 51a07009 ? movpl r7, r9 | |
30 | 0+048 <[^>]*> 61a01008 ? movvs r1, r8 | |
5f69fa6d | 31 | 0+04c <[^>]*> 71a09fa1 ? lsrvc r9, r1, #31 |
58e2fc90 L |
32 | 0+050 <[^>]*> 81a0800f ? movhi r8, pc |
33 | 0+054 <[^>]*> 91a0f00e ? movls pc, lr | |
34 | 0+058 <[^>]*> 21a09008 ? movcs r9, r8 | |
35 | 0+05c <[^>]*> 31a01003 ? movcc r1, r3 | |
36 | 0+060 <[^>]*> e1b00008 ? movs r0, r8 | |
5f69fa6d | 37 | 0+064 <[^>]*> 31b00007 ? movscc r0, r7 |
fe56b6ce | 38 | 0+068 <[^>]*> e281000a ? add r0, r1, #10 |
58e2fc90 L |
39 | 0+06c <[^>]*> e0832004 ? add r2, r3, r4 |
40 | 0+070 <[^>]*> e0865287 ? add r5, r6, r7, lsl #5 | |
41 | 0+074 <[^>]*> e0821113 ? add r1, r2, r3, lsl r1 | |
fe56b6ce | 42 | 0+078 <[^>]*> e201000a ? and r0, r1, #10 |
58e2fc90 L |
43 | 0+07c <[^>]*> e0032004 ? and r2, r3, r4 |
44 | 0+080 <[^>]*> e0065287 ? and r5, r6, r7, lsl #5 | |
45 | 0+084 <[^>]*> e0021113 ? and r1, r2, r3, lsl r1 | |
fe56b6ce | 46 | 0+088 <[^>]*> e221000a ? eor r0, r1, #10 |
58e2fc90 L |
47 | 0+08c <[^>]*> e0232004 ? eor r2, r3, r4 |
48 | 0+090 <[^>]*> e0265287 ? eor r5, r6, r7, lsl #5 | |
49 | 0+094 <[^>]*> e0221113 ? eor r1, r2, r3, lsl r1 | |
fe56b6ce | 50 | 0+098 <[^>]*> e241000a ? sub r0, r1, #10 |
58e2fc90 L |
51 | 0+09c <[^>]*> e0432004 ? sub r2, r3, r4 |
52 | 0+0a0 <[^>]*> e0465287 ? sub r5, r6, r7, lsl #5 | |
53 | 0+0a4 <[^>]*> e0421113 ? sub r1, r2, r3, lsl r1 | |
fe56b6ce | 54 | 0+0a8 <[^>]*> e2a1000a ? adc r0, r1, #10 |
58e2fc90 L |
55 | 0+0ac <[^>]*> e0a32004 ? adc r2, r3, r4 |
56 | 0+0b0 <[^>]*> e0a65287 ? adc r5, r6, r7, lsl #5 | |
57 | 0+0b4 <[^>]*> e0a21113 ? adc r1, r2, r3, lsl r1 | |
fe56b6ce | 58 | 0+0b8 <[^>]*> e2c1000a ? sbc r0, r1, #10 |
58e2fc90 L |
59 | 0+0bc <[^>]*> e0c32004 ? sbc r2, r3, r4 |
60 | 0+0c0 <[^>]*> e0c65287 ? sbc r5, r6, r7, lsl #5 | |
61 | 0+0c4 <[^>]*> e0c21113 ? sbc r1, r2, r3, lsl r1 | |
fe56b6ce | 62 | 0+0c8 <[^>]*> e261000a ? rsb r0, r1, #10 |
58e2fc90 L |
63 | 0+0cc <[^>]*> e0632004 ? rsb r2, r3, r4 |
64 | 0+0d0 <[^>]*> e0665287 ? rsb r5, r6, r7, lsl #5 | |
65 | 0+0d4 <[^>]*> e0621113 ? rsb r1, r2, r3, lsl r1 | |
fe56b6ce | 66 | 0+0d8 <[^>]*> e2e1000a ? rsc r0, r1, #10 |
58e2fc90 L |
67 | 0+0dc <[^>]*> e0e32004 ? rsc r2, r3, r4 |
68 | 0+0e0 <[^>]*> e0e65287 ? rsc r5, r6, r7, lsl #5 | |
69 | 0+0e4 <[^>]*> e0e21113 ? rsc r1, r2, r3, lsl r1 | |
fe56b6ce | 70 | 0+0e8 <[^>]*> e381000a ? orr r0, r1, #10 |
58e2fc90 L |
71 | 0+0ec <[^>]*> e1832004 ? orr r2, r3, r4 |
72 | 0+0f0 <[^>]*> e1865287 ? orr r5, r6, r7, lsl #5 | |
73 | 0+0f4 <[^>]*> e1821113 ? orr r1, r2, r3, lsl r1 | |
fe56b6ce | 74 | 0+0f8 <[^>]*> e3c1000a ? bic r0, r1, #10 |
58e2fc90 L |
75 | 0+0fc <[^>]*> e1c32004 ? bic r2, r3, r4 |
76 | 0+100 <[^>]*> e1c65287 ? bic r5, r6, r7, lsl #5 | |
77 | 0+104 <[^>]*> e1c21113 ? bic r1, r2, r3, lsl r1 | |
fe56b6ce | 78 | 0+108 <[^>]*> e3e0000a ? mvn r0, #10 |
58e2fc90 L |
79 | 0+10c <[^>]*> e1e02004 ? mvn r2, r4 |
80 | 0+110 <[^>]*> e1e05287 ? mvn r5, r7, lsl #5 | |
81 | 0+114 <[^>]*> e1e01113 ? mvn r1, r3, lsl r1 | |
fe56b6ce | 82 | 0+118 <[^>]*> e310000a ? tst r0, #10 |
58e2fc90 L |
83 | 0+11c <[^>]*> e1120004 ? tst r2, r4 |
84 | 0+120 <[^>]*> e1150287 ? tst r5, r7, lsl #5 | |
85 | 0+124 <[^>]*> e1110113 ? tst r1, r3, lsl r1 | |
fe56b6ce | 86 | 0+128 <[^>]*> e330000a ? teq r0, #10 |
58e2fc90 L |
87 | 0+12c <[^>]*> e1320004 ? teq r2, r4 |
88 | 0+130 <[^>]*> e1350287 ? teq r5, r7, lsl #5 | |
89 | 0+134 <[^>]*> e1310113 ? teq r1, r3, lsl r1 | |
fe56b6ce | 90 | 0+138 <[^>]*> e350000a ? cmp r0, #10 |
58e2fc90 L |
91 | 0+13c <[^>]*> e1520004 ? cmp r2, r4 |
92 | 0+140 <[^>]*> e1550287 ? cmp r5, r7, lsl #5 | |
93 | 0+144 <[^>]*> e1510113 ? cmp r1, r3, lsl r1 | |
fe56b6ce | 94 | 0+148 <[^>]*> e370000a ? cmn r0, #10 |
58e2fc90 L |
95 | 0+14c <[^>]*> e1720004 ? cmn r2, r4 |
96 | 0+150 <[^>]*> e1750287 ? cmn r5, r7, lsl #5 | |
97 | 0+154 <[^>]*> e1710113 ? cmn r1, r3, lsl r1 | |
aefd8a40 NC |
98 | 0+158 <[^>]*> e330f00a ? teq r0, #10 |
99 | 0+15c <[^>]*> e132f004 ? teq r2, r4 | |
100 | 0+160 <[^>]*> e135f287 ? teq r5, r7, lsl #5 | |
101 | 0+164 <[^>]*> e131f113 ? teq r1, r3, lsl r1 | |
102 | 0+168 <[^>]*> e370f00a ? cmn r0, #10 | |
103 | 0+16c <[^>]*> e172f004 ? cmn r2, r4 | |
104 | 0+170 <[^>]*> e175f287 ? cmn r5, r7, lsl #5 | |
105 | 0+174 <[^>]*> e171f113 ? cmn r1, r3, lsl r1 | |
106 | 0+178 <[^>]*> e350f00a ? cmp r0, #10 | |
107 | 0+17c <[^>]*> e152f004 ? cmp r2, r4 | |
108 | 0+180 <[^>]*> e155f287 ? cmp r5, r7, lsl #5 | |
109 | 0+184 <[^>]*> e151f113 ? cmp r1, r3, lsl r1 | |
110 | 0+188 <[^>]*> e310f00a ? tst r0, #10 | |
111 | 0+18c <[^>]*> e112f004 ? tst r2, r4 | |
112 | 0+190 <[^>]*> e115f287 ? tst r5, r7, lsl #5 | |
113 | 0+194 <[^>]*> e111f113 ? tst r1, r3, lsl r1 | |
58e2fc90 L |
114 | 0+198 <[^>]*> e0000291 ? mul r0, r1, r2 |
115 | 0+19c <[^>]*> e0110392 ? muls r1, r2, r3 | |
116 | 0+1a0 <[^>]*> 10000091 ? mulne r0, r1, r0 | |
5f69fa6d | 117 | 0+1a4 <[^>]*> 90190798 ? mulsls r9, r8, r7 |
58e2fc90 L |
118 | 0+1a8 <[^>]*> e021ba99 ? mla r1, r9, sl, fp |
119 | 0+1ac <[^>]*> e033c994 ? mlas r3, r4, r9, ip | |
120 | 0+1b0 <[^>]*> b029d798 ? mlalt r9, r8, r7, sp | |
5f69fa6d | 121 | 0+1b4 <[^>]*> a034e391 ? mlasge r4, r1, r3, lr |
58e2fc90 L |
122 | 0+1b8 <[^>]*> e5910000 ? ldr r0, \[r1\] |
123 | 0+1bc <[^>]*> e7911002 ? ldr r1, \[r1, r2\] | |
124 | 0+1c0 <[^>]*> e7b32004 ? ldr r2, \[r3, r4\]! | |
125 | 0+1c4 <[^>]*> e5922020 ? ldr r2, \[r2, #32\] | |
126 | 0+1c8 <[^>]*> e7932424 ? ldr r2, \[r3, r4, lsr #8\] | |
127 | 0+1cc <[^>]*> 07b54484 ? ldreq r4, \[r5, r4, lsl #9\]! | |
128 | 0+1d0 <[^>]*> 14954006 ? ldrne r4, \[r5\], #6 | |
129 | 0+1d4 <[^>]*> e6b21003 ? ldrt r1, \[r2\], r3 | |
130 | 0+1d8 <[^>]*> e6942425 ? ldr r2, \[r4\], r5, lsr #8 | |
9a7f7ba6 | 131 | 0+1dc <[^>]*> e51f0008 ? ldr r0, \[pc, #-8\] ; 0+1dc <[^>]*> |
58e2fc90 | 132 | 0+1e0 <[^>]*> e5d43000 ? ldrb r3, \[r4\] |
5f69fa6d | 133 | 0+1e4 <[^>]*> 14f85000 ? ldrbtne r5, \[r8\] |
58e2fc90 L |
134 | 0+1e8 <[^>]*> e5810000 ? str r0, \[r1\] |
135 | 0+1ec <[^>]*> e7811002 ? str r1, \[r1, r2\] | |
136 | 0+1f0 <[^>]*> e7a43003 ? str r3, \[r4, r3\]! | |
137 | 0+1f4 <[^>]*> e5822020 ? str r2, \[r2, #32\] | |
138 | 0+1f8 <[^>]*> e7832424 ? str r2, \[r3, r4, lsr #8\] | |
139 | 0+1fc <[^>]*> 07a54484 ? streq r4, \[r5, r4, lsl #9\]! | |
140 | 0+200 <[^>]*> 14854006 ? strne r4, \[r5\], #6 | |
141 | 0+204 <[^>]*> e6821003 ? str r1, \[r2\], r3 | |
142 | 0+208 <[^>]*> e6a42425 ? strt r2, \[r4\], r5, lsr #8 | |
9a7f7ba6 | 143 | 0+20c <[^>]*> e50f1004 ? str r1, \[pc, #-4\] ; 0+210 <[^>]*> |
58e2fc90 L |
144 | 0+210 <[^>]*> e5c71000 ? strb r1, \[r7\] |
145 | 0+214 <[^>]*> e4e02000 ? strbt r2, \[r0\] | |
5f69fa6d RE |
146 | 0+218 <[^>]*> e8900002 ? ldm r0, {r1} |
147 | 0+21c <[^>]*> 09920038 ? ldmibeq r2, {r3, r4, r5} | |
58e2fc90 L |
148 | 0+220 <[^>]*> e853ffff ? ldmda r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^ |
149 | 0+224 <[^>]*> e93b05ff ? ldmdb fp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl} | |
150 | 0+228 <[^>]*> e99100f7 ? ldmib r1, {r0, r1, r2, r4, r5, r6, r7} | |
5f69fa6d | 151 | 0+22c <[^>]*> e89201f8 ? ldm r2, {r3, r4, r5, r6, r7, r8} |
58e2fc90 | 152 | 0+230 <[^>]*> e9130003 ? ldmdb r3, {r0, r1} |
96ea7171 | 153 | 0+234 <[^>]*> e8540300 ? ldmda r4, {r8, r9}\^ |
5f69fa6d RE |
154 | 0+238 <[^>]*> e8800002 ? stm r0, {r1} |
155 | 0+23c <[^>]*> 09820038 ? stmibeq r2, {r3, r4, r5} | |
58e2fc90 | 156 | 0+240 <[^>]*> e843ffff ? stmda r3, {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, sp, lr, pc}\^ |
96ea7171 | 157 | 0+244 <[^>]*> e92b05ff ? stmdb fp!, {r0, r1, r2, r3, r4, r5, r6, r7, r8, sl} |
58e2fc90 L |
158 | 0+248 <[^>]*> e8010007 ? stmda r1, {r0, r1, r2} |
159 | 0+24c <[^>]*> e9020018 ? stmdb r2, {r3, r4} | |
5f69fa6d | 160 | 0+250 <[^>]*> e8830003 ? stm r3, {r0, r1} |
96ea7171 | 161 | 0+254 <[^>]*> e9c40300 ? stmib r4, {r8, r9}\^ |
c16d2bf0 PB |
162 | 0+258 <[^>]*> ef123456 ? (swi|svc) 0x00123456 |
163 | 0+25c <[^>]*> 2f000033 ? (swi|svc)cs 0x00000033 | |
25742a2c | 164 | 0+260 <[^>]*> eb...... ? bl 0[0123456789abcdef]+ <[^>]*> |
252b5132 | 165 | [ ]*260:.*_wombat.* |
25742a2c NC |
166 | 0+264 <[^>]*> 5b...... ? blpl 0[0123456789abcdef]+ <[^>]*> |
167 | [ ]*264:.*ARM.*hohum.* | |
168 | 0+268 <[^>]*> ea...... ? b 0[0123456789abcdef]+ <[^>]*> | |
252b5132 | 169 | [ ]*268:.*_wibble.* |
25742a2c | 170 | 0+26c <[^>]*> da...... ? ble 0[0123456789abcdef]+ <[^>]*> |
252b5132 | 171 | [ ]*26c:.*testerfunc.* |
5f69fa6d | 172 | 0+270 <[^>]*> e1a01102 ? lsl r1, r2, #2 |
58e2fc90 | 173 | 0+274 <[^>]*> e1a01002 ? mov r1, r2 |
5f69fa6d RE |
174 | 0+278 <[^>]*> e1a01f82 ? lsl r1, r2, #31 |
175 | 0+27c <[^>]*> e1a01312 ? lsl r1, r2, r3 | |
176 | 0+280 <[^>]*> e1a01122 ? lsr r1, r2, #2 | |
177 | 0+284 <[^>]*> e1a01fa2 ? lsr r1, r2, #31 | |
178 | 0+288 <[^>]*> e1a01022 ? lsr r1, r2, #32 | |
179 | 0+28c <[^>]*> e1a01332 ? lsr r1, r2, r3 | |
180 | 0+290 <[^>]*> e1a01142 ? asr r1, r2, #2 | |
181 | 0+294 <[^>]*> e1a01fc2 ? asr r1, r2, #31 | |
182 | 0+298 <[^>]*> e1a01042 ? asr r1, r2, #32 | |
183 | 0+29c <[^>]*> e1a01352 ? asr r1, r2, r3 | |
184 | 0+2a0 <[^>]*> e1a01162 ? ror r1, r2, #2 | |
185 | 0+2a4 <[^>]*> e1a01fe2 ? ror r1, r2, #31 | |
186 | 0+2a8 <[^>]*> e1a01372 ? ror r1, r2, r3 | |
187 | 0+2ac <[^>]*> e1a01062 ? rrx r1, r2 | |
188 | 0+2b0 <[^>]*> e1a01102 ? lsl r1, r2, #2 | |
58e2fc90 | 189 | 0+2b4 <[^>]*> e1a01002 ? mov r1, r2 |
5f69fa6d RE |
190 | 0+2b8 <[^>]*> e1a01f82 ? lsl r1, r2, #31 |
191 | 0+2bc <[^>]*> e1a01312 ? lsl r1, r2, r3 | |
192 | 0+2c0 <[^>]*> e1a01122 ? lsr r1, r2, #2 | |
193 | 0+2c4 <[^>]*> e1a01fa2 ? lsr r1, r2, #31 | |
194 | 0+2c8 <[^>]*> e1a01022 ? lsr r1, r2, #32 | |
195 | 0+2cc <[^>]*> e1a01332 ? lsr r1, r2, r3 | |
196 | 0+2d0 <[^>]*> e1a01142 ? asr r1, r2, #2 | |
197 | 0+2d4 <[^>]*> e1a01fc2 ? asr r1, r2, #31 | |
198 | 0+2d8 <[^>]*> e1a01042 ? asr r1, r2, #32 | |
199 | 0+2dc <[^>]*> e1a01352 ? asr r1, r2, r3 | |
200 | 0+2e0 <[^>]*> e1a01162 ? ror r1, r2, #2 | |
201 | 0+2e4 <[^>]*> e1a01fe2 ? ror r1, r2, #31 | |
202 | 0+2e8 <[^>]*> e1a01372 ? ror r1, r2, r3 | |
203 | 0+2ec <[^>]*> e1a01062 ? rrx r1, r2 |