Home | History | Annotate | Line # | Download | only in mips
      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-2024 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 
    788