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.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
451:
46	adr	r1, 1f
47	adr.w	r1, 1f
48	adr	r8, 1f
49	adr	r1, 2f
50	adr	r1, 1b
51.align 2
521:
53	nop
542:
55	nop
56	@ Relaxation with conflicting alignment requirements.
57	adr	r1, 1f
58	adr	r1, 2f
591:
60	nop
612:
62	nop
63