binutils/
[external/binutils.git] / sim / testsuite / sim / sh / movxy.s
1 # sh testcase for movxy
2 # mach:  shdsp
3 # as(shdsp):    -defsym sim_cpu=1 -dsp 
4
5         .include "testutils.inc"
6
7         .align  2
8 src1:   .word   1
9 src2:   .word   2
10 src3:   .word   3
11 src4:   .word   4
12 src5:   .word   5
13 src6:   .word   6
14 src7:   .word   7
15 src8:   .word   8
16 src9:   .word   9
17         .word   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
18
19 dst1:   .word   0
20 dst2:   .word   0
21 dst3:   .word   0
22 dst4:   .word   0
23 dst5:   .word   0
24 dst6:   .word   0
25 dst7:   .word   0
26 dst8:   .word   0
27 dst9:   .word   0
28         .word   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
29
30         start
31 movxw_nopy:
32         set_grs_a5a5
33         # load up pointers
34         mov.l   srcp1, r4
35         mov.l   dstp1, r5
36
37         # perform moves
38         movx.w  @r4, x0
39         pcopy   x0, a0
40         movx.w  a0, @r5
41
42         # verify pointers unchanged
43         mov.l   srcp1, r0
44         cmp/eq  r0, r4
45         bt      .L0
46         fail
47 .L0:
48         mov.l   dstp1, r1
49         cmp/eq  r1, r5
50         bt      .L1
51         fail
52 .L1:
53         # verify copied values
54         mov.w   @r0, r0
55         mov.w   @r1, r1
56         cmp/eq  r0, r1
57         bt      .L2
58         fail
59 .L2:
60         test_gr_a5a5 r2
61         test_gr_a5a5 r3
62         test_gr_a5a5 r6
63         test_gr_a5a5 r7
64         test_gr_a5a5 r8
65         test_gr_a5a5 r9
66         test_gr_a5a5 r10
67         test_gr_a5a5 r11
68         test_gr_a5a5 r12
69         test_gr_a5a5 r13
70         test_gr_a5a5 r14
71
72 movyw_nopx:
73         set_grs_a5a5
74         # load up pointers
75         mov.l   srcp2, r6
76         mov.l   dstp2, r7
77
78         # perform moves
79         movy.w  @r6, y0
80         pcopy   y0, a0
81         movy.w  a0, @r7
82
83         # verify pointers unchanged
84         mov.l   srcp2, r2
85         cmp/eq  r2, r6
86         bt      .L3
87         fail
88 .L3:
89         mov.l   dstp2, r3
90         cmp/eq  r3, r7
91         bt      .L4
92         fail
93 .L4:
94         # verify copied values
95         mov.w   @r2, r2
96         mov.w   @r3, r3
97         cmp/eq  r2, r3
98         bt      .L5
99         fail
100 .L5:
101         test_gr_a5a5 r0
102         test_gr_a5a5 r1
103         test_gr_a5a5 r4
104         test_gr_a5a5 r5
105         test_gr_a5a5 r8
106         test_gr_a5a5 r9
107         test_gr_a5a5 r10
108         test_gr_a5a5 r11
109         test_gr_a5a5 r12
110         test_gr_a5a5 r13
111         test_gr_a5a5 r14
112
113 movxw_movyw:
114         set_grs_a5a5
115         # load up pointers
116         mov.l   srcp3, r4
117         mov.l   dstp3, r5
118         mov.l   srcp4, r6
119         mov.l   dstp4, r7
120
121         # perform moves
122         movx.w  @r4, x1 movy.w  @r6, y1
123         pcopy   x1, a0  
124         pcopy   y1, a1
125         movx.w  a0, @r5 movy.w  a1, @r7
126
127         # verify pointers unchanged
128         mov.l   srcp3, r0
129         cmp/eq  r0, r4
130         bt      .L6
131         fail
132 .L6:
133         mov.l   dstp3, r1
134         cmp/eq  r1, r5
135         bt      .L7
136         fail
137 .L7:
138         mov.l   srcp4, r2
139         cmp/eq  r2, r6
140         bt      .L8
141         fail
142 .L8:
143         mov.l   dstp4, r3
144         cmp/eq  r3, r7
145         bt      .L9
146         fail
147 .L9:
148         # verify copied values
149         mov.w   @r0, r0
150         mov.w   @r1, r1
151         cmp/eq  r0, r1
152         bt      .L10
153         fail
154 .L10:
155         mov.w   @r2, r2
156         mov.w   @r3, r3
157         cmp/eq  r2, r3
158         bt      .L11
159         fail
160 .L11:
161         test_gr_a5a5 r8
162         test_gr_a5a5 r9
163         test_gr_a5a5 r10
164         test_gr_a5a5 r11
165         test_gr_a5a5 r12
166         test_gr_a5a5 r13
167         test_gr_a5a5 r14
168
169         bra     movxw_movyw_new
170         nop
171
172         .align  2
173 srcp1:  .long   src1
174 srcp2:  .long   src2
175 srcp3:  .long   src3
176 srcp4:  .long   src4
177 srcp5:  .long   src5
178 srcp6:  .long   src6
179 srcp7:  .long   src7
180 srcp8:  .long   src8
181 srcp9:  .long   src9
182
183 dstp1:  .long   dst1
184 dstp2:  .long   dst2
185 dstp3:  .long   dst3
186 dstp4:  .long   dst4
187 dstp5:  .long   dst5
188 dstp6:  .long   dst6
189 dstp7:  .long   dst7
190 dstp8:  .long   dst8
191 dstp9:  .long   dst9
192
193 movxw_movyw_new:
194         set_grs_a5a5
195         # load up pointers
196         mov.l   srcp5b, r0
197         mov.l   dstp5b, r1
198         mov.l   srcp6b, r2
199         mov.l   dstp6b, r3
200
201         # perform moves
202         movx.w  @r0, x1 
203         movy.w  @r2, y1
204         movx.w  x1, @r1 
205         movy.w  y1, @r3
206
207         # verify pointers unchanged
208         mov.l   srcp5b, r4
209         cmp/eq  r0, r4
210         bt      .L12
211         fail
212
213 .L12:
214         mov.l   dstp5b, r5
215         cmp/eq  r1, r5
216         bt      .L13
217         fail
218 .L13:
219         mov.l   srcp6b, r6
220         cmp/eq  r2, r6
221         bt      .L14
222         fail
223 .L14:
224         mov.l   dstp6b, r7
225         cmp/eq  r3, r7
226         bt      .L15
227         fail
228 .L15:
229         # verify copied values
230         mov.w   @r0, r0
231         mov.w   @r1, r1
232         cmp/eq  r0, r1
233         bt      .L16
234         fail
235 .L16:
236         mov.w   @r2, r2
237         mov.w   @r3, r3
238         cmp/eq  r2, r3
239         bt      .L17
240         fail
241 .L17:
242         test_gr_a5a5 r8
243         test_gr_a5a5 r9
244         test_gr_a5a5 r10
245         test_gr_a5a5 r11
246         test_gr_a5a5 r12
247         test_gr_a5a5 r13
248         test_gr_a5a5 r14
249
250         mov.l   srcp1b, r0
251         mov.l   dstp1b, r1
252         mov.l   srcp2b, r2
253         mov.l   dstp2b, r3
254         mov.l   srcp1b, r4
255         mov.l   dstp1b, r5
256         mov.l   srcp2b, r6
257         mov.l   dstp2b, r7
258         mov     #4, r8
259         mov     #4, r9
260         bra     .L18
261         nop
262
263         .align  2
264 srcp1b: .long   src1
265 srcp2b: .long   src2
266 srcp3b: .long   src3
267 srcp4b: .long   src4
268 srcp5b: .long   src5
269 srcp6b: .long   src6
270 srcp7b: .long   src7
271 srcp8b: .long   src8
272 srcp9b: .long   src9
273
274 dstp1b: .long   dst1
275 dstp2b: .long   dst2
276 dstp3b: .long   dst3
277 dstp4b: .long   dst4
278 dstp5b: .long   dst5
279 dstp6b: .long   dst6
280 dstp7b: .long   dst7
281 dstp8b: .long   dst8
282 dstp9b: .long   dst9
283
284 .L18:
285
286         # movx.w @Ax{}, Dx | nopy 
287 movxwaxdx_nopy:
288         movx.w  @r4,x0          ! .word 0xf004
289         movx.w  @r4,x1          ! .word 0xf084
290         movx.w  @r5,x0          ! .word 0xf204
291         movx.w  @r5,x1          ! .word 0xf284
292         movx.w  @r4+,x0         ! .word 0xf008
293         movx.w  @r4+,x1         ! .word 0xf088
294         movx.w  @r5+,x0         ! .word 0xf208
295         movx.w  @r5+,x1         ! .word 0xf288
296         movx.w  @r4+r8,x0       ! .word 0xf00c
297         movx.w  @r4+r8,x1       ! .word 0xf08c
298         movx.w  @r5+r8,x0       ! .word 0xf20c
299         movx.w  @r5+r8,x1       ! .word 0xf28c
300         # movx.w Da, @Ax{} | nopy
301 movxwdaax_nopy:
302         movx.w  a0,@r4          ! .word 0xf024
303         movx.w  a1,@r4          ! .word 0xf0a4
304         movx.w  a0,@r5          ! .word 0xf224
305         movx.w  a1,@r5          ! .word 0xf2a4
306         movx.w  a0,@r4+         ! .word 0xf028
307         movx.w  a1,@r4+         ! .word 0xf0a8
308         movx.w  a0,@r5+         ! .word 0xf228
309         movx.w  a1,@r5+         ! .word 0xf2a8
310         movx.w  a0,@r4+r8       ! .word 0xf02c
311         movx.w  a1,@r4+r8       ! .word 0xf0ac
312         movx.w  a0,@r5+r8       ! .word 0xf22c
313         movx.w  a1,@r5+r8       ! .word 0xf2ac
314         # movy.w @Ay{}, Dy | nopx 
315 movywaydy_nopx:
316         movy.w  @r6,y0          ! .word 0xf001
317         movy.w  @r6,y1          ! .word 0xf041
318         movy.w  @r7,y0          ! .word 0xf101
319         movy.w  @r7,y1          ! .word 0xf141
320         movy.w  @r6+,y0         ! .word 0xf002
321         movy.w  @r6+,y1         ! .word 0xf042
322         movy.w  @r7+,y0         ! .word 0xf102
323         movy.w  @r7+,y1         ! .word 0xf142
324         movy.w  @r6+r9,y0       ! .word 0xf003
325         movy.w  @r6+r9,y1       ! .word 0xf043
326         movy.w  @r7+r9,y0       ! .word 0xf103
327         movy.w  @r7+r9,y1       ! .word 0xf143
328         # movy.w Da, @Ay{} | nopx
329 movywdaay_nopx:
330         movy.w  a0,@r6          ! .word 0xf011
331         movy.w  a1,@r6          ! .word 0xf051
332         movy.w  a0,@r7          ! .word 0xf111
333         movy.w  a1,@r7          ! .word 0xf151
334         movy.w  a0,@r6+         ! .word 0xf012
335         movy.w  a1,@r6+         ! .word 0xf052
336         movy.w  a0,@r7+         ! .word 0xf112
337         movy.w  a1,@r7+         ! .word 0xf152
338         movy.w  a0,@r6+r9       ! .word 0xf013
339         movy.w  a1,@r6+r9       ! .word 0xf053
340         movy.w  a0,@r7+r9       ! .word 0xf113
341         movy.w  a1,@r7+r9       ! .word 0xf153
342         # movx {} || movy {} 
343 movx_movy:
344         movx.w  @r4,x0  movy.w  @r6,y0  ! .word 0xf005
345         movx.w  @r4,x0  movy.w  @r6,y1  ! .word 0xf045
346         movx.w  @r4,x1  movy.w  @r6,y0  ! .word 0xf085
347         movx.w  @r4,x1  movy.w  @r6,y1  ! .word 0xf0c5
348         movx.w  @r4,x0  movy.w  @r7,y0  ! .word 0xf105
349         movx.w  @r4,x0  movy.w  @r7,y1  ! .word 0xf145
350         movx.w  @r4,x1  movy.w  @r7,y0  ! .word 0xf185
351         movx.w  @r4,x1  movy.w  @r7,y1  ! .word 0xf1c5
352         movx.w  @r5,x0  movy.w  @r6,y0  ! .word 0xf205
353         movx.w  @r5,x0  movy.w  @r6,y1  ! .word 0xf245
354         movx.w  @r5,x1  movy.w  @r6,y0  ! .word 0xf285
355         movx.w  @r5,x1  movy.w  @r6,y1  ! .word 0xf2c5
356         movx.w  @r5,x0  movy.w  @r7,y0  ! .word 0xf305
357         movx.w  @r5,x0  movy.w  @r7,y1  ! .word 0xf345
358         movx.w  @r5,x1  movy.w  @r7,y0  ! .word 0xf385
359         movx.w  @r5,x1  movy.w  @r7,y1  ! .word 0xf3c5
360         movx.w  @r4,x0  movy.w  @r6+,y0 ! .word 0xf006
361         movx.w  @r4,x0  movy.w  @r6+,y1 ! .word 0xf046
362         movx.w  @r4,x1  movy.w  @r6+,y0 ! .word 0xf086
363         movx.w  @r4,x1  movy.w  @r6+,y1 ! .word 0xf0c6
364         movx.w  @r4,x0  movy.w  @r7+,y0 ! .word 0xf106
365         movx.w  @r4,x0  movy.w  @r7+,y1 ! .word 0xf146
366         movx.w  @r4,x1  movy.w  @r7+,y0 ! .word 0xf186
367         movx.w  @r4,x1  movy.w  @r7+,y1 ! .word 0xf1c6
368         movx.w  @r5,x0  movy.w  @r6+,y0 ! .word 0xf206
369         movx.w  @r5,x0  movy.w  @r6+,y1 ! .word 0xf246
370         movx.w  @r5,x1  movy.w  @r6+,y0 ! .word 0xf286
371         movx.w  @r5,x1  movy.w  @r6+,y1 ! .word 0xf2c6
372         movx.w  @r5,x0  movy.w  @r7+,y0 ! .word 0xf306
373         movx.w  @r5,x0  movy.w  @r7+,y1 ! .word 0xf346
374         movx.w  @r5,x1  movy.w  @r7+,y0 ! .word 0xf386
375         movx.w  @r5,x1  movy.w  @r7+,y1 ! .word 0xf3c6
376         movx.w  @r4,x0  movy.w  @r6+r9,y0       ! .word 0xf007
377         movx.w  @r4,x0  movy.w  @r6+r9,y1       ! .word 0xf047
378         movx.w  @r4,x1  movy.w  @r6+r9,y0       ! .word 0xf087
379         movx.w  @r4,x1  movy.w  @r6+r9,y1       ! .word 0xf0c7
380         movx.w  @r4,x0  movy.w  @r7+r9,y0       ! .word 0xf107
381         movx.w  @r4,x0  movy.w  @r7+r9,y1       ! .word 0xf147
382         movx.w  @r4,x1  movy.w  @r7+r9,y0       ! .word 0xf187
383         movx.w  @r4,x1  movy.w  @r7+r9,y1       ! .word 0xf1c7
384         movx.w  @r5,x0  movy.w  @r6+r9,y0       ! .word 0xf207
385         movx.w  @r5,x0  movy.w  @r6+r9,y1       ! .word 0xf247
386         movx.w  @r5,x1  movy.w  @r6+r9,y0       ! .word 0xf287
387         movx.w  @r5,x1  movy.w  @r6+r9,y1       ! .word 0xf2c7
388         movx.w  @r5,x0  movy.w  @r7+r9,y0       ! .word 0xf307
389         movx.w  @r5,x0  movy.w  @r7+r9,y1       ! .word 0xf347
390         movx.w  @r5,x1  movy.w  @r7+r9,y0       ! .word 0xf387
391         movx.w  @r5,x1  movy.w  @r7+r9,y1       ! .word 0xf3c7
392         movx.w  @r4+,x0 movy.w  @r6,y0  ! .word 0xf009
393         movx.w  @r4+,x0 movy.w  @r6,y1  ! .word 0xf049
394         movx.w  @r4+,x1 movy.w  @r6,y0  ! .word 0xf089
395         movx.w  @r4+,x1 movy.w  @r6,y1  ! .word 0xf0c9
396         movx.w  @r4+,x0 movy.w  @r7,y0  ! .word 0xf109
397         movx.w  @r4+,x0 movy.w  @r7,y1  ! .word 0xf149
398         movx.w  @r4+,x1 movy.w  @r7,y0  ! .word 0xf189
399         movx.w  @r4+,x1 movy.w  @r7,y1  ! .word 0xf1c9
400         movx.w  @r5+,x0 movy.w  @r6,y0  ! .word 0xf209
401         movx.w  @r5+,x0 movy.w  @r6,y1  ! .word 0xf249
402         movx.w  @r5+,x1 movy.w  @r6,y0  ! .word 0xf289
403         movx.w  @r5+,x1 movy.w  @r6,y1  ! .word 0xf2c9
404         movx.w  @r5+,x0 movy.w  @r7,y0  ! .word 0xf309
405         movx.w  @r5+,x0 movy.w  @r7,y1  ! .word 0xf349
406         movx.w  @r5+,x1 movy.w  @r7,y0  ! .word 0xf389
407         movx.w  @r5+,x1 movy.w  @r7,y1  ! .word 0xf3c9
408         movx.w  @r4+,x0 movy.w  @r6+,y0 ! .word 0xf00a
409         movx.w  @r4+,x0 movy.w  @r6+,y1 ! .word 0xf04a
410         movx.w  @r4+,x1 movy.w  @r6+,y0 ! .word 0xf08a
411         movx.w  @r4+,x1 movy.w  @r6+,y1 ! .word 0xf0ca
412         movx.w  @r4+,x0 movy.w  @r7+,y0 ! .word 0xf10a
413         movx.w  @r4+,x0 movy.w  @r7+,y1 ! .word 0xf14a
414         movx.w  @r4+,x1 movy.w  @r7+,y0 ! .word 0xf18a
415         movx.w  @r4+,x1 movy.w  @r7+,y1 ! .word 0xf1ca
416         movx.w  @r5+,x0 movy.w  @r6+,y0 ! .word 0xf20a
417         movx.w  @r5+,x0 movy.w  @r6+,y1 ! .word 0xf24a
418         movx.w  @r5+,x1 movy.w  @r6+,y0 ! .word 0xf28a
419         movx.w  @r5+,x1 movy.w  @r6+,y1 ! .word 0xf2ca
420         movx.w  @r5+,x0 movy.w  @r7+,y0 ! .word 0xf30a
421         movx.w  @r5+,x0 movy.w  @r7+,y1 ! .word 0xf34a
422         movx.w  @r5+,x1 movy.w  @r7+,y0 ! .word 0xf38a
423         movx.w  @r5+,x1 movy.w  @r7+,y1 ! .word 0xf3ca
424         movx.w  @r4+,x0 movy.w  @r6+r9,y0       ! .word 0xf00b
425         movx.w  @r4+,x0 movy.w  @r6+r9,y1       ! .word 0xf04b
426         movx.w  @r4+,x1 movy.w  @r6+r9,y0       ! .word 0xf08b
427         movx.w  @r4+,x1 movy.w  @r6+r9,y1       ! .word 0xf0cb
428         movx.w  @r4+,x0 movy.w  @r7+r9,y0       ! .word 0xf10b
429         movx.w  @r4+,x0 movy.w  @r7+r9,y1       ! .word 0xf14b
430         movx.w  @r4+,x1 movy.w  @r7+r9,y0       ! .word 0xf18b
431         movx.w  @r4+,x1 movy.w  @r7+r9,y1       ! .word 0xf1cb
432         movx.w  @r5+,x0 movy.w  @r6+r9,y0       ! .word 0xf20b
433         movx.w  @r5+,x0 movy.w  @r6+r9,y1       ! .word 0xf24b
434         movx.w  @r5+,x1 movy.w  @r6+r9,y0       ! .word 0xf28b
435         movx.w  @r5+,x1 movy.w  @r6+r9,y1       ! .word 0xf2cb
436         movx.w  @r5+,x0 movy.w  @r7+r9,y0       ! .word 0xf30b
437         movx.w  @r5+,x0 movy.w  @r7+r9,y1       ! .word 0xf34b
438         movx.w  @r5+,x1 movy.w  @r7+r9,y0       ! .word 0xf38b
439         movx.w  @r5+,x1 movy.w  @r7+r9,y1       ! .word 0xf3cb
440         movx.w  @r4+r8,x0       movy.w  @r6,y0  ! .word 0xf00d
441         movx.w  @r4+r8,x0       movy.w  @r6,y1  ! .word 0xf04d
442         movx.w  @r4+r8,x1       movy.w  @r6,y0  ! .word 0xf08d
443         movx.w  @r4+r8,x1       movy.w  @r6,y1  ! .word 0xf0cd
444         movx.w  @r4+r8,x0       movy.w  @r7,y0  ! .word 0xf10d
445         movx.w  @r4+r8,x0       movy.w  @r7,y1  ! .word 0xf14d
446         movx.w  @r4+r8,x1       movy.w  @r7,y0  ! .word 0xf18d
447         movx.w  @r4+r8,x1       movy.w  @r7,y1  ! .word 0xf1cd
448         movx.w  @r5+r8,x0       movy.w  @r6,y0  ! .word 0xf20d
449         movx.w  @r5+r8,x0       movy.w  @r6,y1  ! .word 0xf24d
450         movx.w  @r5+r8,x1       movy.w  @r6,y0  ! .word 0xf28d
451         movx.w  @r5+r8,x1       movy.w  @r6,y1  ! .word 0xf2cd
452         movx.w  @r5+r8,x0       movy.w  @r7,y0  ! .word 0xf30d
453         movx.w  @r5+r8,x0       movy.w  @r7,y1  ! .word 0xf34d
454         movx.w  @r5+r8,x1       movy.w  @r7,y0  ! .word 0xf38d
455         movx.w  @r5+r8,x1       movy.w  @r7,y1  ! .word 0xf3cd
456         movx.w  @r4+r8,x0       movy.w  @r6+,y0 ! .word 0xf00e
457         movx.w  @r4+r8,x0       movy.w  @r6+,y1 ! .word 0xf04e
458         movx.w  @r4+r8,x1       movy.w  @r6+,y0 ! .word 0xf08e
459         movx.w  @r4+r8,x1       movy.w  @r6+,y1 ! .word 0xf0ce
460         movx.w  @r4+r8,x0       movy.w  @r7+,y0 ! .word 0xf10e
461         movx.w  @r4+r8,x0       movy.w  @r7+,y1 ! .word 0xf14e
462         movx.w  @r4+r8,x1       movy.w  @r7+,y0 ! .word 0xf18e
463         movx.w  @r4+r8,x1       movy.w  @r7+,y1 ! .word 0xf1ce
464         movx.w  @r5+r8,x0       movy.w  @r6+,y0 ! .word 0xf20e
465         movx.w  @r5+r8,x0       movy.w  @r6+,y1 ! .word 0xf24e
466         movx.w  @r5+r8,x1       movy.w  @r6+,y0 ! .word 0xf28e
467         movx.w  @r5+r8,x1       movy.w  @r6+,y1 ! .word 0xf2ce
468         movx.w  @r5+r8,x0       movy.w  @r7+,y0 ! .word 0xf30e
469         movx.w  @r5+r8,x0       movy.w  @r7+,y1 ! .word 0xf34e
470         movx.w  @r5+r8,x1       movy.w  @r7+,y0 ! .word 0xf38e
471         movx.w  @r5+r8,x1       movy.w  @r7+,y1 ! .word 0xf3ce
472         movx.w  @r4+r8,x0       movy.w  @r6+r9,y0       ! .word 0xf00f
473         movx.w  @r4+r8,x0       movy.w  @r6+r9,y1       ! .word 0xf04f
474         movx.w  @r4+r8,x1       movy.w  @r6+r9,y0       ! .word 0xf08f
475         movx.w  @r4+r8,x1       movy.w  @r6+r9,y1       ! .word 0xf0cf
476         movx.w  @r4+r8,x0       movy.w  @r7+r9,y0       ! .word 0xf10f
477         movx.w  @r4+r8,x0       movy.w  @r7+r9,y1       ! .word 0xf14f
478         movx.w  @r4+r8,x1       movy.w  @r7+r9,y0       ! .word 0xf18f
479         movx.w  @r4+r8,x1       movy.w  @r7+r9,y1       ! .word 0xf1cf
480         movx.w  @r5+r8,x0       movy.w  @r6+r9,y0       ! .word 0xf20f
481         movx.w  @r5+r8,x0       movy.w  @r6+r9,y1       ! .word 0xf24f
482         movx.w  @r5+r8,x1       movy.w  @r6+r9,y0       ! .word 0xf28f
483         movx.w  @r5+r8,x1       movy.w  @r6+r9,y1       ! .word 0xf2cf
484         movx.w  @r5+r8,x0       movy.w  @r7+r9,y0       ! .word 0xf30f
485         movx.w  @r5+r8,x0       movy.w  @r7+r9,y1       ! .word 0xf34f
486         movx.w  @r5+r8,x1       movy.w  @r7+r9,y0       ! .word 0xf38f
487         movx.w  @r5+r8,x1       movy.w  @r7+r9,y1       ! .word 0xf3cf
488         movx.w  @r4,x0  movy.w  a0,@r6  ! .word 0xf015
489         movx.w  @r4,x0  movy.w  a1,@r6  ! .word 0xf055
490         movx.w  @r4,x1  movy.w  a0,@r6  ! .word 0xf095
491         movx.w  @r4,x1  movy.w  a1,@r6  ! .word 0xf0d5
492         movx.w  @r4,x0  movy.w  a0,@r7  ! .word 0xf115
493         movx.w  @r4,x0  movy.w  a1,@r7  ! .word 0xf155
494         movx.w  @r4,x1  movy.w  a0,@r7  ! .word 0xf195
495         movx.w  @r4,x1  movy.w  a1,@r7  ! .word 0xf1d5
496         movx.w  @r5,x0  movy.w  a0,@r6  ! .word 0xf215
497         movx.w  @r5,x0  movy.w  a1,@r6  ! .word 0xf255
498         movx.w  @r5,x1  movy.w  a0,@r6  ! .word 0xf295
499         movx.w  @r5,x1  movy.w  a1,@r6  ! .word 0xf2d5
500         movx.w  @r5,x0  movy.w  a0,@r7  ! .word 0xf315
501         movx.w  @r5,x0  movy.w  a1,@r7  ! .word 0xf355
502         movx.w  @r5,x1  movy.w  a0,@r7  ! .word 0xf395
503         movx.w  @r5,x1  movy.w  a1,@r7  ! .word 0xf3d5
504         movx.w  @r4,x0  movy.w  a0,@r6+ ! .word 0xf016
505         movx.w  @r4,x0  movy.w  a1,@r6+ ! .word 0xf056
506         movx.w  @r4,x1  movy.w  a0,@r6+ ! .word 0xf096
507         movx.w  @r4,x1  movy.w  a1,@r6+ ! .word 0xf0d6
508         movx.w  @r4,x0  movy.w  a0,@r7+ ! .word 0xf116
509         movx.w  @r4,x0  movy.w  a1,@r7+ ! .word 0xf156
510         movx.w  @r4,x1  movy.w  a0,@r7+ ! .word 0xf196
511         movx.w  @r4,x1  movy.w  a1,@r7+ ! .word 0xf1d6
512         movx.w  @r5,x0  movy.w  a0,@r6+ ! .word 0xf216
513         movx.w  @r5,x0  movy.w  a1,@r6+ ! .word 0xf256
514         movx.w  @r5,x1  movy.w  a0,@r6+ ! .word 0xf296
515         movx.w  @r5,x1  movy.w  a1,@r6+ ! .word 0xf2d6
516         movx.w  @r5,x0  movy.w  a0,@r7+ ! .word 0xf316
517         movx.w  @r5,x0  movy.w  a1,@r7+ ! .word 0xf356
518         movx.w  @r5,x1  movy.w  a0,@r7+ ! .word 0xf396
519         movx.w  @r5,x1  movy.w  a1,@r7+ ! .word 0xf3d6
520         movx.w  @r4,x0  movy.w  a0,@r6+r9       ! .word 0xf017
521         movx.w  @r4,x0  movy.w  a1,@r6+r9       ! .word 0xf057
522         movx.w  @r4,x1  movy.w  a0,@r6+r9       ! .word 0xf097
523         movx.w  @r4,x1  movy.w  a1,@r6+r9       ! .word 0xf0d7
524         movx.w  @r4,x0  movy.w  a0,@r7+r9       ! .word 0xf117
525         movx.w  @r4,x0  movy.w  a1,@r7+r9       ! .word 0xf157
526         movx.w  @r4,x1  movy.w  a0,@r7+r9       ! .word 0xf197
527         movx.w  @r4,x1  movy.w  a1,@r7+r9       ! .word 0xf1d7
528         movx.w  @r5,x0  movy.w  a0,@r6+r9       ! .word 0xf217
529         movx.w  @r5,x0  movy.w  a1,@r6+r9       ! .word 0xf257
530         movx.w  @r5,x1  movy.w  a0,@r6+r9       ! .word 0xf297
531         movx.w  @r5,x1  movy.w  a1,@r6+r9       ! .word 0xf2d7
532         movx.w  @r5,x0  movy.w  a0,@r7+r9       ! .word 0xf317
533         movx.w  @r5,x0  movy.w  a1,@r7+r9       ! .word 0xf357
534         movx.w  @r5,x1  movy.w  a0,@r7+r9       ! .word 0xf397
535         movx.w  @r5,x1  movy.w  a1,@r7+r9       ! .word 0xf3d7
536         movx.w  @r4+,x0 movy.w  a0,@r6  ! .word 0xf019
537         movx.w  @r4+,x0 movy.w  a1,@r6  ! .word 0xf059
538         movx.w  @r4+,x1 movy.w  a0,@r6  ! .word 0xf099
539         movx.w  @r4+,x1 movy.w  a1,@r6  ! .word 0xf0d9
540         movx.w  @r4+,x0 movy.w  a0,@r7  ! .word 0xf119
541         movx.w  @r4+,x0 movy.w  a1,@r7  ! .word 0xf159
542         movx.w  @r4+,x1 movy.w  a0,@r7  ! .word 0xf199
543         movx.w  @r4+,x1 movy.w  a1,@r7  ! .word 0xf1d9
544         movx.w  @r5+,x0 movy.w  a0,@r6  ! .word 0xf219
545         movx.w  @r5+,x0 movy.w  a1,@r6  ! .word 0xf259
546         movx.w  @r5+,x1 movy.w  a0,@r6  ! .word 0xf299
547         movx.w  @r5+,x1 movy.w  a1,@r6  ! .word 0xf2d9
548         movx.w  @r5+,x0 movy.w  a0,@r7  ! .word 0xf319
549         movx.w  @r5+,x0 movy.w  a1,@r7  ! .word 0xf359
550         movx.w  @r5+,x1 movy.w  a0,@r7  ! .word 0xf399
551         movx.w  @r5+,x1 movy.w  a1,@r7  ! .word 0xf3d9
552         movx.w  @r4+,x0 movy.w  a0,@r6+ ! .word 0xf01a
553         movx.w  @r4+,x0 movy.w  a1,@r6+ ! .word 0xf05a
554         movx.w  @r4+,x1 movy.w  a0,@r6+ ! .word 0xf09a
555         movx.w  @r4+,x1 movy.w  a1,@r6+ ! .word 0xf0da
556         movx.w  @r4+,x0 movy.w  a0,@r7+ ! .word 0xf11a
557         movx.w  @r4+,x0 movy.w  a1,@r7+ ! .word 0xf15a
558         movx.w  @r4+,x1 movy.w  a0,@r7+ ! .word 0xf19a
559         movx.w  @r4+,x1 movy.w  a1,@r7+ ! .word 0xf1da
560         movx.w  @r5+,x0 movy.w  a0,@r6+ ! .word 0xf21a
561         movx.w  @r5+,x0 movy.w  a1,@r6+ ! .word 0xf25a
562         movx.w  @r5+,x1 movy.w  a0,@r6+ ! .word 0xf29a
563         movx.w  @r5+,x1 movy.w  a1,@r6+ ! .word 0xf2da
564         movx.w  @r5+,x0 movy.w  a0,@r7+ ! .word 0xf31a
565         movx.w  @r5+,x0 movy.w  a1,@r7+ ! .word 0xf35a
566         movx.w  @r5+,x1 movy.w  a0,@r7+ ! .word 0xf39a
567         movx.w  @r5+,x1 movy.w  a1,@r7+ ! .word 0xf3da
568         movx.w  @r4+,x0 movy.w  a0,@r6+r9       ! .word 0xf01b
569         movx.w  @r4+,x0 movy.w  a1,@r6+r9       ! .word 0xf05b
570         movx.w  @r4+,x1 movy.w  a0,@r6+r9       ! .word 0xf09b
571         movx.w  @r4+,x1 movy.w  a1,@r6+r9       ! .word 0xf0db
572         movx.w  @r4+,x0 movy.w  a0,@r7+r9       ! .word 0xf11b
573         movx.w  @r4+,x0 movy.w  a1,@r7+r9       ! .word 0xf15b
574         movx.w  @r4+,x1 movy.w  a0,@r7+r9       ! .word 0xf19b
575         movx.w  @r4+,x1 movy.w  a1,@r7+r9       ! .word 0xf1db
576         movx.w  @r5+,x0 movy.w  a0,@r6+r9       ! .word 0xf21b
577         movx.w  @r5+,x0 movy.w  a1,@r6+r9       ! .word 0xf25b
578         movx.w  @r5+,x1 movy.w  a0,@r6+r9       ! .word 0xf29b
579         movx.w  @r5+,x1 movy.w  a1,@r6+r9       ! .word 0xf2db
580         movx.w  @r5+,x0 movy.w  a0,@r7+r9       ! .word 0xf31b
581         movx.w  @r5+,x0 movy.w  a1,@r7+r9       ! .word 0xf35b
582         movx.w  @r5+,x1 movy.w  a0,@r7+r9       ! .word 0xf39b
583         movx.w  @r5+,x1 movy.w  a1,@r7+r9       ! .word 0xf3db
584         movx.w  @r4+r8,x0       movy.w  a0,@r6  ! .word 0xf01d
585         movx.w  @r4+r8,x0       movy.w  a1,@r6  ! .word 0xf05d
586         movx.w  @r4+r8,x1       movy.w  a0,@r6  ! .word 0xf09d
587         movx.w  @r4+r8,x1       movy.w  a1,@r6  ! .word 0xf0dd
588         movx.w  @r4+r8,x0       movy.w  a0,@r7  ! .word 0xf11d
589         movx.w  @r4+r8,x0       movy.w  a1,@r7  ! .word 0xf15d
590         movx.w  @r4+r8,x1       movy.w  a0,@r7  ! .word 0xf19d
591         movx.w  @r4+r8,x1       movy.w  a1,@r7  ! .word 0xf1dd
592         movx.w  @r5+r8,x0       movy.w  a0,@r6  ! .word 0xf21d
593         movx.w  @r5+r8,x0       movy.w  a1,@r6  ! .word 0xf25d
594         movx.w  @r5+r8,x1       movy.w  a0,@r6  ! .word 0xf29d
595         movx.w  @r5+r8,x1       movy.w  a1,@r6  ! .word 0xf2dd
596         movx.w  @r5+r8,x0       movy.w  a0,@r7  ! .word 0xf31d
597         movx.w  @r5+r8,x0       movy.w  a1,@r7  ! .word 0xf35d
598         movx.w  @r5+r8,x1       movy.w  a0,@r7  ! .word 0xf39d
599         movx.w  @r5+r8,x1       movy.w  a1,@r7  ! .word 0xf3dd
600         movx.w  @r4+r8,x0       movy.w  a0,@r6+ ! .word 0xf01e
601         movx.w  @r4+r8,x0       movy.w  a1,@r6+ ! .word 0xf05e
602         movx.w  @r4+r8,x1       movy.w  a0,@r6+ ! .word 0xf09e
603         movx.w  @r4+r8,x1       movy.w  a1,@r6+ ! .word 0xf0de
604         movx.w  @r4+r8,x0       movy.w  a0,@r7+ ! .word 0xf11e
605         movx.w  @r4+r8,x0       movy.w  a1,@r7+ ! .word 0xf15e
606         movx.w  @r4+r8,x1       movy.w  a0,@r7+ ! .word 0xf19e
607         movx.w  @r4+r8,x1       movy.w  a1,@r7+ ! .word 0xf1de
608         movx.w  @r5+r8,x0       movy.w  a0,@r6+ ! .word 0xf21e
609         movx.w  @r5+r8,x0       movy.w  a1,@r6+ ! .word 0xf25e
610         movx.w  @r5+r8,x1       movy.w  a0,@r6+ ! .word 0xf29e
611         movx.w  @r5+r8,x1       movy.w  a1,@r6+ ! .word 0xf2de
612         movx.w  @r5+r8,x0       movy.w  a0,@r7+ ! .word 0xf31e
613         movx.w  @r5+r8,x0       movy.w  a1,@r7+ ! .word 0xf35e
614         movx.w  @r5+r8,x1       movy.w  a0,@r7+ ! .word 0xf39e
615         movx.w  @r5+r8,x1       movy.w  a1,@r7+ ! .word 0xf3de
616         movx.w  @r4+r8,x0       movy.w  a0,@r6+r9       ! .word 0xf01f
617         movx.w  @r4+r8,x0       movy.w  a1,@r6+r9       ! .word 0xf05f
618         movx.w  @r4+r8,x1       movy.w  a0,@r6+r9       ! .word 0xf09f
619         movx.w  @r4+r8,x1       movy.w  a1,@r6+r9       ! .word 0xf0df
620         movx.w  @r4+r8,x0       movy.w  a0,@r7+r9       ! .word 0xf11f
621         movx.w  @r4+r8,x0       movy.w  a1,@r7+r9       ! .word 0xf15f
622         movx.w  @r4+r8,x1       movy.w  a0,@r7+r9       ! .word 0xf19f
623         movx.w  @r4+r8,x1       movy.w  a1,@r7+r9       ! .word 0xf1df
624         movx.w  @r5+r8,x0       movy.w  a0,@r6+r9       ! .word 0xf21f
625         movx.w  @r5+r8,x0       movy.w  a1,@r6+r9       ! .word 0xf25f
626         movx.w  @r5+r8,x1       movy.w  a0,@r6+r9       ! .word 0xf29f
627         movx.w  @r5+r8,x1       movy.w  a1,@r6+r9       ! .word 0xf2df
628         movx.w  @r5+r8,x0       movy.w  a0,@r7+r9       ! .word 0xf31f
629         movx.w  @r5+r8,x0       movy.w  a1,@r7+r9       ! .word 0xf35f
630         movx.w  @r5+r8,x1       movy.w  a0,@r7+r9       ! .word 0xf39f
631         movx.w  @r5+r8,x1       movy.w  a1,@r7+r9       ! .word 0xf3df
632         movx.w  a0,@r4  movy.w  @r6,y0  ! .word 0xf025
633         movx.w  a0,@r4  movy.w  @r6,y1  ! .word 0xf065
634         movx.w  a1,@r4  movy.w  @r6,y0  ! .word 0xf0a5
635         movx.w  a1,@r4  movy.w  @r6,y1  ! .word 0xf0e5
636         movx.w  a0,@r4  movy.w  @r7,y0  ! .word 0xf125
637         movx.w  a0,@r4  movy.w  @r7,y1  ! .word 0xf165
638         movx.w  a1,@r4  movy.w  @r7,y0  ! .word 0xf1a5
639         movx.w  a1,@r4  movy.w  @r7,y1  ! .word 0xf1e5
640         movx.w  a0,@r5  movy.w  @r6,y0  ! .word 0xf225
641         movx.w  a0,@r5  movy.w  @r6,y1  ! .word 0xf265
642         movx.w  a1,@r5  movy.w  @r6,y0  ! .word 0xf2a5
643         movx.w  a1,@r5  movy.w  @r6,y1  ! .word 0xf2e5
644         movx.w  a0,@r5  movy.w  @r7,y0  ! .word 0xf325
645         movx.w  a0,@r5  movy.w  @r7,y1  ! .word 0xf365
646         movx.w  a0,@r5  movy.w  @r7,y1  ! .word 0xf3a5
647         movx.w  a1,@r5  movy.w  @r7,y1  ! .word 0xf3e5
648         movx.w  a0,@r4  movy.w  @r6+,y0 ! .word 0xf026
649         movx.w  a0,@r4  movy.w  @r6+,y1 ! .word 0xf066
650         movx.w  a1,@r4  movy.w  @r6+,y0 ! .word 0xf0a6
651         movx.w  a1,@r4  movy.w  @r6+,y1 ! .word 0xf0e6
652         movx.w  a0,@r4  movy.w  @r7+,y0 ! .word 0xf126
653         movx.w  a0,@r4  movy.w  @r7+,y1 ! .word 0xf166
654         movx.w  a1,@r4  movy.w  @r7+,y0 ! .word 0xf1a6
655         movx.w  a1,@r4  movy.w  @r7+,y1 ! .word 0xf1e6
656         movx.w  a0,@r5  movy.w  @r6+,y0 ! .word 0xf226
657         movx.w  a0,@r5  movy.w  @r6+,y1 ! .word 0xf266
658         movx.w  a1,@r5  movy.w  @r6+,y0 ! .word 0xf2a6
659         movx.w  a1,@r5  movy.w  @r6+,y1 ! .word 0xf2e6
660         movx.w  a0,@r5  movy.w  @r7+,y0 ! .word 0xf326
661         movx.w  a0,@r5  movy.w  @r7+,y1 ! .word 0xf366
662         movx.w  a1,@r5  movy.w  @r7+,y0 ! .word 0xf3a6
663         movx.w  a1,@r5  movy.w  @r7+,y1 ! .word 0xf3e6
664         movx.w  a0,@r4  movy.w  @r6+r9,y0       ! .word 0xf027
665         movx.w  a0,@r4  movy.w  @r6+r9,y1       ! .word 0xf067
666         movx.w  a1,@r4  movy.w  @r6+r9,y0       ! .word 0xf0a7
667         movx.w  a1,@r4  movy.w  @r6+r9,y1       ! .word 0xf0e7
668         movx.w  a0,@r4  movy.w  @r7+r9,y0       ! .word 0xf127
669         movx.w  a0,@r4  movy.w  @r7+r9,y1       ! .word 0xf167
670         movx.w  a1,@r4  movy.w  @r7+r9,y0       ! .word 0xf1a7
671         movx.w  a1,@r4  movy.w  @r7+r9,y1       ! .word 0xf1e7
672         movx.w  a0,@r5  movy.w  @r6+r9,y0       ! .word 0xf227
673         movx.w  a0,@r5  movy.w  @r6+r9,y1       ! .word 0xf267
674         movx.w  a1,@r5  movy.w  @r6+r9,y0       ! .word 0xf2a7
675         movx.w  a1,@r5  movy.w  @r6+r9,y1       ! .word 0xf2e7
676         movx.w  a0,@r5  movy.w  @r7+r9,y0       ! .word 0xf327
677         movx.w  a0,@r5  movy.w  @r7+r9,y1       ! .word 0xf367
678         movx.w  a1,@r5  movy.w  @r7+r9,y0       ! .word 0xf3a7
679         movx.w  a1,@r5  movy.w  @r7+r9,y1       ! .word 0xf3e7
680         movx.w  a0,@r4+ movy.w  @r6,y0  ! .word 0xf029
681         movx.w  a0,@r4+ movy.w  @r6,y1  ! .word 0xf069
682         movx.w  a1,@r4+ movy.w  @r6,y0  ! .word 0xf0a9
683         movx.w  a1,@r4+ movy.w  @r6,y1  ! .word 0xf0e9
684         movx.w  a0,@r4+ movy.w  @r7,y0  ! .word 0xf129
685         movx.w  a0,@r4+ movy.w  @r7,y1  ! .word 0xf169
686         movx.w  a1,@r4+ movy.w  @r7,y0  ! .word 0xf1a9
687         movx.w  a1,@r4+ movy.w  @r7,y1  ! .word 0xf1e9
688         movx.w  a0,@r5+ movy.w  @r6,y0  ! .word 0xf229
689         movx.w  a0,@r5+ movy.w  @r6,y1  ! .word 0xf269
690         movx.w  a1,@r5+ movy.w  @r6,y0  ! .word 0xf2a9
691         movx.w  a1,@r5+ movy.w  @r6,y1  ! .word 0xf2e9
692         movx.w  a0,@r5+ movy.w  @r7,y0  ! .word 0xf329
693         movx.w  a0,@r5+ movy.w  @r7,y1  ! .word 0xf369
694         movx.w  a1,@r5+ movy.w  @r7,y0  ! .word 0xf3a9
695         movx.w  a1,@r5+ movy.w  @r7,y1  ! .word 0xf3e9
696         movx.w  a0,@r4+ movy.w  @r6+,y0 ! .word 0xf02a
697         movx.w  a0,@r4+ movy.w  @r6+,y1 ! .word 0xf06a
698         movx.w  a1,@r4+ movy.w  @r6+,y0 ! .word 0xf0aa
699         movx.w  a1,@r4+ movy.w  @r6+,y1 ! .word 0xf0ea
700         movx.w  a0,@r4+ movy.w  @r7+,y0 ! .word 0xf12a
701         movx.w  a0,@r4+ movy.w  @r7+,y1 ! .word 0xf16a
702         movx.w  a1,@r4+ movy.w  @r7+,y0 ! .word 0xf1aa
703         movx.w  a1,@r4+ movy.w  @r7+,y1 ! .word 0xf1ea
704         movx.w  a0,@r5+ movy.w  @r6+,y0 ! .word 0xf22a
705         movx.w  a0,@r5+ movy.w  @r6+,y1 ! .word 0xf26a
706         movx.w  a1,@r5+ movy.w  @r6+,y0 ! .word 0xf2aa
707         movx.w  a1,@r5+ movy.w  @r6+,y1 ! .word 0xf2ea
708         movx.w  a0,@r5+ movy.w  @r7+,y0 ! .word 0xf32a
709         movx.w  a0,@r5+ movy.w  @r7+,y1 ! .word 0xf36a
710         movx.w  a1,@r5+ movy.w  @r7+,y0 ! .word 0xf3aa
711         movx.w  a1,@r5+ movy.w  @r7+,y1 ! .word 0xf3ea
712         movx.w  a0,@r4+ movy.w  @r6+r9,y0       ! .word 0xf02b
713         movx.w  a0,@r4+ movy.w  @r6+r9,y1       ! .word 0xf06b
714         movx.w  a1,@r4+ movy.w  @r6+r9,y0       ! .word 0xf0ab
715         movx.w  a1,@r4+ movy.w  @r6+r9,y1       ! .word 0xf0eb
716         movx.w  a0,@r4+ movy.w  @r7+r9,y0       ! .word 0xf12b
717         movx.w  a0,@r4+ movy.w  @r7+r9,y1       ! .word 0xf16b
718         movx.w  a1,@r4+ movy.w  @r7+r9,y0       ! .word 0xf1ab
719         movx.w  a1,@r4+ movy.w  @r7+r9,y1       ! .word 0xf1eb
720         movx.w  a0,@r5+ movy.w  @r6+r9,y0       ! .word 0xf22b
721         movx.w  a0,@r5+ movy.w  @r6+r9,y1       ! .word 0xf26b
722         movx.w  a1,@r5+ movy.w  @r6+r9,y0       ! .word 0xf2ab
723         movx.w  a1,@r5+ movy.w  @r6+r9,y1       ! .word 0xf2eb
724         movx.w  a0,@r5+ movy.w  @r7+r9,y0       ! .word 0xf32b
725         movx.w  a0,@r5+ movy.w  @r7+r9,y1       ! .word 0xf36b
726         movx.w  a1,@r5+ movy.w  @r7+r9,y0       ! .word 0xf3ab
727         movx.w  a1,@r5+ movy.w  @r7+r9,y1       ! .word 0xf3eb
728         movx.w  a0,@r4+r8       movy.w  @r6,y0  ! .word 0xf02d
729         movx.w  a0,@r4+r8       movy.w  @r6,y1  ! .word 0xf06d
730         movx.w  a1,@r4+r8       movy.w  @r6,y0  ! .word 0xf0ad
731         movx.w  a1,@r4+r8       movy.w  @r6,y1  ! .word 0xf0ed
732         movx.w  a0,@r4+r8       movy.w  @r7,y0  ! .word 0xf12d
733         movx.w  a0,@r4+r8       movy.w  @r7,y1  ! .word 0xf16d
734         movx.w  a1,@r4+r8       movy.w  @r7,y0  ! .word 0xf1ad
735         movx.w  a1,@r4+r8       movy.w  @r7,y1  ! .word 0xf1ed
736         movx.w  a0,@r5+r8       movy.w  @r6,y0  ! .word 0xf22d
737         movx.w  a0,@r5+r8       movy.w  @r6,y1  ! .word 0xf26d
738         movx.w  a1,@r5+r8       movy.w  @r6,y0  ! .word 0xf2ad
739         movx.w  a1,@r5+r8       movy.w  @r6,y1  ! .word 0xf2ed
740         movx.w  a0,@r5+r8       movy.w  @r7,y0  ! .word 0xf32d
741         movx.w  a0,@r5+r8       movy.w  @r7,y1  ! .word 0xf36d
742         movx.w  a1,@r5+r8       movy.w  @r7,y0  ! .word 0xf3ad
743         movx.w  a1,@r5+r8       movy.w  @r7,y1  ! .word 0xf3ed
744         movx.w  a0,@r4+r8       movy.w  @r6+,y0 ! .word 0xf02e
745         movx.w  a0,@r4+r8       movy.w  @r6+,y1 ! .word 0xf06e
746         movx.w  a1,@r4+r8       movy.w  @r6+,y0 ! .word 0xf0ae
747         movx.w  a1,@r4+r8       movy.w  @r6+,y1 ! .word 0xf0ee
748         movx.w  a0,@r4+r8       movy.w  @r7+,y0 ! .word 0xf12e
749         movx.w  a0,@r4+r8       movy.w  @r7+,y1 ! .word 0xf16e
750         movx.w  a1,@r4+r8       movy.w  @r7+,y0 ! .word 0xf1ae
751         movx.w  a1,@r4+r8       movy.w  @r7+,y1 ! .word 0xf1ee
752         movx.w  a0,@r5+r8       movy.w  @r6+,y0 ! .word 0xf22e
753         movx.w  a0,@r5+r8       movy.w  @r6+,y1 ! .word 0xf26e
754         movx.w  a1,@r5+r8       movy.w  @r6+,y0 ! .word 0xf2ae
755         movx.w  a1,@r5+r8       movy.w  @r6+,y1 ! .word 0xf2ee
756         movx.w  a0,@r5+r8       movy.w  @r7+,y0 ! .word 0xf32e
757         movx.w  a0,@r5+r8       movy.w  @r7+,y1 ! .word 0xf36e
758         movx.w  a1,@r5+r8       movy.w  @r7+,y0 ! .word 0xf3ae
759         movx.w  a1,@r5+r8       movy.w  @r7+,y1 ! .word 0xf3ee
760         movx.w  a0,@r4+r8       movy.w  @r6+r9,y0       ! .word 0xf02f
761         movx.w  a0,@r4+r8       movy.w  @r6+r9,y1       ! .word 0xf06f
762         movx.w  a1,@r4+r8       movy.w  @r6+r9,y0       ! .word 0xf0af
763         movx.w  a1,@r4+r8       movy.w  @r6+r9,y1       ! .word 0xf0ef
764         movx.w  a0,@r4+r8       movy.w  @r7+r9,y0       ! .word 0xf12f
765         movx.w  a0,@r4+r8       movy.w  @r7+r9,y1       ! .word 0xf16f
766         movx.w  a1,@r4+r8       movy.w  @r7+r9,y0       ! .word 0xf1af
767         movx.w  a1,@r4+r8       movy.w  @r7+r9,y1       ! .word 0xf1ef
768         movx.w  a0,@r5+r8       movy.w  @r6+r9,y0       ! .word 0xf22f
769         movx.w  a0,@r5+r8       movy.w  @r6+r9,y1       ! .word 0xf26f
770         movx.w  a1,@r5+r8       movy.w  @r6+r9,y0       ! .word 0xf2af
771         movx.w  a1,@r5+r8       movy.w  @r6+r9,y1       ! .word 0xf2ef
772         movx.w  a0,@r5+r8       movy.w  @r7+r9,y0       ! .word 0xf32f
773         movx.w  a0,@r5+r8       movy.w  @r7+r9,y1       ! .word 0xf36f
774         movx.w  a1,@r5+r8       movy.w  @r7+r9,y0       ! .word 0xf3af
775         movx.w  a1,@r5+r8       movy.w  @r7+r9,y1       ! .word 0xf3ef
776
777 movxwaxydxy:
778         movx.w  @r4,x0  ! 
779         movx.w  @r4,y0  ! 
780         movx.w  @r4,x1  ! 
781         movx.w  @r4,y1  ! 
782         movx.w  @r0,x0  ! 
783         movx.w  @r0,y0  ! 
784         movx.w  @r0,x1  ! 
785         movx.w  @r0,y1  ! 
786         movx.w  @r5,x0  ! 
787         movx.w  @r5,y0  ! 
788         movx.w  @r5,x1  ! 
789         movx.w  @r5,y1  ! 
790         movx.w  @r1,x0  ! 
791         movx.w  @r1,y0  ! 
792         movx.w  @r1,x1  ! 
793         movx.w  @r1,y1  ! 
794         movx.w  @r4+,x0 ! 
795         movx.w  @r4+,y0 ! 
796         movx.w  @r4+,x1 ! 
797         movx.w  @r4+,y1 ! 
798         movx.w  @r0+,x0 ! 
799         movx.w  @r0+,y0 ! 
800         movx.w  @r0+,x1 ! 
801         movx.w  @r0+,y1 ! 
802         movx.w  @r5+,x0 ! 
803         movx.w  @r5+,y0 ! 
804         movx.w  @r5+,x1 ! 
805         movx.w  @r5+,y1 ! 
806         movx.w  @r1+,x0 ! 
807         movx.w  @r1+,y0 ! 
808         movx.w  @r1+,x1 ! 
809         movx.w  @r1+,y1 ! 
810         movx.w  @r4+r8,x0       ! 
811         movx.w  @r4+r8,y0       ! 
812         movx.w  @r4+r8,x1       ! 
813         movx.w  @r4+r8,y1       ! 
814         movx.w  @r0+r8,x0       ! 
815         movx.w  @r0+r8,y0       ! 
816         movx.w  @r0+r8,x1       ! 
817         movx.w  @r0+r8,y1       ! 
818         movx.w  @r5+r8,x0       ! 
819         movx.w  @r5+r8,y0       ! 
820         movx.w  @r5+r8,x1       ! 
821         movx.w  @r5+r8,y1       ! 
822         movx.w  @r1+r8,x0       ! 
823         movx.w  @r1+r8,y0       ! 
824         movx.w  @r1+r8,x1       ! 
825         movx.w  @r1+r8,y1       ! 
826         
827 movxwdaxaxy:    ! 
828         movx.w  a0,@r4  ! 
829         movx.w  x0,@r4  ! 
830         movx.w  a1,@r4  ! 
831         movx.w  x1,@r4  ! 
832         movx.w  a0,@r0  ! 
833         movx.w  x0,@r0  ! 
834         movx.w  a1,@r0  ! 
835         movx.w  x1,@r0  ! 
836         movx.w  a0,@r5  ! 
837         movx.w  x0,@r5  ! 
838         movx.w  a1,@r5  ! 
839         movx.w  x1,@r5  ! 
840         movx.w  a0,@r1  ! 
841         movx.w  x0,@r1  ! 
842         movx.w  a1,@r1  ! 
843         movx.w  x1,@r1  ! 
844         movx.w  a0,@r4+ ! 
845         movx.w  x0,@r4+ ! 
846         movx.w  a1,@r4+ ! 
847         movx.w  x1,@r4+ ! 
848         movx.w  a0,@r0+ ! 
849         movx.w  x0,@r0+ ! 
850         movx.w  a1,@r0+ ! 
851         movx.w  x1,@r0+ ! 
852         movx.w  a0,@r5+ ! 
853         movx.w  x0,@r5+ ! 
854         movx.w  a1,@r5+ ! 
855         movx.w  x1,@r5+ ! 
856         movx.w  a0,@r1+ ! 
857         movx.w  x0,@r1+ ! 
858         movx.w  a1,@r1+ ! 
859         movx.w  x1,@r1+ ! 
860         movx.w  a0,@r4+r8       ! 
861         movx.w  x0,@r4+r8       ! 
862         movx.w  a1,@r4+r8       ! 
863         movx.w  x1,@r4+r8       ! 
864         movx.w  a0,@r0+r8       ! 
865         movx.w  x0,@r0+r8       ! 
866         movx.w  a1,@r0+r8       ! 
867         movx.w  x1,@r0+r8       ! 
868         movx.w  a0,@r5+r8       ! 
869         movx.w  x0,@r5+r8       ! 
870         movx.w  a1,@r5+r8       ! 
871         movx.w  x1,@r5+r8       ! 
872         movx.w  a0,@r1+r8       ! 
873         movx.w  x0,@r1+r8       ! 
874         movx.w  a1,@r1+r8       ! 
875         movx.w  x1,@r1+r8       ! 
876
877 movywayxdyx:    ! 
878         movy.w  @r6,y0  ! 
879         movy.w  @r6,y1  ! 
880         movy.w  @r6,x0  ! 
881         movy.w  @r6,x1  ! 
882         movy.w  @r7,y0  ! 
883         movy.w  @r7,y1  ! 
884         movy.w  @r7,x0  ! 
885         movy.w  @r7,x1  ! 
886         movy.w  @r2,y0  ! 
887         movy.w  @r2,y1  ! 
888         movy.w  @r2,x0  ! 
889         movy.w  @r2,x1  ! 
890         movy.w  @r3,y0  ! 
891         movy.w  @r3,y1  ! 
892         movy.w  @r3,x0  ! 
893         movy.w  @r3,x1  ! 
894         movy.w  @r6+,y0 ! 
895         movy.w  @r6+,y1 ! 
896         movy.w  @r6+,x0 ! 
897         movy.w  @r6+,x1 ! 
898         movy.w  @r7+,y0 ! 
899         movy.w  @r7+,y1 ! 
900         movy.w  @r7+,x0 ! 
901         movy.w  @r7+,x1 ! 
902         movy.w  @r2+,y0 ! 
903         movy.w  @r2+,y1 ! 
904         movy.w  @r2+,x0 ! 
905         movy.w  @r2+,x1 ! 
906         movy.w  @r3+,y0 ! 
907         movy.w  @r3+,y1 ! 
908         movy.w  @r3+,x0 ! 
909         movy.w  @r3+,x1 ! 
910         movy.w  @r6+r9,y0       ! 
911         movy.w  @r6+r9,y1       ! 
912         movy.w  @r6+r9,x0       ! 
913         movy.w  @r6+r9,x1       ! 
914         movy.w  @r7+r9,y0       ! 
915         movy.w  @r7+r9,y1       ! 
916         movy.w  @r7+r9,x0       ! 
917         movy.w  @r7+r9,x1       ! 
918         movy.w  @r2+r9,y0       ! 
919         movy.w  @r2+r9,y1       ! 
920         movy.w  @r2+r9,x0       ! 
921         movy.w  @r2+r9,x1       ! 
922         movy.w  @r3+r9,y0       ! 
923         movy.w  @r3+r9,y1       ! 
924         movy.w  @r3+r9,x0       ! 
925         movy.w  @r3+r9,x1       ! 
926
927 movywdayayx:
928         movy.w  a0,@r6
929         movy.w  a1,@r6
930         movy.w  y0,@r6
931         movy.w  y1,@r6
932         movy.w  a0,@r7
933         movy.w  a1,@r7
934         movy.w  y0,@r7
935         movy.w  y1,@r7
936         movy.w  a0,@r2
937         movy.w  a1,@r2
938         movy.w  y0,@r2
939         movy.w  y1,@r2
940         movy.w  a0,@r3
941         movy.w  a1,@r3
942         movy.w  y0,@r3
943         movy.w  y1,@r3
944         movy.w  a0,@r6+
945         movy.w  a1,@r6+
946         movy.w  y0,@r6+
947         movy.w  y1,@r6+
948         movy.w  a0,@r7+
949         movy.w  a1,@r7+
950         movy.w  y0,@r7+
951         movy.w  y1,@r7+
952         movy.w  a0,@r2+
953         movy.w  a1,@r2+
954         movy.w  y0,@r2+
955         movy.w  y1,@r2+
956         movy.w  a0,@r3+
957         movy.w  a1,@r3+
958         movy.w  y0,@r3+
959         movy.w  y1,@r3+
960         movy.w  a0,@r6+r9
961         movy.w  a1,@r6+r9
962         movy.w  y0,@r6+r9
963         movy.w  y1,@r6+r9
964         movy.w  a0,@r7+r9
965         movy.w  a1,@r7+r9
966         movy.w  y0,@r7+r9
967         movy.w  y1,@r7+r9
968         movy.w  a0,@r2+r9
969         movy.w  a1,@r2+r9
970         movy.w  y0,@r2+r9
971         movy.w  y1,@r2+r9
972         movy.w  a0,@r3+r9
973         movy.w  a1,@r3+r9
974         movy.w  y0,@r3+r9
975         movy.w  y1,@r3+r9
976
977         mov     r4, r0
978         mov     r4, r1
979         mov     r4, r2
980         mov     r4, r3
981         mov     r4, r5
982         mov     r4, r6
983         mov     r5, r7
984
985 movxlaxydxy:
986         movx.l  @r4,x0
987         movx.l  @r4,y0
988         movx.l  @r4,x1
989         movx.l  @r4,y1
990         movx.l  @r0,x0
991         movx.l  @r0,y0
992         movx.l  @r0,x1
993         movx.l  @r0,y1
994         movx.l  @r5,x0
995         movx.l  @r5,y0
996         movx.l  @r5,x1
997         movx.l  @r5,y1
998         movx.l  @r1,x0
999         movx.l  @r1,y0
1000         movx.l  @r1,x1
1001         movx.l  @r1,y1
1002         movx.l  @r4+,x0
1003         movx.l  @r4+,y0
1004         movx.l  @r4+,x1
1005         movx.l  @r4+,y1
1006         movx.l  @r0+,x0
1007         movx.l  @r0+,y0
1008         movx.l  @r0+,x1
1009         movx.l  @r0+,y1
1010         movx.l  @r5+,x0
1011         movx.l  @r5+,y0
1012         movx.l  @r5+,x1
1013         movx.l  @r5+,y1
1014         movx.l  @r1+,x0
1015         movx.l  @r1+,y0
1016         movx.l  @r1+,x1
1017         movx.l  @r1+,y1
1018         movx.l  @r4+r8,x0
1019         movx.l  @r4+r8,y0
1020         movx.l  @r4+r8,x1
1021         movx.l  @r4+r8,y1
1022         movx.l  @r0+r8,x0
1023         movx.l  @r0+r8,y0
1024         movx.l  @r0+r8,x1
1025         movx.l  @r0+r8,y1
1026         movx.l  @r5+r8,x0
1027         movx.l  @r5+r8,y0
1028         movx.l  @r5+r8,x1
1029         movx.l  @r5+r8,y1
1030         movx.l  @r1+r8,x0
1031         movx.l  @r1+r8,y0
1032         movx.l  @r1+r8,x1
1033         movx.l  @r1+r8,y1
1034
1035 movxldaxaxy:
1036         movx.l  a0,@r4
1037         movx.l  x0,@r4
1038         movx.l  a1,@r4
1039         movx.l  x1,@r4
1040         movx.l  a0,@r0
1041         movx.l  x0,@r0
1042         movx.l  a1,@r0
1043         movx.l  x1,@r0
1044         movx.l  a0,@r5
1045         movx.l  x0,@r5
1046         movx.l  a1,@r5
1047         movx.l  x1,@r5
1048         movx.l  a0,@r1
1049         movx.l  x0,@r1
1050         movx.l  a1,@r1
1051         movx.l  x1,@r1
1052         movx.l  a0,@r4+
1053         movx.l  x0,@r4+
1054         movx.l  a1,@r4+
1055         movx.l  x1,@r4+
1056         movx.l  a0,@r0+
1057         movx.l  x0,@r0+
1058         movx.l  a1,@r0+
1059         movx.l  x1,@r0+
1060         movx.l  a0,@r5+
1061         movx.l  x0,@r5+
1062         movx.l  a1,@r5+
1063         movx.l  x1,@r5+
1064         movx.l  a0,@r1+
1065         movx.l  x0,@r1+
1066         movx.l  a1,@r1+
1067         movx.l  x1,@r1+
1068         movx.l  a0,@r4+r8
1069         movx.l  x0,@r4+r8
1070         movx.l  a1,@r4+r8
1071         movx.l  x1,@r4+r8
1072         movx.l  a0,@r0+r8
1073         movx.l  x0,@r0+r8
1074         movx.l  a1,@r0+r8
1075         movx.l  x1,@r0+r8
1076         movx.l  a0,@r5+r8
1077         movx.l  x0,@r5+r8
1078         movx.l  a1,@r5+r8
1079         movx.l  x1,@r5+r8
1080         movx.l  a0,@r1+r8
1081         movx.l  x0,@r1+r8
1082         movx.l  a1,@r1+r8
1083         movx.l  x1,@r1+r8
1084
1085 movylayxdyx:
1086         movy.l  @r6,y0
1087         movy.l  @r6,y1
1088         movy.l  @r6,x0
1089         movy.l  @r6,x1
1090         movy.l  @r7,y0
1091         movy.l  @r7,y1
1092         movy.l  @r7,x0
1093         movy.l  @r7,x1
1094         movy.l  @r2,y0
1095         movy.l  @r2,y1
1096         movy.l  @r2,x0
1097         movy.l  @r2,x1
1098         movy.l  @r3,y0
1099         movy.l  @r3,y1
1100         movy.l  @r3,x0
1101         movy.l  @r3,x1
1102         movy.l  @r6+,y0
1103         movy.l  @r6+,y1
1104         movy.l  @r6+,x0
1105         movy.l  @r6+,x1
1106         movy.l  @r7+,y0
1107         movy.l  @r7+,y1
1108         movy.l  @r7+,x0
1109         movy.l  @r7+,x1
1110         movy.l  @r2+,y0
1111         movy.l  @r2+,y1
1112         movy.l  @r2+,x0
1113         movy.l  @r2+,x1
1114         movy.l  @r3+,y0
1115         movy.l  @r3+,y1
1116         movy.l  @r3+,x0
1117         movy.l  @r3+,x1
1118         movy.l  @r6+r9,y0
1119         movy.l  @r6+r9,y1
1120         movy.l  @r6+r9,x0
1121         movy.l  @r6+r9,x1
1122         movy.l  @r7+r9,y0
1123         movy.l  @r7+r9,y1
1124         movy.l  @r7+r9,x0
1125         movy.l  @r7+r9,x1
1126         movy.l  @r2+r9,y0
1127         movy.l  @r2+r9,y1
1128         movy.l  @r2+r9,x0
1129         movy.l  @r2+r9,x1
1130         movy.l  @r3+r9,y0
1131         movy.l  @r3+r9,y1
1132         movy.l  @r3+r9,x0
1133         movy.l  @r3+r9,x1
1134
1135 movyldayayx:
1136         movy.l  a0,@r6
1137         movy.l  a1,@r6
1138         movy.l  y0,@r6
1139         movy.l  y1,@r6
1140         movy.l  a0,@r7
1141         movy.l  a1,@r7
1142         movy.l  y0,@r7
1143         movy.l  y1,@r7
1144         movy.l  a0,@r2
1145         movy.l  a1,@r2
1146         movy.l  y0,@r2
1147         movy.l  y1,@r2
1148         movy.l  a0,@r3
1149         movy.l  a1,@r3
1150         movy.l  y0,@r3
1151         movy.l  y1,@r3
1152         movy.l  a0,@r6+
1153         movy.l  a1,@r6+
1154         movy.l  y0,@r6+
1155         movy.l  y1,@r6+
1156         movy.l  a0,@r7+
1157         movy.l  a1,@r7+
1158         movy.l  y0,@r7+
1159         movy.l  y1,@r7+
1160         movy.l  a0,@r2+
1161         movy.l  a1,@r2+
1162         movy.l  y0,@r2+
1163         movy.l  y1,@r2+
1164         movy.l  a0,@r3+
1165         movy.l  a1,@r3+
1166         movy.l  y0,@r3+
1167         movy.l  y1,@r3+
1168         movy.l  a0,@r6+r9
1169         movy.l  a1,@r6+r9
1170         movy.l  y0,@r6+r9
1171         movy.l  y1,@r6+r9
1172         movy.l  a0,@r7+r9
1173         movy.l  a1,@r7+r9
1174         movy.l  y0,@r7+r9
1175         movy.l  y1,@r7+r9
1176         movy.l  a0,@r2+r9
1177         movy.l  a1,@r2+r9
1178         movy.l  y0,@r2+r9
1179         movy.l  y1,@r2+r9
1180         movy.l  a0,@r3+r9
1181         movy.l  a1,@r3+r9
1182         movy.l  y0,@r3+r9
1183         movy.l  y1,@r3+r9
1184
1185         pass
1186         exit 0