summaryrefslogtreecommitdiffstats
path: root/binutils-2.25/gas/testsuite/gas/arm/group-reloc-alu.s
blob: 696f1dac0cc4955ab08fd03a90cb49646d2bb4ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
@ Tests for ALU group relocations.

	.text

	.macro alutest insn sym offset

	\insn	r0, r0, #:pc_g0:(\sym \offset)
	\insn	r0, r0, #:pc_g1:(\sym \offset)

@ Try this one without the hash; it should still work.
	\insn	r0, r0, :pc_g2:(\sym \offset)

	\insn	r0, r0, #:pc_g0_nc:(\sym \offset)
	\insn	r0, r0, #:pc_g1_nc:(\sym \offset)

	\insn	r0, r0, #:sb_g0:(\sym \offset)
	\insn	r0, r0, #:sb_g1:(\sym \offset)
	\insn	r0, r0, #:sb_g2:(\sym \offset)

	\insn	r0, r0, #:sb_g0_nc:(\sym \offset)
	\insn	r0, r0, #:sb_g1_nc:(\sym \offset)

	.endm

	alutest add f "+ 0x100"
	alutest add localsym "+ 0x100"
	alutest adds f "+ 0x100"
	alutest adds localsym "+ 0x100"

@ The following should cause the insns to be switched to SUB(S).

	alutest add f "- 0x100"
	alutest add localsym "- 0x100"
	alutest adds f "- 0x100"
	alutest adds localsym "- 0x100"

localsym:
	mov	r0, #0