summaryrefslogtreecommitdiff
path: root/gas/testsuite/gas/sh/sh64/immexpr1.s
blob: 31060a12de5fd20d83bd68235b1c2b375b1c5a43 (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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
! Check that immediate operands with expressions with differences between
! local symbols work for other than 16-bit operands.

	.text
	.mode SHmedia
start:
	addi r50,.Lab500 - .Lab1,r40
	addi r50,-(.Lab500 - .Lab1),r40
	addi r50,(.Lab1000 - .Lab1)/2,r40
	addi r50,(.Lab4000 - .Lab1)/8,r40
	addi r50,-(.Lab1000 - .Lab1)/2,r40
	addi r50,-(.Lab4000 - .Lab1)/8,r40
	addi r50,.Lab500 - .Lab1 + 1,r40
	addi r50,.Lab500 - .Lab1 + 2,r40
	addi r50,-(.Lab500 - .Lab1 + 1),r40
	addi r50,-(.Lab500 - .Lab1 + 2),r40
	ld.uw r30,.Lab1000 - .Lab1,r40
	ld.uw r30,.Lab500 - .Lab1 - 2,r40
	ld.uw r30,.Lab500 - .Lab1 + 2,r40
	ld.uw r50,(.Lab2000 - .Lab1)/2,r20
	ld.uw r30,-(.Lab1000 - .Lab1),r40
	ld.uw r30,-(.Lab500 - .Lab1 - 2),r40
	ld.uw r30,-(.Lab500 - .Lab1 + 2),r40
	ld.uw r50,-(.Lab2000 - .Lab1)/2,r20
	ld.l r50,.Lab2000 - .Lab1,r20
	ld.l r50,.Lab2000 - .Lab1 + 4,r20
	ld.l r50,.Lab2000 - .Lab1 - 4,r20
	ld.l r50,(.Lab4000 - .Lab1)/2,r20
	ld.l r50,(.Lab4000 - .Lab1)/2 + 4,r20
	ld.l r50,(.Lab4000 - .Lab1)/2 - 4,r20
	ld.l r50,-(.Lab2000 - .Lab1),r20
	ld.l r50,-(.Lab2000 - .Lab1 + 4),r20
	ld.l r50,-(.Lab2000 - .Lab1 - 4),r20
	ld.l r50,-(.Lab4000 - .Lab1)/2,r20
	ld.l r50,-(.Lab4000 - .Lab1)/2 + 4,r20
	ld.l r50,-(.Lab4000 - .Lab1)/2 - 4,r20
	nop
	addi r50,.Lab500t - .Lab1t,r40
	addi r50,(.Lab1000t - .Lab1t)/2,r40
	addi r50,(.Lab4000t - .Lab1t)/8,r40
	addi r50,.Lab500t - .Lab1t + 1,r40
	addi r50,.Lab500t - .Lab1t + 2,r40
	ld.uw r30,.Lab1000t - .Lab1t,r40
	ld.uw r30,.Lab500t - .Lab1t - 2,r40
	ld.uw r30,.Lab500t - .Lab1t + 2,r40
	ld.uw r50,(.Lab2000t - .Lab1t)/2,r20
	ld.l r50,.Lab2000t - .Lab1t,r20
	ld.l r50,.Lab2000t - .Lab1t + 4,r20
	ld.l r50,.Lab2000t - .Lab1t - 4,r20
	addi r50,.Lab500t - .Lab1t,r40
	addi r50,-((.Lab1000t - .Lab1t)/2),r40
	addi r50,-((.Lab4000t - .Lab1t)/8),r40
	addi r50,-(.Lab500t - .Lab1t + 1),r40
	addi r50,-(.Lab500t - .Lab1t + 2),r40
	ld.uw r30,-(.Lab1000t - .Lab1t),r40
	ld.uw r30,-(.Lab500t - .Lab1t - 2),r40
	ld.uw r30,-(.Lab500t - .Lab1t + 2),r40
	ld.uw r50,-((.Lab2000t - .Lab1t)/2),r20
	ld.l r50,-(.Lab2000t - .Lab1t),r20
	ld.l r50,-(.Lab2000t - .Lab1t + 4),r20
	ld.l r50,-(.Lab2000t - .Lab1t - 4),r20
	nop
	.long 0
.Lab1t:
	.zero 500,0
.Lab500t:
	.zero 500,0
.Lab1000t:
	.zero 1000,0
.Lab2000t:
	.zero 2000,0
.Lab4000t:

	.data
	.long 0
.Lab1:
	.zero 500,0
.Lab500:
	.zero 500,0
.Lab1000:
	.zero 1000,0
.Lab2000:
	.zero 2000,0
.Lab4000:
	.long 0