Upload Tizen:Base source
[external/binutils.git] / gas / testsuite / gas / sh / sh64 / syntax-1.s
1 ! Verify that minimum support is provided as per SH-5/ST50-047-02.
2
3         .text
4         .mode shmedia
5 start:
6
7 ! Both all-upper and all-lower must be supported.  PTA/PTB without /L
8 ! or /U is equivalent to with /L
9
10         ld.l    r1,4,r1
11         LD.L    r1,4,r1
12         pta/l   .L1,tr0
13         PTA/L   .L1,tr0
14         pta/u   .L1,tr0
15         PTA/U   .L1,tr0
16         pta/l   .L1,tr0
17         PTA/L   .L1,tr0
18         ptb/u   .L2,tr0
19         PTB/U   .L2,tr0
20         ptb/l   .L2,tr0
21         PTB/L   .L2,tr0
22         pta     .L1,tr0
23         PTA     .L1,tr0
24         ptb     .L2,tr0
25         PTB     .L2,tr0
26 .L1:
27         .mode shcompact
28 .L2:
29         .align 2
30         .mode shmedia
31
32 ! All register names accepted, either case.
33
34         or      r0,r32,r63
35         GETCON  CR0,R0
36         getcon  cr63,r0
37         GETTR   TR0,R0
38         gettr   tr7,r0
39         FMOV.S  FR0,FR63
40         fmov.d  dr0,dr62
41         FTRV.S  MTRX0,FV0,fv0
42         ftrv.s  mtrx48,FV60,FV60
43
44 ! All control register names
45
46         getcon  sr,r0
47         getcon  ssr,r0
48         getcon  pssr,r0
49         getcon  intevt,r0
50         getcon  expevt,r0
51         getcon  pexpevt,r0
52         getcon  tra,r0
53         getcon  spc,r0
54         getcon  pspc,r0
55         getcon  resvec,r0
56         getcon  vbr,r0
57         getcon  tea,r0
58         getcon  dcr,r0
59         getcon  kcr0,r0
60         getcon  kcr1,r0
61         getcon  ctc,r0
62         getcon  usr,r0
63
64 ! immediates
65
66         .mode shcompact
67 s1:
68         mov     #4,r0
69
70         .align 2
71         .mode shmedia
72 s2:
73         movi    4,r0
74
75 ! Scaled operands - user gives scaled value
76
77         .mode shcompact
78 s3:
79         mov.l   @(8,r0),r0
80
81         .align 2
82         .mode shmedia
83 s4:
84         ld.uw   r0,2,r0
85         ld.w    r0,2,r0
86         st.w    r0,2,r0
87         ld.l    r0,4,r0
88         st.l    r0,4,r0
89         fld.s   r0,4,fr0
90         fst.s   r0,4,fr0
91         pta     .+4,tr0
92         ptb     .+7,tr0
93         ld.q    r0,8,r0
94         st.q    r0,8,r0
95         fld.d   r0,8,dr0
96         fst.d   r0,8,dr0
97         fld.p   r0,8,fp0
98         fst.p   r0,8,fp0
99         alloco  r0,32
100         icbi    r0,32
101         ocbi    r0,32
102         ocbp    r0,32
103         ocbwb   r0,32
104         prefi   r0,32
105
106         .mode   shcompact
107 s5:
108         mov.w   @(6,pc),r0
109         mov.w   @(2,r0),r0
110         mov.w   @(2,gbr),r0
111         mov.w   r0,@(2,r0)
112         mov.w   r0,@(2,gbr)
113         bf      .+6
114         bt      .+6
115         bra     .+6
116         bsr     .+6
117         mov.l   @(2,pc),r0
118         mov.l   @(4,r0),r0
119         mov.l   @(4,gbr),r0
120         mova    @(8,pc),r0
121         mov.l   r0,@(4,r0)
122         mov.l   r0,@(4,gbr)
123
124 ! branchlabel vs datalabel
125
126         .align 2
127         .mode shmedia
128 s6:
129         .long   .L3
130         .long   .L3 + 4
131         .long   datalabel .L3
132         .long   DATALABEL .L3
133 .L3:
134         .mode   shcompact
135
136 s7:
137         .long   .L4
138         .long   .L5
139 .L4:
140
141         .align 2
142         .mode shmedia
143 s8:
144
145         movi    (.L4 >> 16) & 65535,r0
146         shori   .L4 & 65535, r0
147         ptabs   r0,tr0
148         blink   tr0,r18
149
150         movi    (.L5 >> 16) & 65535,r0
151         shori   .L5 & 65535, r0
152         ptabs   r0,tr0
153         blink   tr0,r18
154 .L5:
155
156         movi    (.L4-DATALABEL .L6), r0
157 .L6:
158         movi    (.L5-DATALABEL .L7), r0
159 .L7:
160
161         pt      .L5,tr0
162
163 ! Expressions
164
165 ! Symbols
166
167 abcdefghijklmnopqrstuvwxyz0123456789_:
168         .long   abcdefghijklmnopqrstuvwxyz0123456789_
169 _x:
170         .long   _x
171
172 ! program counter
173
174         movi    .L7-$,r0
175 .L8:    movi    .L7-.L8,r0
176
177         .mode shcompact
178 s9:
179         mova    @(litpool-$,pc), r0
180         mov.l   @r1,r0
181         add     r1,r0
182         bsrf    r0
183 litpool:
184         .long   s10 - DATALABEL $
185
186 ! operators
187
188         .align 2
189         .mode shmedia
190 s10:
191         movi    8+1,r0
192         movi    8-1,r0
193         movi    8<<1,r0
194         movi    8>>1,r0
195         movi    ~1,r0
196         movi    5&3,r0
197         movi    8|1,r0
198         movi    8*3,r0
199         movi    24/3,r0