Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / arm / thumb2_relax.s
1         .text
2         .thumb
3         .syntax unified
4 thumb2_relax:
5         .macro  ls op w=".w"
6 1:
7         \op     r1, [r5]
8         \op     r1, [r5, #(far_\op + 4)]
9         \op     r1, [r5, #far_\op]
10         \op\w   r1, [r5, #far_\op]
11         \op     r1, [r5, #-far_\op]
12         \op     r1, [r5], #far_\op
13         \op     r1, [r5], #far_\op
14         \op     r1, [r5, #far_\op]!
15         \op     r1, [r5, #-far_\op]!
16         \op     r1, [r5, r4]
17         \op     r1, [r9, ip]
18         \op     r1, 1f
19         \op\w   r1, 1f
20         \op     r8, 1f
21         \op     r1, 2f
22         \op     r1, 1b
23         .align 2
24 1:
25         nop
26 2:
27         .endm
28 .equ far_ldrb, 0x1f
29 .equ far_ldrsb, 0x1f
30 .equ far_ldrh, 0x3e
31 .equ far_ldrsh, 0x3e
32 .equ far_ldr, 0x7c
33 .equ far_strb, 0x1f
34 .equ far_strh, 0x3e
35 .equ far_str, 0x7c
36         ls      ldrb
37         ls      ldrsb
38         ls      ldrh
39         ls      ldrsh
40         ls      ldr
41         ls      strb
42         ls      strh
43         ls      str
44         .purgem ls
45 1:
46         adr     r1, 1f
47         adr.w   r1, 1f
48         adr     r8, 1f
49         adr     r1, 2f
50         adr     r1, 1b
51 .align 2
52 1:
53         nop
54 2:
55         nop
56         @ Relaxation with conflicting alignment requirements.
57         adr     r1, 1f
58         adr     r1, 2f
59 1:
60         nop
61 2:
62         nop