summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/sh/sh64/shift-1.s
blob: b4967c7392e905ffde5aab474dd4b913a25329d9 (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
40
41
42
! Check that shift expressions translate to the proper reloc for MOVI and
! SHORI for local and external symbols.  This is the 32-bit subset.
	.text
	.mode SHmedia
start:
	movi localsym & 65535,r4
	movi (localsym >> 0) & 65535,r4
	movi (localsym >> 16) & 65535,r4

	movi externsym & 65535,r4
	movi (externsym >> 0) & 65535,r4
	movi (externsym >> 16) & 65535,r4

	shori localsym & 65535,r4
	shori (localsym >> 0) & 65535,r4
	shori (localsym >> 16) & 65535,r4

	shori externsym & 65535,r4
	shori (externsym >> 0) & 65535,r4
	shori (externsym >> 16) & 65535,r4

	movi (localsym + 42) & 65535,r4
	movi ((localsym + 43) >> 0) & 65535,r4
	movi ((localsym + 44) >> 16) & 65535,r4

	movi (externsym + 45) & 65535,r4
	movi ((externsym + 46) >> 0) & 65535,r4
	movi ((externsym + 47) >> 16) & 65535,r4

	shori (localsym + 42) & 65535,r4
	shori ((localsym + 43) >> 0) & 65535,r4
	shori ((localsym + 44) >> 16) & 65535,r4

	shori (externsym + 45) & 65535,r4
	shori ((externsym + 46) >> 0) & 65535,r4
	shori ((externsym + 47) >> 16) & 65535,r4

	.data
! Just make localsym have a non-zero offset into .data.
	.long 0
localsym:
	.long 0