Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / sh / sh64 / immexpr1.s
1 ! Check that immediate operands with expressions with differences between
2 ! local symbols work for other than 16-bit operands.
3
4         .text
5         .mode SHmedia
6 start:
7         addi r50,.Lab500 - .Lab1,r40
8         addi r50,-(.Lab500 - .Lab1),r40
9         addi r50,(.Lab1000 - .Lab1)/2,r40
10         addi r50,(.Lab4000 - .Lab1)/8,r40
11         addi r50,-(.Lab1000 - .Lab1)/2,r40
12         addi r50,-(.Lab4000 - .Lab1)/8,r40
13         addi r50,.Lab500 - .Lab1 + 1,r40
14         addi r50,.Lab500 - .Lab1 + 2,r40
15         addi r50,-(.Lab500 - .Lab1 + 1),r40
16         addi r50,-(.Lab500 - .Lab1 + 2),r40
17         ld.uw r30,.Lab1000 - .Lab1,r40
18         ld.uw r30,.Lab500 - .Lab1 - 2,r40
19         ld.uw r30,.Lab500 - .Lab1 + 2,r40
20         ld.uw r50,(.Lab2000 - .Lab1)/2,r20
21         ld.uw r30,-(.Lab1000 - .Lab1),r40
22         ld.uw r30,-(.Lab500 - .Lab1 - 2),r40
23         ld.uw r30,-(.Lab500 - .Lab1 + 2),r40
24         ld.uw r50,-(.Lab2000 - .Lab1)/2,r20
25         ld.l r50,.Lab2000 - .Lab1,r20
26         ld.l r50,.Lab2000 - .Lab1 + 4,r20
27         ld.l r50,.Lab2000 - .Lab1 - 4,r20
28         ld.l r50,(.Lab4000 - .Lab1)/2,r20
29         ld.l r50,(.Lab4000 - .Lab1)/2 + 4,r20
30         ld.l r50,(.Lab4000 - .Lab1)/2 - 4,r20
31         ld.l r50,-(.Lab2000 - .Lab1),r20
32         ld.l r50,-(.Lab2000 - .Lab1 + 4),r20
33         ld.l r50,-(.Lab2000 - .Lab1 - 4),r20
34         ld.l r50,-(.Lab4000 - .Lab1)/2,r20
35         ld.l r50,-(.Lab4000 - .Lab1)/2 + 4,r20
36         ld.l r50,-(.Lab4000 - .Lab1)/2 - 4,r20
37         nop
38         addi r50,.Lab500t - .Lab1t,r40
39         addi r50,(.Lab1000t - .Lab1t)/2,r40
40         addi r50,(.Lab4000t - .Lab1t)/8,r40
41         addi r50,.Lab500t - .Lab1t + 1,r40
42         addi r50,.Lab500t - .Lab1t + 2,r40
43         ld.uw r30,.Lab1000t - .Lab1t,r40
44         ld.uw r30,.Lab500t - .Lab1t - 2,r40
45         ld.uw r30,.Lab500t - .Lab1t + 2,r40
46         ld.uw r50,(.Lab2000t - .Lab1t)/2,r20
47         ld.l r50,.Lab2000t - .Lab1t,r20
48         ld.l r50,.Lab2000t - .Lab1t + 4,r20
49         ld.l r50,.Lab2000t - .Lab1t - 4,r20
50         addi r50,.Lab500t - .Lab1t,r40
51         addi r50,-((.Lab1000t - .Lab1t)/2),r40
52         addi r50,-((.Lab4000t - .Lab1t)/8),r40
53         addi r50,-(.Lab500t - .Lab1t + 1),r40
54         addi r50,-(.Lab500t - .Lab1t + 2),r40
55         ld.uw r30,-(.Lab1000t - .Lab1t),r40
56         ld.uw r30,-(.Lab500t - .Lab1t - 2),r40
57         ld.uw r30,-(.Lab500t - .Lab1t + 2),r40
58         ld.uw r50,-((.Lab2000t - .Lab1t)/2),r20
59         ld.l r50,-(.Lab2000t - .Lab1t),r20
60         ld.l r50,-(.Lab2000t - .Lab1t + 4),r20
61         ld.l r50,-(.Lab2000t - .Lab1t - 4),r20
62         nop
63         .long 0
64 .Lab1t:
65         .zero 500,0
66 .Lab500t:
67         .zero 500,0
68 .Lab1000t:
69         .zero 1000,0
70 .Lab2000t:
71         .zero 2000,0
72 .Lab4000t:
73
74         .data
75         .long 0
76 .Lab1:
77         .zero 500,0
78 .Lab500:
79         .zero 500,0
80 .Lab1000:
81         .zero 1000,0
82 .Lab2000:
83         .zero 2000,0
84 .Lab4000:
85         .long 0