* elf64-ppc.c (dec_dynrel_count): Don't error when elf_gc_sweep_symbol
[external/binutils.git] / gas / testsuite / gas / arm / thumb2_ldmstm.s
1 .syntax unified
2 .thumb
3 ldmstm:
4         ldmia sp!, {r0}
5         ldmia sp!, {r8}
6         ldmia r1, {r9}
7         ldmia r2!, {ip}
8         ldmdb sp!, {r2}
9         ldmdb sp!, {r8}
10         ldmdb r6, {r4}
11         ldmdb r6, {r8}
12         ldmdb r2!, {r4}
13         ldmdb r2!, {ip}
14         stmia sp!, {r3}
15         stmia sp!, {r9}
16         stmia r3, {ip}
17         stmia r4!, {ip}
18         stmdb sp!, {r3}
19         stmdb sp!, {r9}
20         stmdb r7, {r5}
21         stmdb r6, {ip}
22         stmdb r6!, {fp}
23         stmdb r5!, {r8}
24
25         @ Valid Thumb-2 encodings of LDM/LDMIA/LDMFD as specified by section
26         @ A8.6.53 of the ARM ARM
27         ldmia r0!, {r1-r3}      @ Encoding T1
28         ldmia r0, {r0-r3}       @ Encoding T1
29         ldmia r0!, {r1}         @ Encoding T1
30         ldmia r0, {r8-r11}      @ Encoding T2
31         ldmia.w r0!, {r1-r3}    @ Encoding T2
32         ldmia r0!, {r8-r11}     @ Encoding T2
33         ldmia r0!, {r12, r14}   @ Encoding T2
34         ldmia r0!, {r12, pc}    @ Encoding T2
35         it eq
36         ldmiaeq r0!, {r12, pc}  @ Encoding T2
37
38         @ Valid Thumb-2 encodings of STM/STMIA/STMEA as specified by section
39         @ A8.6.189 of the ARMARM.
40         stmia r0!, {r0-r3}      @ Encoding T1, Allowed as r0 is lowest reg
41         stmia r0!, {r4-r7}      @ Encoding T1
42         stmia.w r0!, {r4-r7}    @ Encoding T2
43         stmia r0!, {r8-r11}     @ Encoding T2
44         stmia r0, {r0-r3}       @ Encoding T2
45         stmia r0, {r8-r11}      @ Encoding T2
46
47         @ The following are technically UNPREDICTABLE if we assemble them
48         @ as written, but gas translates (stm|ldm) rn(!), {rd} into an
49         @ equivalent, and well-defined, (ldr, str) rd, [rn], (#4).
50         ldmia.w r0!, {r1}       @ ldr.w r1, [r0], #4
51         ldmia.w r0, {r1}        @ ldr.w r1, [r0]
52         ldmia r8!, {r9}         @ ldr.w r9, [r8], #4
53         ldmia r8, {r9}          @ ldr.w r9, [r8]
54         stmia.w r0!, {r1}       @ str.w r1, [r0], #4
55         stmia r0, {r1}          @ T1 str r1, [r0]
56         ldmia r1, {r2}          @ T1 ldr r2, [r1]
57         ldmia r0, {r7}          @ T1 ldr r7, [r0]
58         stmia sp, {r7}          @ T1 str r7, [sp]
59         stmia sp, {r0}          @ T1 str r0, [sp]
60         ldmia sp, {r7}          @ T1 ldr r7, [sp]
61         ldmia sp, {r0}          @ T1 ldr r0, [sp]
62         stmia r8!, {r9}         @ str.w r9, [r8], #4
63         stmia r8, {r9}          @ str.w r9, [r8]