OSDN Git Service

* mips32-dsp.s: Update copyright year.
[pf3gnuchains/pf3gnuchains4x.git] / sim / testsuite / sim / mips / mips32-dsp.s
1 # MIPS32 DSP ASE test
2 # mach:  mips32r2 mips64r2
3 #as:            -mdsp
4 #ld:            -N -Ttext=0x80010000
5 #output:        *\\npass\\n
6
7 # Copyright (C) 2005, 2010, 2011 Free Software Foundation, Inc.
8 # Contributed by MIPS Technologies, Inc.  Written by Chao-ying Fu.
9 #
10 # This file is part of the GNU simulators.
11 #
12 # This program is free software; you can redistribute it and/or modify
13 # it under the terms of the GNU General Public License as published by
14 # the Free Software Foundation; either version 3 of the License, or
15 # (at your option) any later version.
16 #
17 # This program is distributed in the hope that it will be useful,
18 # but WITHOUT ANY WARRANTY; without even the implied warranty of
19 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20 # GNU General Public License for more details.
21 #
22 # You should have received a copy of the GNU General Public License
23 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
24
25         .include "testutils.inc"
26         .include "utils-dsp.inc"
27
28         setup
29
30         .set noreorder
31
32         .ent DIAG
33 DIAG:
34
35         writemsg "[1] Test addq.ph"
36         dspck_dstio addq.ph, 0x0, 0x0, 0x0, 0x0, 0x0
37         dspck_dstio addq.ph, 0x20002, 0x10001, 0x10001, 0x0, 0x0
38         dspck_dstio addq.ph, 0xfffefffe, 0xffffffff, 0xffffffff, 0x0, 0x0
39         dspck_dstio addq.ph, 0xffff0000, 0xffffffff, 0x1, 0x0, 0x0
40         dspck_dstio addq.ph, 0x0, 0xffffffff, 0x10001, 0x0, 0x0
41
42         writemsg "[2] Test addq_s.ph"
43         dspck_dstio addq_s.ph, 0x0, 0x0, 0x0, 0x0, 0x0
44         dspck_dstio addq_s.ph, 0x20002, 0x10001, 0x10001, 0x0, 0x0
45         dspck_dstio addq_s.ph, 0xfffefffe, 0xffffffff, 0xffffffff, 0x0, 0x0
46         dspck_dstio addq_s.ph, 0xffff0000, 0xffffffff, 0x1, 0x0, 0x0
47         dspck_dstio addq_s.ph, 0xffff0000, 0x1, 0xffffffff, 0x0, 0x0
48
49         writemsg "[3] Test addq_s.w"
50         dspck_dsti addq_s.w, 0x0, 0x0, 0x0, 0x0
51         dspck_dstio addq_s.w, 0x2, 0x1, 0x1, 0x0, 0x0
52         dspck_dstio addq_s.w, 0xfffffffe, 0xffffffff, 0xffffffff, 0x0, 0x0
53         dspck_dstio addq_s.w, 0x0, 0xffffffff, 0x1, 0x0, 0x0
54         dspck_dstio addq_s.w, 0xffff, 0xffffffff, 0x10000, 0x0, 0x0
55
56         writemsg "[4] Test addu.qb"
57         dspck_dstio addu.qb, 0x0, 0x0, 0x0, 0x0, 0x0
58         dspck_dstio addu.qb, 0x2040000, 0x102ff01, 0x10201ff, 0x0, 0x100000
59         dspck_dstio addu.qb, 0xfe0001fe, 0x7f80ffff, 0x7f8002ff, 0x0, 0x100000
60         dspck_dstio addu.qb, 0xffffffff, 0x10203, 0xfffefdfc, 0x0, 0x0
61         dspck_dstio addu.qb, 0xffffffff, 0xfbfaf9f8, 0x4050607, 0x0, 0x0
62
63         writemsg "[5] Test addu_s.qb"
64         dspck_dstio addu_s.qb, 0x0, 0x0, 0x0, 0x0, 0x0
65         dspck_dstio addu_s.qb, 0x204ffff, 0x102ff01, 0x10201ff, 0x0, 0x100000
66         dspck_dstio addu_s.qb, 0xfeffffff, 0x7f80ffff, 0x7f8002ff, 0x0, 0x100000
67         dspck_dstio addu_s.qb, 0xffffffff, 0x10203, 0xfffefdfc, 0x0, 0x0
68         dspck_dstio addu_s.qb, 0xffffffff, 0xfbfaf9f8, 0x4050607, 0x0, 0x0
69
70         writemsg "[6] Test subq.ph"
71         dspck_dstio subq.ph, 0x0, 0x0, 0x0, 0x0, 0x0
72         dspck_dstio subq.ph, 0x10001, 0x20002, 0x10001, 0x0, 0x0
73         dspck_dstio subq.ph, 0x1ffff, 0x2fffe, 0x1ffff, 0x0, 0x0
74         dspck_dstio subq.ph, 0x7fff0000, 0xfffe8000, 0x7fff8000, 0x0, 0x100000
75         dspck_dstio subq.ph, 0x1ffff, 0x7fff8000, 0x7ffe8001, 0x0, 0x0
76
77         writemsg "[7] Test subq_s.ph"
78         dspck_dstio subq_s.ph, 0x0, 0x0, 0x0, 0x0, 0x0
79         dspck_dstio subq_s.ph, 0x10001, 0x20002, 0x10001, 0x0, 0x0
80         dspck_dstio subq_s.ph, 0x1ffff, 0x2fffe, 0x1ffff, 0x0, 0x0
81         dspck_dstio subq_s.ph, 0x0, 0x7fff8000, 0x7fff8000, 0x0, 0x0
82         dspck_dstio subq_s.ph, 0x1ffff, 0x7fff8000, 0x7ffe8001, 0x0, 0x0
83
84         writemsg "[8] Test subq_s.w"
85         dspck_dsti subq_s.w, 0x0, 0x0, 0x0, 0x0
86         dspck_dsti subq_s.w, 0x0, 0x7fffffff, 0x7fffffff, 0x0
87         dspck_dstio subq_s.w, 0x7fffffff, 0x0, 0x80000000, 0x0, 0x100000
88         dspck_dstio subq_s.w, 0x1, 0x2, 0x1, 0x0, 0x0
89         dspck_dstio subq_s.w, 0xffffffff, 0xfffffffe, 0xffffffff, 0x0, 0x0
90
91         writemsg "[9] Test subu.qb"
92         dspck_dstio subu.qb, 0x0, 0x0, 0x0, 0x0, 0x0
93         dspck_dstio subu.qb, 0x4030201, 0x8060402, 0x4030201, 0x0, 0x0
94         dspck_dstio subu.qb, 0xfcfdfeff, 0x4030201, 0x8060402, 0x0, 0x100000
95         dspck_dstio subu.qb, 0x102ff01, 0x2040000, 0x10201ff, 0x0, 0x100000
96         dspck_dstio subu.qb, 0x7f80ffff, 0xfe0001fe, 0x7f8002ff, 0x0, 0x100000
97
98         writemsg "[10] Test subu_s.qb"
99         dspck_dstio subu_s.qb, 0x0, 0x0, 0x0, 0x0, 0x0
100         dspck_dstio subu_s.qb, 0x4030201, 0x8060402, 0x4030201, 0x0, 0x0
101         dspck_dstio subu_s.qb, 0x0, 0x4030201, 0x8060402, 0x0, 0x100000
102         dspck_dstio subu_s.qb, 0x1020000, 0x2040000, 0x10201ff, 0x0, 0x100000
103         dspck_dstio subu_s.qb, 0x7f000000, 0xfe0001fe, 0x7f8002ff, 0x0, 0x100000
104
105         writemsg "[11] Test addsc"
106         dspck_dstio addsc, 0x0, 0x0, 0x0, 0x0, 0x0
107         dspck_dstio addsc, 0x1000000, 0x84000000, 0x7d000000, 0x0, 0x2000
108         dspck_dstio addsc, 0xf1000000, 0x74000000, 0x7d000000, 0x0, 0x0
109         dspck_dstio addsc, 0x2, 0x1, 0x1, 0x0, 0x0
110         dspck_dstio addsc, 0xffffffff, 0xfffffffe, 0x1, 0x0, 0x0
111
112         writemsg "[12] Test addwc"
113         dspck_dstio addwc, 0x0, 0x0, 0x0, 0x0, 0x0
114         dspck_dstio addwc, 0x2, 0x1, 0x1, 0x0, 0x0
115         dspck_dstio addwc, 0x3, 0x1, 0x1, 0x2000, 0x2000
116         dspck_dsti addwc, 0x1, 0xffffffff, 0x1, 0x2000
117         dspck_dsti addwc, 0x11, 0xa, 0x6, 0x2000
118
119         writemsg "[13] Test modsub"
120         dspck_dstio modsub, 0x0, 0x0, 0x0, 0x0, 0x0
121         dspck_dstio modsub, 0x76, 0x78, 0x7802, 0x0, 0x0
122         dspck_dstio modsub, 0x74, 0x76, 0x7802, 0x0, 0x0
123         dspck_dstio modsub, 0x78, 0x0, 0x7802, 0x0, 0x0
124         dspck_dstio modsub, 0xf9, 0xfc, 0xfe03, 0x0, 0x0
125
126         writemsg "[14] Test raddu.w.qb"
127         dspck_dsio raddu.w.qb, 0x0, 0x0, 0x0, 0x0
128         dspck_dsio raddu.w.qb, 0x2, 0x1000100, 0x0, 0x0
129         dspck_dsio raddu.w.qb, 0x4, 0x1010101, 0x0, 0x0
130         dspck_dsio raddu.w.qb, 0x200, 0xff01ff01, 0x0, 0x0
131         dspck_dsio raddu.w.qb, 0x3fc, 0xffffffff, 0x0, 0x0
132
133         writemsg "[15] Test absq_s.ph"
134         dspck_dsio absq_s.ph, 0x0, 0x0, 0x0, 0x0
135         dspck_dsio absq_s.ph, 0x10001, 0xffffffff, 0x0, 0x0
136         dspck_dsio absq_s.ph, 0x7fff7fff, 0x80008000, 0x0, 0x100000
137         dspck_dsio absq_s.ph, 0x60000002, 0xa000fffe, 0x0, 0x0
138         dspck_dsio absq_s.ph, 0x70000004, 0x9000fffc, 0x0, 0x0
139
140         writemsg "[16] Test absq_s.w"
141         dspck_dsio absq_s.w, 0x0, 0x0, 0x0, 0x0
142         dspck_dsio absq_s.w, 0x1, 0xffffffff, 0x0, 0x0
143         dspck_dsio absq_s.w, 0x7fffffff, 0x80000000, 0x0, 0x100000
144         dspck_dsio absq_s.w, 0x40000001, 0xbfffffff, 0x0, 0x0
145         dspck_dsio absq_s.w, 0x8000001, 0xf7ffffff, 0x0, 0x0
146
147         writemsg "[17] Test precrq.qb.ph"
148         dspck_dstio precrq.qb.ph, 0x0, 0x0, 0x0, 0x0, 0x0
149         dspck_dstio precrq.qb.ph, 0xff7f4020, 0xffff7fff, 0x40002000, 0x0, 0x0
150         dspck_dstio precrq.qb.ph, 0xfeba7632, 0xfedcba98, 0x76543210, 0x0, 0x0
151         dspck_dstio precrq.qb.ph, 0x7632feba, 0x76543210, 0xfedcba98, 0x0, 0x0
152         dspck_dstio precrq.qb.ph, 0x14589cd, 0x1234567, 0x89abcdef, 0x0, 0x0
153
154         writemsg "[18] Test precrq.ph.w"
155         dspck_dstio precrq.ph.w, 0x0, 0x0, 0x0, 0x0, 0x0
156         dspck_dstio precrq.ph.w, 0xffff4000, 0xffff7fff, 0x40002000, 0x0, 0x0
157         dspck_dstio precrq.ph.w, 0xfedc7654, 0xfedcba98, 0x76543210, 0x0, 0x0
158         dspck_dstio precrq.ph.w, 0x7654fedc, 0x76543210, 0xfedcba98, 0x0, 0x0
159         dspck_dstio precrq.ph.w, 0x12389ab, 0x1234567, 0x89abcdef, 0x0, 0x0
160
161         writemsg "[19] Test precrq_rs.ph.w"
162         dspck_dstio precrq_rs.ph.w, 0x0, 0x0, 0x0, 0x0, 0x0
163         dspck_dstio precrq_rs.ph.w, 0x7fff0000, 0x7fffffff, 0xffffffff, 0x0, 0x400000
164         dspck_dstio precrq_rs.ph.w, 0x80008001, 0x80007fff, 0x8000ffff, 0x0, 0x0
165         dspck_dstio precrq_rs.ph.w, 0xfedd7654, 0xfedcba98, 0x76543210, 0x0, 0x0
166         dspck_dstio precrq_rs.ph.w, 0x7654fedd, 0x76543210, 0xfedcba98, 0x0, 0x0
167
168         writemsg "[20] Test precrqu_s.qb.ph"
169         dspck_dstio precrqu_s.qb.ph, 0x0, 0x0, 0x0, 0x0, 0x0
170         dspck_dstio precrqu_s.qb.ph, 0xff8040, 0xffff7fff, 0x40002000, 0x0, 0x400000
171         dspck_dstio precrqu_s.qb.ph, 0xec64, 0xfedcba98, 0x76543210, 0x0, 0x400000
172         dspck_dstio precrqu_s.qb.ph, 0xec640000, 0x76543210, 0xfedcba98, 0x0, 0x400000
173         dspck_dstio precrqu_s.qb.ph, 0x28a0000, 0x1234567, 0x89abcdef, 0x0, 0x400000
174
175         writemsg "[21] Test preceq.w.phl"
176         dspck_dsio preceq.w.phl, 0x0, 0x0, 0x0, 0x0
177         dspck_dsio preceq.w.phl, 0xffff0000, 0xffffffff, 0x0, 0x0
178         dspck_dsio preceq.w.phl, 0x80000000, 0x80004000, 0x0, 0x0
179         dspck_dsio preceq.w.phl, 0xc0010000, 0xc0012001, 0x0, 0x0
180         dspck_dsio preceq.w.phl, 0x76540000, 0x76543210, 0x0, 0x0
181
182         writemsg "[22] Test preceq.w.phr"
183         dspck_dsio preceq.w.phr, 0x0, 0x0, 0x0, 0x0
184         dspck_dsio preceq.w.phr, 0xffff0000, 0xffffffff, 0x0, 0x0
185         dspck_dsio preceq.w.phr, 0x40000000, 0x80004000, 0x0, 0x0
186         dspck_dsio preceq.w.phr, 0x20010000, 0xc0012001, 0x0, 0x0
187         dspck_dsio preceq.w.phr, 0x32100000, 0x76543210, 0x0, 0x0
188
189         writemsg "[23] Test precequ.ph.qbl"
190         dspck_dsio precequ.ph.qbl, 0x0, 0x0, 0x0, 0x0
191         dspck_dsio precequ.ph.qbl, 0x7f807f80, 0xffffffff, 0x0, 0x0
192         dspck_dsio precequ.ph.qbl, 0x40000000, 0x80004000, 0x0, 0x0
193         dspck_dsio precequ.ph.qbl, 0x60000080, 0xc0012001, 0x0, 0x0
194         dspck_dsio precequ.ph.qbl, 0x3b002a00, 0x76543210, 0x0, 0x0
195
196         writemsg "[24] Test precequ.ph.qbr"
197         dspck_dsio precequ.ph.qbr, 0x0, 0x0, 0x0, 0x0
198         dspck_dsio precequ.ph.qbr, 0x7f807f80, 0xffffffff, 0x0, 0x0
199         dspck_dsio precequ.ph.qbr, 0x20000000, 0x80004000, 0x0, 0x0
200         dspck_dsio precequ.ph.qbr, 0x10000080, 0xc0012001, 0x0, 0x0
201         dspck_dsio precequ.ph.qbr, 0x19000800, 0x76543210, 0x0, 0x0
202
203         writemsg "[25] Test precequ.ph.qbla"
204         dspck_dsio precequ.ph.qbla, 0x0, 0x0, 0x0, 0x0
205         dspck_dsio precequ.ph.qbla, 0x7f807f80, 0xffffffff, 0x0, 0x0
206         dspck_dsio precequ.ph.qbla, 0x40002000, 0x80004000, 0x0, 0x0
207         dspck_dsio precequ.ph.qbla, 0x60001000, 0xc0012001, 0x0, 0x0
208         dspck_dsio precequ.ph.qbla, 0x3b001900, 0x76543210, 0x0, 0x0
209
210         writemsg "[26] Test precequ.ph.qbra"
211         dspck_dsio precequ.ph.qbra, 0x0, 0x0, 0x0, 0x0
212         dspck_dsio precequ.ph.qbra, 0x7f807f80, 0xffffffff, 0x0, 0x0
213         dspck_dsio precequ.ph.qbra, 0x0, 0x80004000, 0x0, 0x0
214         dspck_dsio precequ.ph.qbra, 0x800080, 0xc0012001, 0x0, 0x0
215         dspck_dsio precequ.ph.qbra, 0x2a000800, 0x76543210, 0x0, 0x0
216
217         writemsg "[27] Test preceu.ph.qbl"
218         dspck_dsio preceu.ph.qbl, 0x0, 0x0, 0x0, 0x0
219         dspck_dsio preceu.ph.qbl, 0xff00ff, 0xffffffff, 0x0, 0x0
220         dspck_dsio preceu.ph.qbl, 0x800000, 0x80004000, 0x0, 0x0
221         dspck_dsio preceu.ph.qbl, 0xc00001, 0xc0012001, 0x0, 0x0
222         dspck_dsio preceu.ph.qbl, 0x760054, 0x76543210, 0x0, 0x0
223
224         writemsg "[28] Test preceu.ph.qbr"
225         dspck_dsio preceu.ph.qbr, 0x0, 0x0, 0x0, 0x0
226         dspck_dsio preceu.ph.qbr, 0xff00ff, 0xffffffff, 0x0, 0x0
227         dspck_dsio preceu.ph.qbr, 0x400000, 0x80004000, 0x0, 0x0
228         dspck_dsio preceu.ph.qbr, 0x200001, 0xc0012001, 0x0, 0x0
229         dspck_dsio preceu.ph.qbr, 0x320010, 0x76543210, 0x0, 0x0
230
231         writemsg "[29] Test preceu.ph.qbla"
232         dspck_dsio preceu.ph.qbla, 0x0, 0x0, 0x0, 0x0
233         dspck_dsio preceu.ph.qbla, 0xff00ff, 0xffffffff, 0x0, 0x0
234         dspck_dsio preceu.ph.qbla, 0x800040, 0x80004000, 0x0, 0x0
235         dspck_dsio preceu.ph.qbla, 0xc00020, 0xc0012001, 0x0, 0x0
236         dspck_dsio preceu.ph.qbla, 0x760032, 0x76543210, 0x0, 0x0
237
238         writemsg "[30] Test preceu.ph.qbra"
239         dspck_dsio preceu.ph.qbra, 0x0, 0x0, 0x0, 0x0
240         dspck_dsio preceu.ph.qbra, 0xff00ff, 0xffffffff, 0x0, 0x0
241         dspck_dsio preceu.ph.qbra, 0x0, 0x80004000, 0x0, 0x0
242         dspck_dsio preceu.ph.qbra, 0x10001, 0xc0012001, 0x0, 0x0
243         dspck_dsio preceu.ph.qbra, 0x540010, 0x76543210, 0x0, 0x0
244
245         writemsg "[31] Test shll.qb"
246         dspck_dtsaio shll.qb, 0x0, 0x0, 0, 0x0, 0x0
247         dspck_dtsai shll.qb, 0x202fefe, 0x101ffff, 1, 0x0
248         dspck_dtsai shll.qb, 0xfefe0002, 0x7fff8081, 1, 0x0
249         dspck_dtsai shll.qb, 0xfcfc0020, 0x7fff8008, 2, 0x0
250         dspck_dtsai shll.qb, 0x68b0d868, 0x6db6db6d, 3, 0x0
251
252         writemsg "[32] Test shllv.qb"
253         dspck_dstio shllv.qb, 0x0, 0x0, 0x0, 0x0, 0x0
254         dspck_dsti shllv.qb, 0x202fefe, 0x101ffff, 0x1, 0x0
255         dspck_dsti shllv.qb, 0xfefe0002, 0x7fff8081, 0x1, 0x0
256         dspck_dsti shllv.qb, 0xfcfc0020, 0x7fff8008, 0x2, 0x0
257         dspck_dsti shllv.qb, 0x68b0d868, 0x6db6db6d, 0x3, 0x0
258
259         writemsg "[33] Test shll.ph"
260         dspck_dtsaio shll.ph, 0x0, 0x0, 0, 0x0, 0x0
261         dspck_dtsaio shll.ph, 0x2fffe, 0x1ffff, 1, 0x0, 0x0
262         dspck_dtsaio shll.ph, 0xfffe0000, 0x7fff8000, 1, 0x0, 0x400000
263         dspck_dtsaio shll.ph, 0xfffc0020, 0x7fff8008, 2, 0x0, 0x400000
264         dspck_dtsaio shll.ph, 0x6db0db68, 0x6db6db6d, 3, 0x0, 0x400000
265
266         writemsg "[34] Test shllv.ph"
267         dspck_dstio shllv.ph, 0x0, 0x0, 0x0, 0x0, 0x0
268         dspck_dstio shllv.ph, 0x2fffe, 0x1ffff, 0x1, 0x0, 0x0
269         dspck_dstio shllv.ph, 0xfffe0000, 0x7fff8000, 0x1, 0x0, 0x400000
270         dspck_dstio shllv.ph, 0xfffc0020, 0x7fff8008, 0x2, 0x0, 0x400000
271         dspck_dstio shllv.ph, 0x6db0db68, 0x6db6db6d, 0x3, 0x0, 0x400000
272
273         writemsg "[35] Test shll_s.ph"
274         dspck_dtsaio shll_s.ph, 0x0, 0x0, 0, 0x0, 0x0
275         dspck_dtsaio shll_s.ph, 0x2fffe, 0x1ffff, 1, 0x0, 0x0
276         dspck_dtsaio shll_s.ph, 0x7fff8000, 0x7fff8000, 1, 0x0, 0x400000
277         dspck_dtsaio shll_s.ph, 0x7fff8000, 0x7fff8008, 2, 0x0, 0x400000
278         dspck_dtsaio shll_s.ph, 0x7fff8000, 0x6db6db6d, 3, 0x0, 0x400000
279
280         writemsg "[36] Test shllv_s.ph"
281         dspck_dstio shllv_s.ph, 0x0, 0x0, 0x0, 0x0, 0x0
282         dspck_dstio shllv_s.ph, 0x2fffe, 0x1ffff, 0x1, 0x0, 0x0
283         dspck_dstio shllv_s.ph, 0x7fff8000, 0x7fff8000, 0x1, 0x0, 0x400000
284         dspck_dstio shllv_s.ph, 0x7fff8000, 0x7fff8008, 0x2, 0x0, 0x400000
285         dspck_dstio shllv_s.ph, 0x7fff8000, 0x6db6db6d, 0x3, 0x0, 0x400000
286
287         writemsg "[37] Test shll_s.w"
288         dspck_dtsaio shll_s.w, 0x0, 0x0, 0, 0x0, 0x0
289         dspck_dtsaio shll_s.w, 0x3fffe, 0x1ffff, 1, 0x0, 0x0
290         dspck_dtsaio shll_s.w, 0x7fffffff, 0x7fff8000, 1, 0x0, 0x400000
291         dspck_dtsaio shll_s.w, 0x80000000, 0x80000000, 1, 0x0, 0x400000
292         dspck_dtsaio shll_s.w, 0x7fffffff, 0x7fff8008, 2, 0x0, 0x400000
293
294         writemsg "[38] Test shllv_s.w"
295         dspck_dstio shllv_s.w, 0x0, 0x0, 0x0, 0x0, 0x0
296         dspck_dstio shllv_s.w, 0x3fffe, 0x1ffff, 0x1, 0x0, 0x0
297         dspck_dstio shllv_s.w, 0x7fffffff, 0x7fff8000, 0x1, 0x0, 0x400000
298         dspck_dstio shllv_s.w, 0x80000000, 0x80000000, 0x1, 0x0, 0x400000
299         dspck_dstio shllv_s.w, 0x7fffffff, 0x7fff8008, 0x2, 0x0, 0x400000
300
301         writemsg "[39] Test shrl.qb"
302         dspck_dtsaio shrl.qb, 0x0, 0x0, 0, 0x0, 0x0
303         dspck_dtsai shrl.qb, 0x7f7f, 0x101ffff, 1, 0x0
304         dspck_dtsai shrl.qb, 0x3f7f4040, 0x7fff8081, 1, 0x0
305         dspck_dtsai shrl.qb, 0x1f3f2002, 0x7fff8008, 2, 0x0
306         dspck_dtsai shrl.qb, 0xd161b0d, 0x6db6db6d, 3, 0x0
307
308         writemsg "[40] Test shrlv.qb"
309         dspck_dstio shrlv.qb, 0x0, 0x0, 0x0, 0x0, 0x0
310         dspck_dsti shrlv.qb, 0x7f7f, 0x101ffff, 0x1, 0x0
311         dspck_dsti shrlv.qb, 0x3f7f4040, 0x7fff8081, 0x1, 0x0
312         dspck_dsti shrlv.qb, 0x1f3f2002, 0x7fff8008, 0x2, 0x0
313         dspck_dsti shrlv.qb, 0xd161b0d, 0x6db6db6d, 0x3, 0x0
314
315         writemsg "[41] Test shra.ph"
316         dspck_dtsaio shra.ph, 0x10001, 0x20002, 1, 0x0, 0x0
317         dspck_dtsaio shra.ph, 0x10006, 0x10106f6f, 12, 0x0, 0x0
318         dspck_dtsaio shra.ph, 0x1c000, 0x28000, 1, 0x0, 0x0
319         dspck_dtsaio shra.ph, 0x2f800, 0x208000, 4, 0x0, 0x0
320         dspck_dtsaio shra.ph, 0xfc01fc00, 0x80208000, 5, 0x0, 0x0
321
322         writemsg "[42] Test shrav.ph"
323         dspck_dstio shrav.ph, 0x10001, 0x20002, 0x1, 0x0, 0x0
324         dspck_dstio shrav.ph, 0x10006, 0x10106f6f, 0xc, 0x0, 0x0
325         dspck_dstio shrav.ph, 0x1c000, 0x28000, 0x1, 0x0, 0x0
326         dspck_dstio shrav.ph, 0x2f800, 0x208000, 0x4, 0x0, 0x0
327         dspck_dstio shrav.ph, 0xfc01fc00, 0x80208000, 0x5, 0x0, 0x0
328
329         writemsg "[43] Test shra_r.ph"
330         dspck_dtsaio shra_r.ph, 0x20001, 0x30002, 1, 0x0, 0x0
331         dspck_dtsaio shra_r.ph, 0x10001, 0x20001, 1, 0x0, 0x0
332         dspck_dtsaio shra_r.ph, 0x10001, 0x10001, 1, 0x0, 0x0
333         dspck_dtsaio shra_r.ph, 0x0, 0x10001, 2, 0x0, 0x0
334         dspck_dtsaio shra_r.ph, 0x7fff8000, 0x7fff8000, 0, 0x0, 0x0
335         dspck_dtsaio shra_r.ph, 0x4000c000, 0x7fff8000, 1, 0x0, 0x0
336         dspck_dtsaio shra_r.ph, 0x2000e000, 0x7ffe8000, 2, 0x0, 0x0
337
338         writemsg "[44] Test shrav_r.ph"
339         dspck_dstio shrav_r.ph, 0x20001, 0x30002, 0x1, 0x0, 0x0
340         dspck_dstio shrav_r.ph, 0x10001, 0x20001, 0x1, 0x0, 0x0
341         dspck_dstio shrav_r.ph, 0x10001, 0x10001, 0x1, 0x0, 0x0
342         dspck_dstio shrav_r.ph, 0x0, 0x10001, 0x2, 0x0, 0x0
343         dspck_dstio shrav_r.ph, 0x7fff8000, 0x7fff8000, 0, 0x0, 0x0
344         dspck_dstio shrav_r.ph, 0x2000e000, 0x7fff8000, 2, 0x0, 0x0
345
346         writemsg "[45] Test shra_r.w"
347         dspck_dtsaio shra_r.w, 0x1, 0x2, 1, 0x0, 0x0
348         dspck_dtsaio shra_r.w, 0xffff8000, 0x80000000, 16, 0x0, 0x0
349         dspck_dtsaio shra_r.w, 0x8001, 0x10001, 1, 0x0, 0x0
350         dspck_dtsaio shra_r.w, 0x1, 0x10001, 17, 0x0, 0x0
351         dspck_dtsaio shra_r.w, 0xffffc001, 0x80010001, 17, 0x0, 0x0
352         dspck_dtsaio shra_r.w, 0x7fffffff, 0x7fffffff, 0, 0x0, 0x0
353         dspck_dtsaio shra_r.w, 0x40000000, 0x7fffffff, 1, 0x0, 0x0
354         dspck_dtsaio shra_r.w, 0x20000000, 0x7ffffffe, 2, 0x0, 0x0
355
356         writemsg "[46] Test shrav_r.w"
357         dspck_dstio shrav_r.w, 0x1, 0x2, 0x1, 0x0, 0x0
358         dspck_dstio shrav_r.w, 0xffff8000, 0x80000000, 0x10, 0x0, 0x0
359         dspck_dstio shrav_r.w, 0x8001, 0x10001, 0x1, 0x0, 0x0
360         dspck_dstio shrav_r.w, 0x8001, 0x10001, 0x21, 0x0, 0x0
361         dspck_dstio shrav_r.w, 0x4000, 0x10001, 0x2, 0x0, 0x0
362         dspck_dstio shrav_r.w, 0x7fffffff, 0x7fffffff, 0x0, 0x0, 0x0
363         dspck_dstio shrav_r.w, 0x10000000, 0x7ffffffc, 0x3, 0x0, 0x0
364         dspck_dstio shrav_r.w, 0x08000000, 0x7ffffff8, 0x4, 0x0, 0x0
365
366         writemsg "[47] Test muleu_s.ph.qbl"
367         dspck_dstio muleu_s.ph.qbl, 0x0, 0x0, 0x0, 0x0, 0x0
368         dspck_dstio muleu_s.ph.qbl, 0x0, 0x0, 0x40004000, 0x0, 0x0
369         dspck_dstio muleu_s.ph.qbl, 0x0, 0xffffffff, 0x0, 0x0, 0x0
370         dspck_dstio muleu_s.ph.qbl, 0x10001, 0x1010101, 0x10001, 0x0, 0x0
371         dspck_dstio muleu_s.ph.qbl, 0x10000, 0x1000001, 0x10001, 0x0, 0x0
372
373         writemsg "[48] Test muleu_s.ph.qbr"
374         dspck_dstio muleu_s.ph.qbr, 0x0, 0x0, 0x0, 0x0, 0x0
375         dspck_dstio muleu_s.ph.qbr, 0x0, 0x0, 0x40004000, 0x0, 0x0
376         dspck_dstio muleu_s.ph.qbr, 0x0, 0xffffffff, 0x0, 0x0, 0x0
377         dspck_dstio muleu_s.ph.qbr, 0x10001, 0x1010101, 0x10001, 0x0, 0x0
378         dspck_dstio muleu_s.ph.qbr, 0x1, 0x1000001, 0x10001, 0x0, 0x0
379
380         writemsg "[49] Test mulq_rs.ph"
381         dspck_dstio mulq_rs.ph, 0x0, 0x0, 0x0, 0x0, 0x0
382         dspck_dstio mulq_rs.ph, 0x0, 0x1, 0x1, 0x0, 0x0
383         dspck_dstio mulq_rs.ph, 0x20000000, 0x40007fff, 0x40000000, 0x0, 0x0
384         dspck_dstio mulq_rs.ph, 0x33330000, 0x66660000, 0x40007fff, 0x0, 0x0
385         dspck_dstio mulq_rs.ph, 0xccd3332, 0x66666666, 0x10003fff, 0x0, 0x0
386
387         writemsg "[50] Test muleq_s.w.phl"
388         dspck_dstio muleq_s.w.phl, 0x0, 0x0, 0x0, 0x0, 0x0
389         dspck_dstio muleq_s.w.phl, 0x0, 0x0, 0x40004000, 0x0, 0x0
390         dspck_dstio muleq_s.w.phl, 0x0, 0x7fff7fff, 0x0, 0x0, 0x0
391         dspck_dstio muleq_s.w.phl, 0x0, 0x0, 0xc000c000, 0x0, 0x0
392         dspck_dstio muleq_s.w.phl, 0x0, 0x80008000, 0x0, 0x0, 0x0
393
394         writemsg "[51] Test muleq_s.w.phr"
395         dspck_dstio muleq_s.w.phr, 0x0, 0x0, 0x0, 0x0, 0x0
396         dspck_dstio muleq_s.w.phr, 0x0, 0x0, 0x40004000, 0x0, 0x0
397         dspck_dstio muleq_s.w.phr, 0x0, 0x7fff7fff, 0x0, 0x0, 0x0
398         dspck_dstio muleq_s.w.phr, 0x0, 0x0, 0xc000c000, 0x0, 0x0
399         dspck_dstio muleq_s.w.phr, 0x0, 0x80008000, 0x0, 0x0, 0x0
400
401         writemsg "[52] Test dpau.h.qbl"
402         dspck_astio dpau.h.qbl, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
403         dspck_astio dpau.h.qbl, 0x0, 0x0, 0x0, 0x1, 0x1010101, 0x1000001, 0x0, 0x0
404         dspck_astio dpau.h.qbl, 0xffffffff, 0xffffffff, 0x0, 0x0, 0x1010101, 0x1000001, 0x0, 0x0
405         dspck_astio dpau.h.qbl, 0x0, 0x0, 0x0, 0x0, 0xffff0000, 0xffff, 0x0, 0x0
406         dspck_astio dpau.h.qbl, 0x0, 0x0, 0x0, 0xff, 0xffff0001, 0x1ffff, 0x0, 0x0
407
408         writemsg "[53] Test dpau.h.qbr"
409         dspck_astio dpau.h.qbr, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
410         dspck_astio dpau.h.qbr, 0x0, 0x0, 0x0, 0x1, 0x1010101, 0x1000001, 0x0, 0x0
411         dspck_astio dpau.h.qbr, 0xffffffff, 0xffffffff, 0x0, 0x0, 0x1010101, 0x1000001, 0x0, 0x0
412         dspck_astio dpau.h.qbr, 0x0, 0x0, 0x0, 0x0, 0xffff0000, 0xffff, 0x0, 0x0
413         dspck_astio dpau.h.qbr, 0x0, 0x0, 0x0, 0xff, 0xffff0001, 0x1ffff, 0x0, 0x0
414
415         writemsg "[54] Test dpsu.h.qbl"
416         dspck_astio dpsu.h.qbl, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
417         dspck_astio dpsu.h.qbl, 0x0, 0x1, 0x0, 0x0, 0x1010101, 0x1000001, 0x0, 0x0
418         dspck_astio dpsu.h.qbl, 0x0, 0x0, 0xffffffff, 0xffffffff, 0x1010101, 0x1000001, 0x0, 0x0
419         dspck_astio dpsu.h.qbl, 0x0, 0x0, 0x0, 0x0, 0xffff0000, 0xffff, 0x0, 0x0
420         dspck_astio dpsu.h.qbl, 0x0, 0xff, 0x0, 0x0, 0xffff0001, 0x1ffff, 0x0, 0x0
421
422         writemsg "[55] Test dpsu.h.qbr"
423         dspck_astio dpsu.h.qbr, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
424         dspck_astio dpsu.h.qbr, 0x0, 0x1, 0x0, 0x0, 0x1010101, 0x1000001, 0x0, 0x0
425         dspck_astio dpsu.h.qbr, 0x0, 0x0, 0xffffffff, 0xffffffff, 0x1010101, 0x1000001, 0x0, 0x0
426         dspck_astio dpsu.h.qbr, 0x0, 0x0, 0x0, 0x0, 0xffff0000, 0xffff, 0x0, 0x0
427         dspck_astio dpsu.h.qbr, 0x0, 0xff, 0x0, 0x0, 0xffff0001, 0x1ffff, 0x0, 0x0
428
429         writemsg "[56] Test dpaq_s.w.ph"
430         dspck_astio dpaq_s.w.ph, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
431         dspck_astio dpaq_s.w.ph, 0x0, 0x0, 0x0, 0xfffc0004, 0x7fff7fff, 0x7fff7fff, 0x0, 0x0
432         dspck_astio dpaq_s.w.ph, 0x0, 0x0, 0x0, 0xfffffffe, 0x80008000, 0x80008000, 0x0, 0xf0000
433         dspck_astio dpaq_s.w.ph, 0x0, 0x0, 0xffffffff, 0xa0000000, 0x40002000, 0x80008000, 0x0, 0x0
434         dspck_astio dpaq_s.w.ph, 0xffffffff, 0xa0000000, 0xffffffff, 0x88000000, 0x10000800, 0x80008000, 0x0, 0x0
435
436         writemsg "[57] Test dpsq_s.w.ph"
437         dspck_astio dpsq_s.w.ph, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
438         dspck_astio dpsq_s.w.ph, 0x0, 0xfffc0004, 0x0, 0x0, 0x7fff7fff, 0x7fff7fff, 0x0, 0x0
439         dspck_astio dpsq_s.w.ph, 0x0, 0xfffffffe, 0x0, 0x0, 0x80008000, 0x80008000, 0x0, 0xf0000
440         dspck_astio dpsq_s.w.ph, 0xffffffff, 0xa0000000, 0x0, 0x0, 0x40002000, 0x80008000, 0x0, 0x0
441         dspck_astio dpsq_s.w.ph, 0xffffffff, 0x88000000, 0xffffffff, 0xa0000000, 0x10000800, 0x80008000, 0x0, 0x0
442
443         writemsg "[58] Test mulsaq_s.w.ph"
444         dspck_astio mulsaq_s.w.ph, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
445         dspck_astio mulsaq_s.w.ph, 0x0, 0x0, 0x0, 0x0, 0x4000, 0xc0000000, 0x0, 0x0
446         dspck_astio mulsaq_s.w.ph, 0x0, 0x0, 0xffffffff, 0x60010000, 0x80004000, 0x7fff4000, 0x0, 0x0
447         dspck_astio mulsaq_s.w.ph, 0x0, 0x0, 0x0, 0x5fffffff, 0x80004000, 0x80004000, 0x0, 0xf0000
448         dspck_astio mulsaq_s.w.ph, 0x7fffffff, 0xffffffff, 0x80000000, 0xfffc0003, 0x7fff8001, 0x7fff7fff, 0x0, 0x0
449
450         writemsg "[59] Test dpaq_sa.l.w"
451         dspck_astio dpaq_sa.l.w, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
452         dspck_astio dpaq_sa.l.w, 0x0, 0x0, 0x7ffffffe, 0x2, 0x7fffffff, 0x7fffffff, 0x0, 0x0
453         dspck_astio dpaq_sa.l.w, 0x0, 0x0, 0x7fffffff, 0xffffffff, 0x80000000, 0x80000000, 0x0, 0xf0000
454         dspck_astio dpaq_sa.l.w, 0x0, 0x0, 0xc0000000, 0x80000000, 0xc0000000, 0x7fffffff, 0x0, 0x0
455         dspck_astio dpaq_sa.l.w, 0x20000000, 0x0, 0x0, 0x40000000, 0xe0000000, 0x7fffffff, 0x0, 0x0
456
457         writemsg "[60] Test dpsq_sa.l.w"
458         dspck_astio dpsq_sa.l.w, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
459         dspck_astio dpsq_sa.l.w, 0x7fffffff, 0xffffffff, 0x0, 0x0, 0x80000000, 0x80000000, 0x0, 0xf0000
460         dspck_astio dpsq_sa.l.w, 0x80000000, 0x0, 0x80000000, 0x0, 0x80000000, 0x80000000, 0x0, 0xf0000
461         dspck_astio dpsq_sa.l.w, 0x0, 0x0, 0x80000000, 0x1, 0x80000000, 0x80000000, 0x0, 0xf0000
462         dspck_astio dpsq_sa.l.w, 0x0, 0x0, 0x3fffffff, 0x80000000, 0xc0000000, 0x7fffffff, 0x0, 0x0
463
464         writemsg "[61] Test maq_s.w.phl"
465         dspck_astio maq_s.w.phl, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
466         dspck_astio maq_s.w.phl, 0xffffffff, 0x0, 0xffffffff, 0x0, 0x0, 0x40004000, 0x0, 0x0
467         dspck_astio maq_s.w.phl, 0x0, 0xffffffff, 0x0, 0xffffffff, 0x7fff7fff, 0x0, 0x0, 0x0
468         dspck_astio maq_s.w.phl, 0xffffffff, 0x0, 0xffffffff, 0x0, 0x7fff7fff, 0x0, 0x0, 0x0
469         dspck_astio maq_s.w.phl, 0x0, 0x40000000, 0x0, 0x40000000, 0x0, 0xc000c000, 0x0, 0x0
470
471         writemsg "[62] Test maq_s.w.phr"
472         dspck_astio maq_s.w.phr, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
473         dspck_astio maq_s.w.phr, 0xffffffff, 0x0, 0xffffffff, 0x0, 0x0, 0x40004000, 0x0, 0x0
474         dspck_astio maq_s.w.phr, 0x0, 0xffffffff, 0x0, 0xffffffff, 0x7fff7fff, 0x0, 0x0, 0x0
475         dspck_astio maq_s.w.phr, 0xffffffff, 0x0, 0xffffffff, 0x0, 0x7fff7fff, 0x0, 0x0, 0x0
476         dspck_astio maq_s.w.phr, 0x0, 0x40000000, 0x0, 0x40000000, 0x0, 0xc000c000, 0x0, 0x0
477
478         writemsg "[63] Test maq_sa.w.phl"
479         dspck_astio maq_sa.w.phl, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
480         dspck_astio maq_sa.w.phl, 0xffffffff, 0x80000000, 0xffffffff, 0x80000000, 0x0, 0x40004000, 0x0, 0x0
481         dspck_astio maq_sa.w.phl, 0x0, 0x7fffffff, 0x0, 0x7fffffff, 0x7fff7fff, 0x0, 0x0, 0x0
482         dspck_astio maq_sa.w.phl, 0xffffffff, 0x80000000, 0xffffffff, 0x80000000, 0x7fff7fff, 0x0, 0x0, 0x0
483         dspck_astio maq_sa.w.phl, 0x0, 0x40000000, 0x0, 0x40000000, 0x0, 0xc000c000, 0x0, 0x0
484
485         writemsg "[64] Test maq_sa.w.phr"
486         dspck_astio maq_sa.w.phr, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
487         dspck_astio maq_sa.w.phr, 0xffffffff, 0x80000000, 0xffffffff, 0x80000000, 0x0, 0x40004000, 0x0, 0x0
488         dspck_astio maq_sa.w.phr, 0x0, 0x7fffffff, 0x0, 0x7fffffff, 0x7fff7fff, 0x0, 0x0, 0x0
489         dspck_astio maq_sa.w.phr, 0xffffffff, 0x80000000, 0xffffffff, 0x80000000, 0x7fff7fff, 0x0, 0x0, 0x0
490         dspck_astio maq_sa.w.phr, 0x0, 0x40000000, 0x0, 0x40000000, 0x0, 0xc000c000, 0x0, 0x0
491
492         writemsg "[65] Test bitrev"
493         dspck_dsio bitrev, 0x0, 0x0, 0x0, 0x0
494         dspck_dsio bitrev, 0x1, 0x8000, 0x0, 0x0
495         dspck_dsio bitrev, 0x8000, 0x1, 0x0, 0x0
496         dspck_dsio bitrev, 0xc0c0, 0x1010303, 0x0, 0x0
497         dspck_dsio bitrev, 0x1, 0xffff8000, 0x0, 0x0
498
499         writemsg "[66] Test insv"
500         dspck_tsi insv, 0xf0caf0f0, 0xf0f0f0f0, 0xa5a5a5a5, 0x311
501         dspck_tsi insv, 0x7fffffe, 0x0, 0x7ffffff, 0xd01
502         dspck_tsi insv, 0x3fff, 0x0, 0x3fff, 0x700
503         dspck_tsi insv, 0xf0f2f0f0, 0xf0f0f0f0, 0xa5a5a5a5, 0x28f
504         dspck_tsi insv, 0x3fc, 0x0, 0x3ff, 0x402
505
506         writemsg "[67] Test repl.qb"
507         dspck_dIio repl.qb, 0x0, 0, 0x0, 0x0
508         dspck_dIio repl.qb, 0x1010101, 1, 0x0, 0x0
509         dspck_dIio repl.qb, 0xffffffff, 255, 0x0, 0x0
510         dspck_dIio repl.qb, 0x7f7f7f7f, 127, 0x0, 0x0
511         dspck_dIio repl.qb, 0xfefefefe, 254, 0x0, 0x0
512
513         writemsg "[68] Test replv.qb"
514         dspck_dsio replv.qb, 0x0, 0x0, 0x0, 0x0
515         dspck_dsio replv.qb, 0x1010101, 0x1, 0x0, 0x0
516         dspck_dsio replv.qb, 0xffffffff, 0xff, 0x0, 0x0
517         dspck_dsio replv.qb, 0x7f7f7f7f, 0x37f, 0x0, 0x0
518         dspck_dsio replv.qb, 0xfefefefe, 0xfffffffe, 0x0, 0x0
519
520         writemsg "[69] Test repl.ph"
521         dspck_dIio repl.ph, 0x0, 0, 0x0, 0x0
522         dspck_dIio repl.ph, 0x10001, 1, 0x0, 0x0
523         dspck_dIio repl.ph, 0xffffffff, -1, 0x0, 0x0
524         dspck_dIio repl.ph, 0xff7fff7f, -129, 0x0, 0x0
525         dspck_dIio repl.ph, 0xfffefffe, -2, 0x0, 0x0
526
527         writemsg "[70] Test replv.ph"
528         dspck_dsio replv.ph, 0x0, 0x0, 0x0, 0x0
529         dspck_dsio replv.ph, 0x10001, 0x1, 0x0, 0x0
530         dspck_dsio replv.ph, 0xffffffff, 0x5555ffff, 0x0, 0x0
531         dspck_dsio replv.ph, 0x37f037f, 0x37f, 0x0, 0x0
532         dspck_dsio replv.ph, 0xfffefffe, 0xfffffffe, 0x0, 0x0
533
534         writemsg "[71] Test cmpu.eq.qb"
535         dspck_stio cmpu.eq.qb, 0x0, 0x0, 0x0, 0xf000000
536         dspck_stio cmpu.eq.qb, 0xffffffff, 0x0, 0x0, 0x0
537         dspck_stio cmpu.eq.qb, 0x0, 0xffffffff, 0x0, 0x0
538         dspck_stio cmpu.eq.qb, 0x10203, 0x4050607, 0x0, 0x0
539         dspck_stio cmpu.eq.qb, 0x8090a0b, 0xc0d0e0f, 0x0, 0x0
540
541         writemsg "[72] Test cmpu.lt.qb"
542         dspck_stio cmpu.lt.qb, 0x0, 0x0, 0x0, 0x0
543         dspck_stio cmpu.lt.qb, 0xffffffff, 0x0, 0x0, 0x0
544         dspck_stio cmpu.lt.qb, 0x0, 0xffffffff, 0x0, 0xf000000
545         dspck_stio cmpu.lt.qb, 0x10203, 0x4050607, 0x0, 0xf000000
546         dspck_stio cmpu.lt.qb, 0x8090a0b, 0xc0d0e0f, 0x0, 0xf000000
547
548         writemsg "[73] Test cmpu.le.qb"
549         dspck_stio cmpu.le.qb, 0x0, 0x0, 0x0, 0xf000000
550         dspck_stio cmpu.le.qb, 0xffffffff, 0x0, 0x0, 0x0
551         dspck_stio cmpu.le.qb, 0x0, 0xffffffff, 0x0, 0xf000000
552         dspck_stio cmpu.le.qb, 0x10203, 0x4050607, 0x0, 0xf000000
553         dspck_stio cmpu.le.qb, 0x8090a0b, 0xc0d0e0f, 0x0, 0xf000000
554
555         writemsg "[74] Test cmpgu.eq.qb"
556         dspck_dstio cmpgu.eq.qb, 0xf, 0x0, 0x0, 0x0, 0x0
557         dspck_dstio cmpgu.eq.qb, 0x0, 0xffffffff, 0x0, 0x0, 0x0
558         dspck_dstio cmpgu.eq.qb, 0x0, 0x0, 0xffffffff, 0x0, 0x0
559         dspck_dstio cmpgu.eq.qb, 0x0, 0x10203, 0x4050607, 0x0, 0x0
560         dspck_dstio cmpgu.eq.qb, 0x0, 0x8090a0b, 0xc0d0e0f, 0x0, 0x0
561
562         writemsg "[75] Test cmpgu.lt.qb"
563         dspck_dstio cmpgu.lt.qb, 0x0, 0x0, 0x0, 0x0, 0x0
564         dspck_dstio cmpgu.lt.qb, 0x0, 0xffffffff, 0x0, 0x0, 0x0
565         dspck_dstio cmpgu.lt.qb, 0xf, 0x0, 0xffffffff, 0x0, 0x0
566         dspck_dstio cmpgu.lt.qb, 0xf, 0x10203, 0x4050607, 0x0, 0x0
567         dspck_dstio cmpgu.lt.qb, 0xf, 0x8090a0b, 0xc0d0e0f, 0x0, 0x0
568
569         writemsg "[76] Test cmpgu.le.qb"
570         dspck_dstio cmpgu.le.qb, 0xf, 0x0, 0x0, 0x0, 0x0
571         dspck_dstio cmpgu.le.qb, 0x0, 0xffffffff, 0x0, 0x0, 0x0
572         dspck_dstio cmpgu.le.qb, 0xf, 0x0, 0xffffffff, 0x0, 0x0
573         dspck_dstio cmpgu.le.qb, 0xf, 0x10203, 0x4050607, 0x0, 0x0
574         dspck_dstio cmpgu.le.qb, 0xf, 0x8090a0b, 0xc0d0e0f, 0x0, 0x0
575
576         writemsg "[77] Test cmp.eq.ph"
577         dspck_stio cmp.eq.ph, 0x0, 0x0, 0x0, 0x3000000
578         dspck_stio cmp.eq.ph, 0x0, 0xffffffff, 0x0, 0x0
579         dspck_stio cmp.eq.ph, 0xffffffff, 0x0, 0x0, 0x0
580         dspck_stio cmp.eq.ph, 0x7fff7fff, 0xffffffff, 0x0, 0x0
581         dspck_stio cmp.eq.ph, 0x11112222, 0x33334444, 0x0, 0x0
582
583         writemsg "[78] Test cmp.lt.ph"
584         dspck_stio cmp.lt.ph, 0x0, 0x0, 0x0, 0x0
585         dspck_stio cmp.lt.ph, 0x0, 0xffffffff, 0x0, 0x0
586         dspck_stio cmp.lt.ph, 0xffffffff, 0x0, 0x0, 0x3000000
587         dspck_stio cmp.lt.ph, 0x7fff7fff, 0xffffffff, 0x0, 0x0
588         dspck_stio cmp.lt.ph, 0x11112222, 0x33334444, 0x0, 0x3000000
589
590         writemsg "[79] Test cmp.le.ph"
591         dspck_stio cmp.le.ph, 0x0, 0x0, 0x0, 0x3000000
592         dspck_stio cmp.le.ph, 0x0, 0xffffffff, 0x0, 0x0
593         dspck_stio cmp.le.ph, 0xffffffff, 0x0, 0x0, 0x3000000
594         dspck_stio cmp.le.ph, 0x7fff7fff, 0xffffffff, 0x0, 0x0
595         dspck_stio cmp.le.ph, 0x11112222, 0x33334444, 0x0, 0x3000000
596
597         writemsg "[80] Test pick.qb"
598         dspck_dsti pick.qb, 0x0, 0x0, 0x0, 0x0
599         dspck_dsti pick.qb, 0x0, 0xffffffff, 0x0, 0x0
600         dspck_dsti pick.qb, 0xffffffff, 0xffffffff, 0x0, 0xf000000
601         dspck_dsti pick.qb, 0xff, 0xffffffff, 0x0, 0x1000000
602         dspck_dsti pick.qb, 0xff00, 0xffffffff, 0x0, 0x2000000
603
604         writemsg "[81] Test pick.ph"
605         dspck_dsti pick.ph, 0x0, 0x0, 0x0, 0x0
606         dspck_dsti pick.ph, 0x0, 0xffffffff, 0x0, 0x0
607         dspck_dsti pick.ph, 0xffffffff, 0xffffffff, 0x0, 0x3000000
608         dspck_dsti pick.ph, 0xffff, 0xffffffff, 0x0, 0x1000000
609         dspck_dsti pick.ph, 0xffff0000, 0xffffffff, 0x0, 0x2000000
610
611         writemsg "[82] Test packrl.ph"
612         dspck_dstio packrl.ph, 0x00000000, 0x00000000, 0x00000000, 0x0, 0x0
613         dspck_dstio packrl.ph, 0x0000ffff, 0x00000000, 0xffff0000, 0x0, 0x0
614         dspck_dstio packrl.ph, 0x00000000, 0x00000000, 0x0000ffff, 0x0, 0x0
615         dspck_dstio packrl.ph, 0x00005555, 0x00000000, 0x5555aaaa, 0x0, 0x0
616         dspck_dstio packrl.ph, 0x0000aaaa, 0x00000000, 0xaaaa5555, 0x0, 0x0
617
618         writemsg "[83] Test extr.w"
619         dspck_atsaio extr.w, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
620         dspck_atsaio extr.w, 0x7fffffff, 0xcbcdef01 0xffffffff, 0x1f, 0x0, 0x800000
621         dspck_atsaio extr.w, 0x3fffffff, 0x2bcdef01 0x7ffffffe, 0x1f, 0x0, 0x0
622         dspck_atsaio extr.w, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
623         dspck_atsaio extr.w, 0x0, 0xfffffffe 0x7fffffff, 0x1, 0x0, 0x0
624
625         writemsg "[84] Test extr_r.w"
626         dspck_atsaio extr_r.w, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
627         dspck_atsaio extr_r.w, 0x7fffffff, 0xcbcdef01 0x0, 0x1f, 0x0, 0x800000
628         dspck_atsaio extr_r.w, 0x3fffffff, 0x2bcdef01 0x7ffffffe, 0x1f, 0x0, 0x0
629         dspck_atsaio extr_r.w, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
630         dspck_atsaio extr_r.w, 0x0, 0xfffffffe 0x7fffffff, 0x1, 0x0, 0x0
631
632         writemsg "[85] Test extr_rs.w"
633         dspck_atsaio extr_rs.w, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
634         dspck_atsaio extr_rs.w, 0x7fffffff, 0xcbcdef01 0x7fffffff, 0x1f, 0x0, 0x800000
635         dspck_atsaio extr_rs.w, 0x3fffffff, 0x2bcdef01 0x7ffffffe, 0x1f, 0x0, 0x0
636         dspck_atsaio extr_rs.w, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
637         dspck_atsaio extr_rs.w, 0x0, 0xfffffffe 0x7fffffff, 0x1, 0x0, 0x0
638
639         writemsg "[86] Test extr_s.h"
640         dspck_atsaio extr_s.h, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
641         dspck_atsaio extr_s.h, 0x7fffffff, 0xcbcdef01 0x7fff, 0x1f, 0x0, 0x800000
642         dspck_atsaio extr_s.h, 0x3fffffff, 0x2bcdef01 0x7fff, 0x1f, 0x0, 0x800000
643         dspck_atsaio extr_s.h, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
644         dspck_atsaio extr_s.h, 0x0, 0xfffffffe 0x7fff, 0x1, 0x0, 0x800000
645
646         writemsg "[87] Test extrv_s.h"
647         dspck_atsio extrv_s.h, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
648         dspck_atsio extrv_s.h, 0x7fffffff, 0xcbcdef01 0x7fff, 0x1f, 0x0, 0x800000
649         dspck_atsio extrv_s.h, 0x3fffffff, 0x2bcdef01 0x7fff, 0x1f, 0x0, 0x800000
650         dspck_atsio extrv_s.h, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
651         dspck_atsio extrv_s.h, 0x0, 0xfffffffe 0x7fff, 0x1, 0x0, 0x800000
652
653         writemsg "[88] Test extrv.w"
654         dspck_atsio extrv.w, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
655         dspck_atsio extrv.w, 0x7fffffff, 0xcbcdef01 0xffffffff, 0x1f, 0x0, 0x800000
656         dspck_atsio extrv.w, 0x3fffffff, 0x2bcdef01 0x7ffffffe, 0x1f, 0x0, 0x0
657         dspck_atsio extrv.w, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
658         dspck_atsio extrv.w, 0x0, 0xfffffffe 0x7fffffff, 0x1, 0x0, 0x0
659
660         writemsg "[89] Test extrv_r.w"
661         dspck_atsio extrv_r.w, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
662         dspck_atsio extrv_r.w, 0x7fffffff, 0xcbcdef01 0x0, 0x1f, 0x0, 0x800000
663         dspck_atsio extrv_r.w, 0x3fffffff, 0x2bcdef01 0x7ffffffe, 0x1f, 0x0, 0x0
664         dspck_atsio extrv_r.w, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
665         dspck_atsio extrv_r.w, 0x0, 0xfffffffe 0x7fffffff, 0x1, 0x0, 0x0
666
667         writemsg "[90] Test extrv_rs.w"
668         dspck_atsio extrv_rs.w, 0x0, 0x0 0x0, 0x0, 0x0, 0x0
669         dspck_atsio extrv_rs.w, 0x7fffffff, 0xcbcdef01 0x7fffffff, 0x1f, 0x0, 0x800000
670         dspck_atsio extrv_rs.w, 0x3fffffff, 0x2bcdef01 0x7ffffffe, 0x1f, 0x0, 0x0
671         dspck_atsio extrv_rs.w, 0xffffffff, 0xffffffff 0xffffffff, 0x0, 0x0, 0x0
672         dspck_atsio extrv_rs.w, 0x0, 0xfffffffe 0x7fffffff, 0x1, 0x0, 0x0
673
674         writemsg "[91] Test extp"
675         dspck_tasiimom extp, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x403f, 0x0, 0x403f
676         dspck_tasiimom extp, 0xffffffff, 0xffff7eff, 0x7e, 0x7, 0xf, 0x3f, 0x0, 0x4000
677         dspck_tasiim extp, 0xfffffff7, 0xefffffff, 0x7e, 0x7, 0x23, 0x3f
678         dspck_tasiim extp, 0xffff7eff, 0xffffffff, 0x7e, 0x7, 0x2f, 0x3f
679
680         writemsg "[92] Test extpv"
681         dspck_tasimom extpv, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x403f, 0x0, 0x403f
682         dspck_tasimom extpv, 0xffffffff, 0xffff7eff, 0x7e, 0x7, 0xf, 0x3f, 0x0, 0x4000
683         dspck_tasim extpv, 0xfffffff7, 0xefffffff, 0x7e, 0x7, 0x23, 0x3f
684         dspck_tasim extpv, 0xffff7eff, 0xffffffff, 0x7e, 0x7, 0x2f, 0x3f
685
686         writemsg "[93] Test extpdp"
687         dspck_tasiimom extpdp, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x403f, 0x3f, 0x403f
688         dspck_tasiimom extpdp, 0xffffffff, 0xffff7eff, 0x7e, 0x7, 0xf, 0x3f, 0x0, 0x4000
689         dspck_tasiim extpdp, 0xfffffff7, 0xefffffff, 0x7e, 0x7, 0x23, 0x3f
690         dspck_tasiim extpdp, 0xffff7eff, 0xffffffff, 0x7e, 0x7, 0x2f, 0x3f
691
692         writemsg "[94] Test extpdpv"
693         dspck_tasimom extpdpv, 0x0, 0x0, 0x0, 0x0, 0x4000, 0x403f, 0x3f, 0x403f
694         dspck_tasimom extpdpv, 0xffffffff, 0xffff7eff, 0x7e, 0x7, 0xf, 0x3f, 0x0, 0x4000
695         dspck_tasim extpdpv, 0xfffffff7, 0xefffffff, 0x7e, 0x7, 0x23, 0x3f
696         dspck_tasim extpdpv, 0xffff7eff, 0xffffffff, 0x7e, 0x7, 0x2f, 0x3f
697
698         writemsg "[95] Test shilo"
699         dspck_asaio shilo, 0x0, 0x0, 0x0, 0x0, 0, 0x0, 0x0
700         dspck_asaio shilo, 0x1, 0x80000000, 0x1, 0x80000000, 0, 0x0, 0x0
701         dspck_asaio shilo, 0x1, 0x80000000, 0x3, 0x0, -1, 0x0, 0x0
702         dspck_asaio shilo, 0x1, 0x80000000, 0x6, 0x0, -2, 0x0, 0x0
703         dspck_asaio shilo, 0x1, 0x80000000, 0x18, 0x0, -4, 0x0, 0x0
704
705         writemsg "[96] Test shilov"
706         dspck_asio shilov, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0
707         dspck_asio shilov, 0x1, 0x80000000, 0x1, 0x80000000, 0x0, 0x0, 0x0
708         dspck_asio shilov, 0x1, 0x80000000, 0x3, 0x0, 0xffffffff, 0x0, 0x0
709         dspck_asio shilov, 0x1, 0x80000000, 0x6, 0x0, 0xfffffffe, 0x0, 0x0
710         dspck_asio shilov, 0x1, 0x80000000, 0x18, 0x0, 0xfffffffc, 0x0, 0x0
711
712         writemsg "[97] Test mthlip"
713         dspck_saio mthlip, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20
714         dspck_saio mthlip, 0x0, 0x1, 0x1, 0x2, 0x2, 0x8, 0x28
715         dspck_saio mthlip, 0xffffffff, 0xffff1234, 0xffff1234, 0xfffffffe, 0xfffffffe, 0x10, 0x30
716         dspck_saio mthlip, 0xdeadbeef, 0x1234, 0x1234, 0xbeefdead, 0xbeefdead, 0x18, 0x38
717
718         writemsg "[98] Test wrdsp"
719         dspck_wrdsp 0x0, 0x0, 0x0, 0x0
720         dspck_wrdsp 0x4000, 0x20, 0x0, 0x4000
721         dspck_wrdsp 0xffffffff, 0x3f, 0x0, 0x0fff7fbf
722         dspck_wrdsp 0x3f, 0x1, 0x0, 0x3f
723         dspck_wrdsp 0x1f80, 0x2, 0x0, 0x1f80
724
725         writemsg "[99] Test rddsp"
726         dspck_rddsp 0x0, 0x0, 0x0
727         dspck_rddsp 0x0, 0x0, 0xffffffff
728         dspck_rddsp 0x3f, 0x1, 0xffffffff
729         dspck_rddsp 0x1f80, 0x2, 0x0fff7fbf
730         dspck_rddsp 0x2000, 0x4, 0x0fff7fbf
731
732         writemsg "[100] Test lbux"
733         .data
734 mydata:
735         .byte   0x12
736         .byte   0x34
737         .byte   0x56
738         .byte   0x78
739         .byte   0x9a
740         .byte   0xbc
741         .byte   0xde
742         .byte   0xf0
743         .previous
744         dspck_load lbux, 0x12, 0x0, mydata
745         dspck_load lbux, 0x34, 0x1, mydata
746         dspck_load lbux, 0x56, 0x2, mydata
747         dspck_load lbux, 0x78, 0x3, mydata
748         dspck_load lbux, 0x9a, 0x4, mydata
749         dspck_load lbux, 0xbc, 0x5, mydata
750         dspck_load lbux, 0xde, 0x6, mydata
751         dspck_load lbux, 0xf0, 0x7, mydata
752
753         writemsg "[101] Test lhx"
754         .data
755 myhdata:
756         .hword  0x1234
757         .hword  0x5678
758         .hword  0x9abc
759         .hword  0xdef0
760         .previous
761         dspck_load lhx, 0x1234, 0x0, myhdata
762         dspck_load lhx, 0x5678, 0x2, myhdata
763         dspck_load lhx, 0xffff9abc, 0x4, myhdata
764         dspck_load lhx, 0xffffdef0, 0x6, myhdata
765
766         writemsg "[102] Test lwx"
767         .data
768 mywdata:
769         .word   0x12345678
770         .word   0x9abcdef0
771         .word   0x13579abc
772         .word   0xffff0001
773         .previous
774         dspck_load lwx, 0x12345678, 0x0, mywdata
775         dspck_load lwx, 0x9abcdef0, 0x4, mywdata
776         dspck_load lwx, 0x13579abc, 0x8, mywdata
777         dspck_load lwx, 0xffff0001, 0xc, mywdata
778
779         writemsg "[103] Test bposge32"
780         dspck_bposge32 0x0, 0
781         dspck_bposge32 0x1f, 0
782         dspck_bposge32 0x20, 1
783         dspck_bposge32 0x3f, 1
784
785         pass
786         .end DIAG
787