1	.text
2	.thumb
3	.syntax unified
4thumb2_relax:
5	.macro	ls op w=".w"
61:
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
241:
25	nop
262:
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	ls	ldrb
34	ls	ldrsb
35	ls	ldrh
36	ls	ldrsh
37	ls	ldr
38	.purgem ls
391:
40	adr	r1, 1f
41	adr.w	r1, 1f
42	adr	r8, 1f
43	adr	r1, 2f
44	adr	r1, 1b
45.align 2
461:
47	nop
482:
49	nop
50	@ Relaxation with conflicting alignment requirements.
51	adr	r1, 1f
52	adr	r1, 2f
531:
54	nop
552:
56	nop
57