This commit is contained in:
Paul Pan 2021-08-31 19:32:39 +08:00
parent 966b7b6223
commit 0269228c3c
6 changed files with 889 additions and 2 deletions

View File

@ -1,7 +1,7 @@
TOPDIR=$(shell pwd)
#export LD_PRELOAD =
CFLAGS := -D_KERNEL -fno-builtin -mips1 -DMEMSTART=0x80000000 -DMEMSIZE=0x04000 -DCPU_COUNT_PER_US=1000 -I $(TOPDIR)/include
CFLAGS := -D_KERNEL -fno-builtin -mips32r2 -DMEMSTART=0x80000000 -DMEMSIZE=0x04000 -DCPU_COUNT_PER_US=1000 -I $(TOPDIR)/include
CFLAGS += -fno-reorder-blocks -fno-reorder-functions -msoft-float
OBJDIR = ./obj

View File

@ -1336,3 +1336,104 @@
lw v0, offset_align(t0); \
bne v0, v1, inst_error; \
nop
/*95*/
#define TEST_MADD_HL(in_a, in_b, raw_hi, raw_lo, ref_lo, ref_hi) \
li t0, in_a; \
li t1, in_b; \
li a0, raw_hi; \
li a1, raw_lo; \
mthi a0; \
mtlo a1; \
madd t0, t1; \
mflo s5; \
mfhi s6; \
li v0, ref_lo; \
li v1, ref_hi; \
bne v0, s5, inst_error; \
nop; \
bne v1, s6, inst_error; \
nop
#define TEST_MADD(in_a, in_b, ref_lo, ref_hi) \
li t0, in_a; \
li t1, in_b; \
mthi zero; \
mtlo zero; \
madd t0, t1; \
mflo s5; \
mfhi s6; \
li v0, ref_lo; \
li v1, ref_hi; \
bne v0, s5, inst_error; \
nop; \
bne v1, s6, inst_error; \
nop
/*96*/
#define TEST_MADDU_HL(in_a, in_b, raw_hi, raw_lo, ref_lo, ref_hi) \
li t0, in_a; \
li t1, in_b; \
li a0, raw_hi; \
li a1, raw_lo; \
mthi a0; \
mtlo a1; \
maddu t0, t1; \
mflo s5; \
mfhi s6; \
li v0, ref_lo; \
li v1, ref_hi; \
bne v0, s5, inst_error; \
nop; \
bne v1, s6, inst_error; \
nop
#define TEST_MADDU(in_a, in_b, ref_lo, ref_hi) \
li t0, in_a; \
li t1, in_b; \
mthi zero; \
mtlo zero; \
maddu t0, t1; \
mflo s5; \
mfhi s6; \
li v0, ref_lo; \
li v1, ref_hi; \
bne v0, s5, inst_error; \
nop; \
bne v1, s6, inst_error; \
nop
/*97 98*/
#define TEST_MSUB_HL(in_a, in_b, raw_hi, raw_lo, ref_lo, ref_hi) \
li t0, in_a; \
li t1, in_b; \
li a0, raw_hi; \
li a1, raw_lo; \
mthi a0; \
mtlo a1; \
msub t0, t1; \
mflo s5; \
mfhi s6; \
li v0, ref_lo; \
li v1, ref_hi; \
bne v0, s5, inst_error; \
nop; \
bne v1, s6, inst_error; \
nop
#define TEST_MSUBU_HL(in_a, in_b, raw_hi, raw_lo, ref_lo, ref_hi) \
li t0, in_a; \
li t1, in_b; \
li a0, raw_hi; \
li a1, raw_lo; \
mthi a0; \
mtlo a1; \
msubu t0, t1; \
mflo s5; \
mfhi s6; \
li v0, ref_lo; \
li v1, ref_hi; \
bne v0, s5, inst_error; \
nop; \
bne v1, s6, inst_error; \
nop

View File

@ -0,0 +1,284 @@
#include <asm.h>
#include <regdef.h>
#include <inst_test.h>
LEAF(n95_madd_test)
.set noreorder
addiu s0, s0 ,1
li s2, 0x0
###test inst
TEST_MADD(0x45b90738, 0xd70d64f0, 0x0a20a480, 0xf4d903bb)
TEST_MADD(0x99a451b0, 0xbe3d9998, 0x8552b080, 0x1a4b01ae)
TEST_MADD(0x85931c58, 0xfb710fb5, 0xda843238, 0x022e0ede)
TEST_MADD(0x650e4043, 0x64c17218, 0x7076dc48, 0x27c5ede2)
TEST_MADD(0xa00c6c50, 0x8e9df080, 0x78d12800, 0x2a7f453e)
TEST_MADD(0x99c874b6, 0xd7ce83e0, 0xe7934140, 0x100c6ff4)
TEST_MADD(0x1c62f360, 0x34580400, 0xb4cd8000, 0x05cddbe4)
TEST_MADD(0x99b80b00, 0x6c463000, 0x84100000, 0xd4bd99c9)
TEST_MADD(0xdc823390, 0x5208f838, 0x1aeec780, 0xf4a0762c)
TEST_MADD(0xe53080d8, 0x848a9c5a, 0xf600ebf0, 0x0cedfd5c)
TEST_MADD(0x7f2163d8, 0xab5bba80, 0x9904dc00, 0xd5f77755)
TEST_MADD(0xea7b88c0, 0x23eed510, 0xd3004c00, 0xfcfad0a2)
TEST_MADD(0x7389b4fd, 0xea063940, 0x0ba79440, 0xf614f983)
TEST_MADD(0xbcdf9b20, 0xc1451978, 0x4e96d700, 0x1072da6a)
TEST_MADD(0xdcacfd50, 0x809d0a80, 0x7273c800, 0x1193d5fc)
TEST_MADD(0x55ed3100, 0xbe5ba9f2, 0x3a915200, 0xe9f79db9)
TEST_MADD(0xcedb5fd8, 0xe1793b60, 0x4672b900, 0x05dc29af)
TEST_MADD(0x9d32f1b0, 0xbb2016b8, 0x2362d680, 0x1a94e275)
TEST_MADD(0x7091ae43, 0xdb390460, 0x9b456520, 0xefd4042c)
TEST_MADD(0x549bf440, 0xd1dc9f40, 0x2ab0d000, 0xf0c048d0)
TEST_MADD(0x63b241cc, 0x48aefe14, 0xbfdd8bf0, 0x1c4e489c)
TEST_MADD(0x4c925040, 0x0855d2c8, 0x7d633200, 0x027e3e22)
TEST_MADD(0xdb2dfd2c, 0x6c0e9f09, 0xad443a8c, 0xf0754c72)
TEST_MADD(0xdfdc9250, 0xbf1f15c3, 0x04b402f0, 0x082517d4)
TEST_MADD(0x1b339b35, 0x98c14bc0, 0x0021eec0, 0xf50792e7)
TEST_MADD(0xc8618b98, 0x69452a40, 0x1141d600, 0xe920fb5e)
TEST_MADD(0x2aea0580, 0x7f50d684, 0xf943d600, 0x1557a5d1)
TEST_MADD(0x5c69f5ec, 0x9ee23bd2, 0xfcf11f98, 0xdcf11afe)
TEST_MADD(0xb7b66b40, 0x8b50c179, 0xa013f140, 0x20f2d35b)
TEST_MADD(0x514e33b6, 0x7dc39988, 0x30153eb0, 0x27f14e94)
TEST_MADD(0x27c24e12, 0xbc0e6874, 0x70beb028, 0xf572a01c)
TEST_MADD(0xe7e6eddc, 0x13a7cad0, 0x21d4dac0, 0xfe265835)
TEST_MADD(0xa85111c0, 0xa29d50f0, 0x844ca400, 0x1ffc597a)
TEST_MADD(0x73d52eb8, 0x142ba310, 0x32fa1380, 0x0920663d)
TEST_MADD(0x41156884, 0x794c5fb2, 0x9ddba7c8, 0x1ed68915)
TEST_MADD(0xa8774820, 0xb2cf0480, 0xaaa49000, 0x1a64deef)
TEST_MADD(0xb69bcb80, 0x88d55520, 0xdf8af000, 0x2229cfd4)
TEST_MADD(0xe84175d8, 0x94048f1c, 0xaf5c8ba0, 0x0a03f608)
TEST_MADD(0x6fdedbd8, 0x67dd7f60, 0x341a9900, 0x2d637581)
TEST_MADD(0xa2319526, 0xd5f88700, 0x40770a00, 0x0f669a83)
TEST_MADD(0x61f8b9bc, 0x146e6d38, 0xd445ad20, 0x07d1b12e)
TEST_MADD(0xb9002828, 0x0310a1b9, 0xc4de2ce8, 0xff2663a0)
TEST_MADD(0xb4418f47, 0x943f129c, 0xc27f4d44, 0x1fe1ae2e)
TEST_MADD(0xd7011f8c, 0x70d8ea80, 0x6585be00, 0xededc132)
TEST_MADD(0x058b9998, 0x55395538, 0x3b611140, 0x01d897ed)
TEST_MADD(0xc13b7fc0, 0xda192fbb, 0x0caa9140, 0x094afe25)
TEST_MADD(0x776d24b0, 0x66f0a9a4, 0x1423b0c0, 0x3005c214)
TEST_MADD(0x6c6ae338, 0x5c4abc80, 0x827ebc00, 0x27161062)
TEST_MADD(0x9dc090e0, 0xb6324980, 0x55585000, 0x1c530986)
TEST_MADD(0x86d609de, 0xcd4bcb2e, 0x9e52cfe4, 0x17ff7c93)
TEST_MADD(0x1400c7dc, 0x466a6d5e, 0x967a0ec8, 0x05808784)
TEST_MADD(0xa2d88860, 0x26423686, 0x52dba240, 0xf2140c3a)
TEST_MADD(0x6770770a, 0x812cbe10, 0x6f18dca0, 0xccc14912)
TEST_MADD(0x95627048, 0xc1bae8ca, 0xf1bdd8d0, 0x19eeeef0)
TEST_MADD(0x1dbadda0, 0x5d2b0f50, 0x9741a200, 0x0ad1e2ad)
TEST_MADD(0xc7cf4f96, 0x7dd33820, 0x29f4c2c0, 0xe461dd69)
TEST_MADD(0xa1d8f960, 0xb83e3183, 0xbf02fc20, 0x1a641a33)
TEST_MADD(0xcc2c955e, 0x63c2877e, 0x8bf21644, 0xebcddc1e)
TEST_MADD(0xd2d44530, 0x602b39e6, 0x4d2dd920, 0xef07f962)
TEST_MADD(0x886c3ad7, 0xe011a4c0, 0xaf24dd40, 0x0eea3ae0)
TEST_MADD(0x0c45d0c8, 0x830e02fb, 0x57054418, 0xfa029504)
TEST_MADD(0x49979c44, 0x298742f0, 0x604807c0, 0x0bf02a38)
TEST_MADD(0x2037c800, 0xfb355f34, 0xa68ca000, 0xff65a09f)
TEST_MADD(0x21e68aeb, 0xc1cc4ec0, 0x897fca40, 0xf7c351f4)
TEST_MADD(0xe2c488b8, 0x8ed6a9d8, 0x6de4d340, 0x0cebf803)
TEST_MADD(0x0622c000, 0x849e669e, 0x21f28000, 0xfd0af6e8)
TEST_MADD(0xfe11325e, 0x5a980480, 0x4132a700, 0xff50e5e2)
TEST_MADD(0xb582a660, 0x27161c30, 0x3ef1b200, 0xf4a0785f)
TEST_MADD(0xde436ee0, 0x0b8fd2ea, 0x09b718c0, 0xfe79f1a3)
TEST_MADD(0x3ca5ebcc, 0x7fca89b0, 0xc03a4840, 0x1e464b84)
TEST_MADD(0xed8ac2a2, 0x8e11d628, 0xe523d550, 0x0836ec19)
TEST_MADD(0xee62ac9c, 0x446aed90, 0x59e583c0, 0xfb4ada5c)
TEST_MADD(0xa5a41fa0, 0x901ecf7a, 0x5a897240, 0x277d522a)
TEST_MADD(0x1665a95c, 0x01fa0f1c, 0x27e2ea10, 0x002c4643)
TEST_MADD(0xf760c288, 0x024d9a70, 0x0242eb80, 0xffec246c)
TEST_MADD(0xb91b1700, 0xff6a7770, 0x198b1000, 0x0029690d)
TEST_MADD(0x38a15d4c, 0x4d378f48, 0xf7d3b160, 0x1114d36c)
TEST_MADD(0xe1d0a988, 0x29062820, 0x95c27100, 0xfb29b14f)
TEST_MADD(0xb657c3ec, 0x42373c21, 0x02ef916c, 0xecf2bc11)
TEST_MADD(0x8cd72e00, 0x0657e392, 0xc2823c00, 0xfd2581d5)
TEST_MADD(0xcffca4a4, 0xf52aba30, 0x85e606c0, 0x02082174)
TEST_MADD(0xd823b826, 0xed601012, 0xaa4552ac, 0x02e66439)
TEST_MADD(0x306f7f24, 0x6384a554, 0x3c17ebd0, 0x12d436f0)
TEST_MADD(0x0c59e770, 0x3e387808, 0x47cbbb80, 0x03007f82)
TEST_MADD(0xc1dd451c, 0xe125f520, 0x97d86f80, 0x077cfe1d)
TEST_MADD(0xef4e68d4, 0x9ff2ad9b, 0xa5b8bc5c, 0x06437714)
TEST_MADD(0x7ef6ec24, 0xb177da10, 0xdd416a40, 0xd90d3e0e)
TEST_MADD(0x6fb25f72, 0x791ebb10, 0x583a3d20, 0x34d8b7a2)
TEST_MADD(0x58101600, 0xd3840640, 0xbc898000, 0xf0b29693)
TEST_MADD(0x07affc60, 0x5ea8d5b0, 0x94f96200, 0x02d7b093)
TEST_MADD(0xf952c740, 0x73978b1c, 0x7dfd8b00, 0xfcfc3bb4)
TEST_MADD(0x8f689828, 0x91565574, 0x7b5a3a20, 0x30abad94)
TEST_MADD(0x914d8000, 0xba3b44b8, 0x85b40000, 0x1e2b2e25)
TEST_MADD(0x4d2e3cf5, 0x70e9d5e8, 0x159c1708, 0x220aba3e)
TEST_MADD(0xb037ad58, 0x11952040, 0xbfce5600, 0xfa8538dd)
TEST_MADD(0xa4246038, 0x111ad568, 0x7085aec0, 0xf9dcc982)
TEST_MADD(0xef964a3a, 0xd18d5d08, 0x519b63d0, 0x02fa582f)
TEST_MADD(0xa4a7728e, 0x97843fdc, 0x884f6408, 0x25482191)
TEST_MADD(0xdf30b100, 0x250933f8, 0x236e7800, 0xfb40dba2)
TEST_MADD(0x1d5818a4, 0xe5093304, 0x940d0e90, 0xfce8c358)
TEST_MADD(0x15122298, 0xcbbb9870, 0xc9816280, 0xfbb2afa1)
TEST_MADD(0x88ca117e, 0x0e125f90, 0x0d0398e0, 0xf9727eaa)
TEST_MADD(0xdf4ef397, 0xda63b6b6, 0xacb3875a, 0x04cd8c0a)
TEST_MADD(0x6683ae60, 0x63fc1988, 0x187c0300, 0x2809e048)
TEST_MADD(0xe6a56cae, 0xd0003efb, 0x9483b29a, 0x04c0f562)
TEST_MADD(0x7d58aade, 0x5b2167ac, 0xd4f01f28, 0x2c9edfed)
TEST_MADD(0x61118bd0, 0x9e016e14, 0x0b424c40, 0xdad7d349)
TEST_MADD(0x7fdd22be, 0xfdcc9fee, 0xad924ea4, 0xfee69cb0)
TEST_MADD(0x70e273a0, 0xd87fc19c, 0xdf8a1580, 0xee94f3a5)
TEST_MADD(0x3940dad6, 0xa37c292b, 0x429907f2, 0xeb4f351f)
TEST_MADD(0xba7ab435, 0x2322d7d0, 0xbf14ee10, 0xf6755053)
TEST_MADD(0x0b238760, 0x2bff2a02, 0xe31ccec0, 0x01ea11f4)
TEST_MADD(0xaa6a9390, 0x8d3ab108, 0xc1fb2c80, 0x265e80ac)
TEST_MADD(0xe3667224, 0xbf514d80, 0x7cf1e600, 0x0739e7c6)
TEST_MADD(0x53b1b42e, 0x7c608578, 0x67285b90, 0x28a9a18c)
TEST_MADD(0x8241ddf4, 0x4a8d0e90, 0xa6943140, 0xdb61c148)
TEST_MADD(0x7cdcd5cf, 0xe584065f, 0xecb231d1, 0xf3151a6c)
TEST_MADD(0x50445224, 0xb34e8c5c, 0x687134f0, 0xe7f4141e)
TEST_MADD(0x436d75a7, 0x2cb9b728, 0x81e3c318, 0x0bc7ba90)
TEST_MADD(0xdb906f30, 0x0eafa7d0, 0x3fb2a700, 0xfde8e5ee)
TEST_MADD(0x5aa5b57e, 0xeb138c80, 0x1475a700, 0xf8975429)
TEST_MADD(0xbc61fc9c, 0x2c0b0f78, 0xb66f8d20, 0xf45deb8a)
TEST_MADD(0x8b3566b7, 0x2b021ecc, 0xbb054bd4, 0xec61009e)
TEST_MADD(0x666e54e8, 0xed91452c, 0x37411fe0, 0xf89fefde)
TEST_MADD(0xc6e59380, 0xfa935180, 0xc8f54000, 0x0135c230)
TEST_MADD(0xd921e0b0, 0x1f7d65c0, 0x3cfdf400, 0xfb38104d)
TEST_MADD(0x7b8db2e2, 0x84d37b50, 0xa9807ca0, 0xc48d6ea8)
TEST_MADD(0xf89e1b58, 0x26be32a0, 0x9f784700, 0xfee1fbf1)
TEST_MADD(0x524aa0a6, 0x0b334594, 0xd3839df8, 0x0399b022)
TEST_MADD(0xa3be10e8, 0x18dbc860, 0x1af39700, 0xf70a9cf8)
TEST_MADD(0x073cf5be, 0x4fbf4882, 0xccd43a7c, 0x0241385d)
TEST_MADD(0x91db7100, 0x1f78ebb0, 0xaf98b000, 0xf2758c24)
TEST_MADD(0xc49e36d8, 0x2044fa90, 0xabedc980, 0xf883c6c2)
TEST_MADD(0xaf4ab2b8, 0xf0086f40, 0x4bea7600, 0x0508ac17)
TEST_MADD(0xc72f0de2, 0x407a26e0, 0x62efb1c0, 0xf1b0a744)
TEST_MADD(0x95d26876, 0x9aaece1c, 0xaf4660e8, 0x2a05a9e7)
TEST_MADD(0x72e2ec10, 0xb9098e00, 0xbb80e000, 0xe0275a3b)
TEST_MADD(0xdeb27a9c, 0x506c0849, 0x8e89d67c, 0xf589b888)
TEST_MADD(0x530194f0, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x5a1a4f60, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x5cc4e136, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0xab7a14c0, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x44d126d0, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x0f114ff0, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x60bfe48e, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x102ceba0, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x7b21e54d, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x5d72f954, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x2699b2d4, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x66b6dc30, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0x4ae569a0, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0x2582c9c0, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0xa2f01d2e, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0x2c5300d7, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0x7a95fab0, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0xf415d1b4, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0x0caf7d5c, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0xae15e524, 0x00000000, 0x00000000)
TEST_MADD(0x00000000, 0x00000000, 0x00000000, 0x00000000)
TEST_MADD_HL(0x3ffa9606, 0x2ec9a237, 0x4f85ec7, 0x49b98207, 0x10a9ca06, 0x7a358951)
TEST_MADD_HL(0x2a484469, 0x49cd5c37, 0x3fa82db5, 0x183a608f, 0x4bd8b450, 0xdf6bcf1e)
TEST_MADD_HL(0x7710d9e, 0x50e34fd8, 0x60c5acb, 0x2a7aa93b, 0x8664a9d, 0xc82be88b)
TEST_MADD_HL(0x21af30ae, 0x1ca02d03, 0x685858bd, 0x4ccefd25, 0x6c1c957a, 0xf22b252f)
TEST_MADD_HL(0x66e1d799, 0x15e2a286, 0x549dd00, 0x192b8658, 0xe157860, 0xbfe3326e)
TEST_MADD_HL(0x2cdf6375, 0x46894689, 0x4b567cb6, 0x4c91a38e, 0x57b3a1d1, 0x9cecdb2b)
TEST_MADD_HL(0x384ff312, 0x4d113d2d, 0x2f3bf51a, 0x6cde72ab, 0x402fcbfa, 0xee0976d5)
TEST_MADD_HL(0x4f8f28d6, 0x700964be, 0x6d5d7152, 0x7ebc2a16, 0x902efe87, 0x867610ea)
TEST_MADD_HL(0x7268c53b, 0x4e97d2f6, 0x423151f2, 0x77039cdb, 0x6551181e, 0xa948898d)
TEST_MADD_HL(0x34a1dac8, 0x731edd3, 0x2191539d, 0x14aaaf82, 0x230c0478, 0xa5e52a5a)
TEST_MADD_HL(0x38a93df0, 0x780fdf0d, 0x69ee8549, 0x760b12a2, 0x84815d9a, 0xe4a747d2)
TEST_MADD_HL(0x4dc97219, 0x55706f51, 0x1b0139ac, 0x55296e02, 0x34f74683, 0x824f5eeb)
TEST_MADD_HL(0x4b344740, 0x460cfbd0, 0x6f65df3a, 0x2aa79291, 0x83f9fb22, 0x5dfd3691)
TEST_MADD_HL(0x57b9e34c, 0x2b18f00b, 0x75bbcb52, 0x18cab68, 0x8480902f, 0x1ec0afac)
TEST_MADD_HL(0x658790b5, 0x4a97352d, 0x5ce17a3b, 0x2aa4a63e, 0x7a76a21c, 0xc1318f0f)
TEST_MADD_HL(0x6b8988a4, 0x27b50c98, 0x68e046e4, 0x58074456, 0x798e483d, 0x3c0c15b6)
TEST_MADD_HL(0x28d1c4d1, 0x1d0057d6, 0x6bb9e389, 0x494e5c23, 0x7059b4d6, 0x5f8be9d9)
TEST_MADD_HL(0x587bb637, 0x834133, 0x7600c26c, 0x5f1dd4c0, 0x762e2043, 0xa72c18b5)
TEST_MADD_HL(0x2b68665a, 0x4893d96a, 0x125d7428, 0x14877c51, 0x1eabe2c1, 0xa2322795)
TEST_MADD_HL(0xb5c1cf2, 0x1b2da090, 0x4748e98a, 0x75ee72e4, 0x487da6e9, 0x85ffb04)
TEST_MADD_HL(0xcdcf4d3, 0x5a3d34b1, 0x75173633, 0x14005110, 0x799ff791, 0x5ec772f3)
TEST_MADD_HL(0x6371ed7e, 0x6c616d5e, 0x40cb334f, 0x205fd567, 0x6ae51c27, 0x4b11afab)
TEST_MADD_HL(0x1ee83aa2, 0x3f599121, 0x37a988e2, 0x74ab081a, 0x3f4f7f92, 0x3a2258fc)
TEST_MADD_HL(0x2b224e5a, 0x42474ca6, 0x7a1b42a8, 0x1e1a36ee, 0x85461e49, 0x3491bd4a)
TEST_MADD_HL(0x6971661b, 0xed01afa, 0x3fd96431, 0xe2b4d80, 0x45f34f05, 0xfb37c1de)
TEST_MADD_HL(0x7aa889a, 0x3232730c, 0x5b5cb929, 0x7b926513, 0x5cdd8a98, 0x3501fa4b)
TEST_MADD_HL(0x521db924, 0x45955f95, 0x47055a30, 0x7bfc519f, 0x5d57470c, 0xc4f16f93)
TEST_MADD_HL(0x1e57cdc0, 0x3e302706, 0x457bbe9e, 0x356fcb3e, 0x4cdab789, 0x5fd6ddbe)
TEST_MADD_HL(0x453e578b, 0x296c5885, 0x70ec10da, 0xdef7d87, 0x7c205b1d, 0xa70ec0be)
TEST_MADD_HL(0x1f0789c7, 0x772750f, 0x54fbf440, 0x27b6cf32, 0x55e30890, 0x36bdd4db)
TEST_MADD_HL(0x28c2bf37, 0x3eb5b830, 0x4f997d14, 0x653227e4, 0x59959668, 0x87088a34)
TEST_MADD_HL(0x3ff09fd3, 0x7f40c729, 0xf11ce77, 0x58f3e39a, 0x2eda5ba7, 0x447a8165)
TEST_MADD_HL(0x7a8ee4fa, 0x7fad66c1, 0x322337be, 0x19f196bf, 0x6f431f18, 0x31d9d339)
TEST_MADD_HL(0x7ec260f7, 0x34621f16, 0x55bda8f, 0x67fc7485, 0x1f4bec0f, 0x20fcb2bf)
TEST_MADD_HL(0x464d0d26, 0x3ea0a65e, 0x57d155b0, 0x1917b2b4, 0x69041cb7, 0x4ba92aa8)
TEST_MADD_HL(0x69ffdb6a, 0x1103fa4b, 0x41e22644, 0x2b05c73b, 0x48edc978, 0xb17e9349)
TEST_MADD_HL(0x494cbe3, 0x7ff21fe4, 0x1e553b8e, 0x63afc33, 0x209f61ee, 0x79070f5f)
TEST_MADD_HL(0x1f515041, 0x60734879, 0x928cbbb, 0x2046748c, 0x14f56438, 0x397aab45)
TEST_MADD_HL(0x33586380, 0x39e493af, 0x6452f37d, 0x3d654dfd, 0x6fef79fc, 0x35f3d27d)
TEST_MADD_HL(0x42e048bc, 0x2ef92fa8, 0x6db210c7, 0x596094f7, 0x79f77672, 0xf0c6d457)
TEST_MADD_HL(0x5b773b03, 0x771e9c22, 0xce24ba6, 0x6ee43f56, 0x3771a7d6, 0x8c09e9bc)
TEST_MADD_HL(0x7b0030d9, 0x2f5d4582, 0x76136f99, 0x6d8732c9, 0x8cd54908, 0x869f7dfb)
TEST_MADD_HL(0x1576a666, 0x4225125c, 0x6276ce2f, 0x4dded742, 0x680280c5, 0xb4f3cfea)
TEST_MADD_HL(0x51e52cc5, 0x1c1eac43, 0x2fcfd730, 0x74ac61e, 0x38ceb80c, 0x3b6fd9ad)
TEST_MADD_HL(0xd63d3c, 0x3c8dc70b, 0x45e03303, 0x6a1aaf64, 0x4612e003, 0xc6f4f4f8)
TEST_MADD_HL(0x3d04a2b3, 0x1efe47fc, 0x4333b47d, 0x60e23ca, 0x4a96db4f, 0xc757f0fe)
TEST_MADD_HL(0x6ac8e244, 0x5111ef21, 0x7617b3a, 0x6ac0b700, 0x293285e8, 0x44675dc4)
TEST_MADD_HL(0x7d7e66ff, 0x3ca4b10e, 0x410ab06c, 0x38ae81db, 0x5ec50c55, 0x3a2a72cd)
TEST_MADD_HL(0x7986f836, 0x204afbb8, 0x53b458b1, 0x76c68901, 0x6308d03a, 0xa4c1e1d1)
TEST_MADD_HL(0x3b8aff19, 0x7690a3b, 0x70480e48, 0x519504e4, 0x720149a5, 0xc8d5c9a7)
TEST_MADD_HL(0x5970628c, 0x23f253dc, 0x2f669193, 0x67d82f66, 0x3bf59896, 0xb843b6)
TEST_MADD_HL(0x62a37156, 0x688bf56c, 0x28da9632, 0x7b36f4ae, 0x5122e98b, 0xfd5412f6)
TEST_MADD_HL(0x1d6c7ee8, 0x17242ebe, 0x3e27a206, 0x2e3be9ab, 0x40d08a0e, 0x342fc9db)
TEST_MADD_HL(0x2f233874, 0x48f65d8c, 0x43084058, 0x3090409f, 0x5077854a, 0xa2cd440f)
TEST_MADD_HL(0x18b105e, 0x7a4eeaac, 0x7310cd6c, 0x6a9a07f9, 0x73cd8d02, 0x59a2f321)
TEST_MADD_HL(0x25e35403, 0x47ee0bfd, 0x50552c62, 0x56773971, 0x5afa73cd, 0x7c876168)
TEST_MADD_HL(0x67aef435, 0x788bb051, 0x65bd08fd, 0x46b41b5f, 0x968f9edd, 0xcdbad024)
TEST_MADD_HL(0x22e4dc4d, 0x7facb0bc, 0x4e2baddc, 0x5607716c, 0x5f92c101, 0x844a29f8)
TEST_MADD_HL(0x2f3e84a9, 0x603a9790, 0x3e11105b, 0x7334dfab, 0x4fd3523d, 0x54e92dbb)
TEST_MADD_HL(0x25a8bf94, 0x223ec179, 0x7430048f, 0x6d8da55e, 0x7939a955, 0x8096c652)
TEST_MADD_HL(0x20628e96, 0x424891e9, 0x2cfcebf6, 0x15335ae7, 0x355f82e6, 0x27da176d)
TEST_MADD_HL(0x6e69a55e, 0x332e77d3, 0x5c510119, 0x7679ae46, 0x726417b5, 0x44facc0)
TEST_MADD_HL(0xeb9c8ab, 0x339bbb12, 0x28b0c362, 0x3695ef65, 0x2ba8bb9b, 0x85c3f46b)
TEST_MADD_HL(0x7d0b9c64, 0x45820225, 0x753834fa, 0x6e626136, 0x972bd712, 0xf710c3aa)
TEST_MADD_HL(0x9e615f8, 0xd0546c8, 0x6d7de141, 0x551b140e, 0x6dfec49a, 0xb60dce)
TEST_MADD_HL(0x15a53409, 0x3aa005a0, 0x16729b72, 0x5d2c4093, 0x1b6790f6, 0xae10f333)
TEST_MADD_HL(0x5d764422, 0x40d671f8, 0x7e4cc0b1, 0x25eb8cbc, 0x95f89c32, 0x58fc8fac)
TEST_MADD_HL(0x14345e1a, 0x3400927c, 0x7e3c4a3, 0x19f39e23, 0xbfe7350, 0x8fc06bb)
TEST_MADD_HL(0x431b6455, 0x76c26e15, 0x7ecc8946, 0x4661c588, 0x9dee2122, 0xc3278681)
TEST_MADD_HL(0x28d5005f, 0xa6864e1, 0x570cc176, 0x79d338e0, 0x58b5ba19, 0x6dc5a85f)
TEST_MADD_HL(0x2bb06474, 0x13c232f5, 0x2be48281, 0x2933779, 0x2f43be54, 0x1ea027d)
TEST_MADD_HL(0x66851d6b, 0x4f96265f, 0x27efb289, 0x588f6b87, 0x47cee7fa, 0x6805383c)
TEST_MADD_HL(0x6642506b, 0x593a2d0a, 0x3eb658ad, 0x45869592, 0x625aa3a6, 0x577e88c0)
TEST_MADD_HL(0x3be1d1aa, 0x255733c3, 0x349adebd, 0x59affc21, 0x3d56e7e4, 0xc63d8e9f)
TEST_MADD_HL(0x16aa3ce5, 0x44ae086c, 0x8dee349, 0x414af426, 0xef383ea, 0x5aa9ccc2)
TEST_MADD_HL(0x754a9f3, 0x21bac617, 0x38634d12, 0x3b01dd94, 0x395a902a, 0x2c9d1469)
TEST_MADD_HL(0x17eff7d8, 0x6eb296fa, 0x1aa3da71, 0xbb98100, 0x24fda9e8, 0x2b7a19f0)
TEST_MADD_HL(0x2a058b26, 0x472f997c, 0x1303a677, 0x31a66c51, 0x1eb30044, 0xf27988b9)
TEST_MADD_HL(0x628582af, 0x315cb320, 0x5a40959b, 0x1ae2df0e, 0x6d3fd089, 0x3bd791ee)
TEST_MADD_HL(0xce49f7f, 0x404b91e, 0x58bffef3, 0xe782829, 0x58f3ce56, 0x4281a00b)
TEST_MADD_HL(0x3bdee326, 0x26603511, 0x7aecbc33, 0x515714ee, 0x83e651e9, 0x426b0874)
TEST_MADD_HL(0x57eba2c1, 0x65878679, 0x1aa9c58b, 0x6594d212, 0x3d884833, 0x43ecc54b)
TEST_MADD_HL(0x31704326, 0x4f8780f1, 0x724f5c1b, 0x6f62c32c, 0x81ab2bee, 0x3eaef9f2)
TEST_MADD_HL(0x7ef027ff, 0x6df84a6b, 0x29178f14, 0x5685062e, 0x5f9eeda9, 0x227d73c3)
TEST_MADD_HL(0x2065af1b, 0x58cfeda5, 0x2b08f712, 0x67643fbd, 0x36463b8f, 0x4adf1b24)
TEST_MADD_HL(0x77af1e48, 0x5c94dff4, 0x39c063fc, 0x42840a8c, 0x6508eccf, 0x426d9f2c)
TEST_MADD_HL(0x7b28ac0a, 0x520ec0ca, 0x12f1355f, 0x7d22570a, 0x3a6b5573, 0xc8cd96ee)
TEST_MADD_HL(0x401610e1, 0x4449fc8c, 0x6830f3d4, 0x57d7f884, 0x794955d3, 0xb0afaf90)
TEST_MADD_HL(0x27c8f73c, 0x5bc4c900, 0x50df921f, 0x5c205ee1, 0x5f22971b, 0xc42e7ae1)
TEST_MADD_HL(0x73d355a1, 0x7c06d299, 0x5305fe9f, 0x46959a40, 0x8b237255, 0xd9e7d979)
TEST_MADD_HL(0x660269ef, 0x348cdd06, 0x6c065cc1, 0xb3c33c, 0x80f6fba9, 0xf4e991d6)
TEST_MADD_HL(0x53caf6fd, 0x400c0314, 0x30b8dd46, 0x6232ccc5, 0x45af898b, 0x22cf0f89)
TEST_MADD_HL(0x7b663c4c, 0x70ed71ea, 0x741c60bf, 0x65f29626, 0xaa8b8faf, 0x645f3f9e)
TEST_MADD_HL(0x21a8e4b, 0x8bb61df, 0x3e9135f8, 0x66e5d0c8, 0x3ea3949e, 0x94bb2f1d)
TEST_MADD_HL(0x14d0eaa9, 0x4ae67521, 0x4afe1086, 0x7cfa7e07, 0x51153194, 0x54fdfad0)
TEST_MADD_HL(0x313ccf02, 0x259a6aee, 0x5293de2b, 0xe9d678, 0x59cf5b3b, 0xc65d1e54)
TEST_MADD_HL(0x4bd68daf, 0x716f6457, 0x38884eb9, 0x26e74b9f, 0x5a230304, 0x6a0ace18)
TEST_MADD_HL(0x68d50008, 0x324b867, 0x687e8657, 0x48ab311c, 0x69c80ece, 0xa783f454)
TEST_MADD_HL(0x6d360b8a, 0xb7c4550, 0x7d4325e7, 0xf0e383e, 0x82297c25, 0x45e6055e)
TEST_MADD_HL(0x1f1d19b9, 0x1c91739d, 0x146ee94b, 0x1f99220c, 0x17e7c5a4, 0x14c90381)
###detect exception
bne s2, zero, inst_error
nop
###score ++
addiu s3, s3, 1
###output (s0<<24)|s3
inst_error:
sll t1, s0, 24
or t0, t1, s3
sw t0, 0(s1)
jr ra
nop
END(n95_madd_test)

View File

@ -0,0 +1,266 @@
#include <asm.h>
#include <regdef.h>
#include <inst_test.h>
LEAF(n96_maddu_test)
.set noreorder
addiu s0, s0 ,1
li s2, 0x0
###test inst
TEST_MADDU(0x99c9a500, 0x6c1a1b60, 0xb204e000, 0x40f0c088)
TEST_MADDU(0xee026dc0, 0xd85e0aec, 0xcf06ad00, 0xc9297ba5)
TEST_MADDU(0xa49b33d4, 0x894d6a78, 0x76fa1360, 0x5848d5e0)
TEST_MADDU(0xd16d0152, 0xbcd4f694, 0x22318f68, 0x9a7a44f5)
TEST_MADDU(0x9880cf50, 0xd7e33d18, 0x01697f80, 0x809b8cb9)
TEST_MADDU(0x686decfc, 0x2bb09c9f, 0x19efc084, 0x11d28245)
TEST_MADDU(0x290ca739, 0xc1cc4ec0, 0xdedcc8c0, 0x1f134cc7)
TEST_MADDU(0x1d1eb998, 0xd5b8328e, 0x048aa250, 0x184f8441)
TEST_MADDU(0x79b7d394, 0x0ba99ece, 0x6f359918, 0x058b8bf3)
TEST_MADDU(0x0d7f9488, 0x3647ab9c, 0x53ad5ae0, 0x02dcb0c3)
TEST_MADDU(0x3196de58, 0x4c28d54e, 0x80b6f6d0, 0x0ec0b2e6)
TEST_MADDU(0x473a0e0a, 0xe0925338, 0x28f45030, 0x3e7b828c)
TEST_MADDU(0x3721c560, 0xe7f35d08, 0xf7e20b00, 0x31f3e230)
TEST_MADDU(0x536cd050, 0x675dc658, 0xb3957b80, 0x21af56fa)
TEST_MADDU(0x2310a2f4, 0x07cd8030, 0x0dfc8dc0, 0x01119a56)
TEST_MADDU(0xc2fd5307, 0x034a3375, 0xaa575733, 0x02817c64)
TEST_MADDU(0x79fba360, 0xcc308ea8, 0xc3c27700, 0x614ba958)
TEST_MADDU(0x3f1c7b7a, 0x89f4a9ff, 0xa52a8886, 0x22028f22)
TEST_MADDU(0x6451cbd8, 0x85dc2080, 0xc800ec00, 0x3474c1ee)
TEST_MADDU(0x8885fb40, 0x65a9fc18, 0xcd228e00, 0x36378303)
TEST_MADDU(0x71f5e890, 0x1c7fba40, 0x47e2c400, 0x0cafc157)
TEST_MADDU(0x527b08db, 0xc4c2d838, 0x3c58b7e8, 0x3f64f9ae)
TEST_MADDU(0xd2d00316, 0x5ce48028, 0x99a37b70, 0x4c7eebe7)
TEST_MADDU(0xa47ba800, 0x83d06930, 0x0f178000, 0x54b12f06)
TEST_MADDU(0xcb3eee22, 0x59a7fa20, 0x0698f840, 0x472e3d6c)
TEST_MADDU(0x4092ce98, 0xef2cbae3, 0x5667a0c8, 0x3c54573f)
TEST_MADDU(0x76a3d520, 0x0219a7f1, 0xa0638320, 0x00f92b7e)
TEST_MADDU(0x4dba87a0, 0xabfd53c0, 0xaefe9800, 0x3438835d)
TEST_MADDU(0xb21ddb80, 0x86c4337c, 0x4730d200, 0x5dc42393)
TEST_MADDU(0x24bf43c2, 0x5ebb156c, 0xebf57fd8, 0x0d9915aa)
TEST_MADDU(0x88933830, 0x9b18625e, 0xd61101a0, 0x52be254c)
TEST_MADDU(0x3bd6f96c, 0x1c413041, 0xa4c5946c, 0x069ac024)
TEST_MADDU(0x0b093c0a, 0xf967e2ce, 0xea75240c, 0x0ac075e3)
TEST_MADDU(0xf0e46398, 0x95dbf923, 0xbf2075c8, 0x8d03ebc7)
TEST_MADDU(0x109f0e5c, 0xc6bd4b78, 0x25afaf20, 0x0ce74f6f)
TEST_MADDU(0x23a1f870, 0x88a80670, 0xec2f5100, 0x13056f2b)
TEST_MADDU(0x383bf8e0, 0x78e11c9e, 0x011c1a40, 0x1a8d8fa8)
TEST_MADDU(0x7a249e47, 0xde35e25c, 0x8f968f84, 0x6a0576d6)
TEST_MADDU(0x9bbd1a87, 0x87bced28, 0x133f2018, 0x5293a823)
TEST_MADDU(0x58b0b4c2, 0x4b2eaf04, 0x7f2f7108, 0x1a0bf157)
TEST_MADDU(0xabb5baa8, 0xe59a0d6c, 0x3c3546e0, 0x9a00e44b)
TEST_MADDU(0xef331cb8, 0xb5a98f8c, 0x6a767ca0, 0xa9bd922c)
TEST_MADDU(0xfbd21f10, 0xe381c1fc, 0x2351a3c0, 0xdfcaf53e)
TEST_MADDU(0x0e437d14, 0xf76494cd, 0x982ab904, 0x0dc8b855)
TEST_MADDU(0x36f97280, 0xd2dc44ac, 0x9802ee00, 0x2d47ed0a)
TEST_MADDU(0xc0196848, 0x23e672e2, 0x6f8e1f90, 0x1af0664a)
TEST_MADDU(0xad0af755, 0x46ab8a3c, 0xebacc9ec, 0x2fc4f364)
TEST_MADDU(0x78c438e8, 0xb59296e0, 0x2159bb00, 0x55a7e351)
TEST_MADDU(0x95417ec8, 0xcdef10ec, 0x35056060, 0x7810d489)
TEST_MADDU(0xabd42ba4, 0x9f4dfd40, 0xa07ffd00, 0x6aed1fe7)
TEST_MADDU(0x9c767890, 0x13f10784, 0x19f21a40, 0x0c301b12)
TEST_MADDU(0x337174a4, 0x53b2a442, 0x38012248, 0x10d1aeb6)
TEST_MADDU(0x8bbc4c00, 0x4f9ed450, 0x81c7c000, 0x2b75cd8e)
TEST_MADDU(0x98e39c2e, 0xdb32e0b0, 0x201f9fa0, 0x82e91940)
TEST_MADDU(0x6b08ed68, 0x1ec93800, 0x8a96c000, 0x0cdf2d3e)
TEST_MADDU(0xdedaacc4, 0x652203d0, 0xe7baab40, 0x5809e285)
TEST_MADDU(0xa7151a96, 0x4efab6b6, 0x74638aa4, 0x338c0ff5)
TEST_MADDU(0xb11df5a0, 0x7312ec50, 0x1d0c4200, 0x4f9d8cf1)
TEST_MADDU(0x800e4cb0, 0x39de6540, 0x58749c00, 0x1cf26e1f)
TEST_MADDU(0x6ba01e66, 0x6141f7c8, 0xf05229b0, 0x28e36757)
TEST_MADDU(0x05c01d30, 0x51b5330e, 0x694228a0, 0x01d5db36)
TEST_MADDU(0x7b685660, 0x557152ba, 0x15d981c0, 0x2930459d)
TEST_MADDU(0x4396b2d6, 0x7d40f2c4, 0x67ef37d8, 0x2111bb17)
TEST_MADDU(0xa33d54b2, 0x1ff7f310, 0xb0f84120, 0x1462886b)
TEST_MADDU(0x827d4976, 0x46c7d260, 0x13f85840, 0x24141cb6)
TEST_MADDU(0xb2c46680, 0x2106dc9b, 0xec000f80, 0x17101bdd)
TEST_MADDU(0x61e8744c, 0xf0485710, 0x136d18c0, 0x5be597b4)
TEST_MADDU(0x510523c0, 0xc4eef4ec, 0xd34ff500, 0x3e538fa9)
TEST_MADDU(0x6cab5300, 0x24d47fd0, 0x05607000, 0x0fa24bce)
TEST_MADDU(0x113f38b0, 0x960f0fb8, 0x8c130e80, 0x0a1c0efa)
TEST_MADDU(0xa4cd966c, 0x8946015e, 0x3e9ba7a8, 0x585f1698)
TEST_MADDU(0x997ab490, 0x8318fc14, 0x64d3db40, 0x4e98c507)
TEST_MADDU(0x3bf04cfc, 0x4303bb23, 0x950a9a74, 0x0fb0c3c7)
TEST_MADDU(0xf58f5fa3, 0x6095f500, 0x0065ff00, 0x5ca59b52)
TEST_MADDU(0xabaa4e80, 0x370ea7f2, 0x2b33b500, 0x24eb6acc)
TEST_MADDU(0x3a8cff75, 0xc7c89600, 0x24168e00, 0x2db17b0a)
TEST_MADDU(0x6952957c, 0x9f95ba00, 0x05c81800, 0x41a7e46f)
TEST_MADDU(0xf003fcc0, 0x6bf9ab92, 0xa2da6580, 0x653bbf60)
TEST_MADDU(0x948df508, 0x9aa84872, 0xb1615d90, 0x59bf0c99)
TEST_MADDU(0xe14aa0c0, 0xf0d16230, 0x0c47a400, 0xd3ee3b0a)
TEST_MADDU(0xb1d8a680, 0x99f2fdf0, 0xbca89800, 0x6af34ab9)
TEST_MADDU(0x06d53ad0, 0x6289382a, 0xdd292620, 0x02a14a1f)
TEST_MADDU(0xb406d184, 0xce15399c, 0xa0a21070, 0x90ec69aa)
TEST_MADDU(0xff4c6260, 0xf71b2a00, 0x8843c000, 0xf66dc9db)
TEST_MADDU(0x02f13cac, 0xea42d2c0, 0xf50a9900, 0x02b14612)
TEST_MADDU(0x7fb89370, 0x6495a978, 0x480a0c80, 0x322ec492)
TEST_MADDU(0xdb044c80, 0x5bb448cc, 0x06f0f600, 0x4e74c47f)
TEST_MADDU(0xa90dec6c, 0xf03cd014, 0x2e7e3870, 0x9ea53651)
TEST_MADDU(0x72b3e604, 0x3ccf167e, 0xd78b8df8, 0x1b3ef373)
TEST_MADDU(0xf181714c, 0xe0304af4, 0x585ff470, 0xd37ed21d)
TEST_MADDU(0x7a1bddc0, 0x5b74305c, 0xd697b100, 0x2b9f5384)
TEST_MADDU(0x53901b70, 0x582d6690, 0xbeae0f00, 0x1cc85b3d)
TEST_MADDU(0x1abfafc4, 0x4c4d5a00, 0x71bee800, 0x07f8fd3d)
TEST_MADDU(0xc401c3d9, 0x644283da, 0x12aad1ca, 0x4cc39de9)
TEST_MADDU(0xc3d92a7c, 0x10f8e302, 0x007e48f8, 0x0cfbfab4)
TEST_MADDU(0x58474c02, 0x9f6992fe, 0xaae88dfc, 0x36f8b023)
TEST_MADDU(0xbb0f6845, 0x164774b0, 0x6ef9f370, 0x1047897f)
TEST_MADDU(0x3a0547ba, 0x97b4583e, 0x02b74f0c, 0x2261fd05)
TEST_MADDU(0xc418111b, 0xf49130d0, 0x430df5f0, 0xbb562753)
TEST_MADDU(0x696fdee5, 0x716028d0, 0xd098e210, 0x2eb1fc25)
TEST_MADDU(0x6b09a660, 0xe6f17192, 0x2e5142c0, 0x608f9f0c)
TEST_MADDU(0xe52e58ea, 0xc1a21800, 0x0669f000, 0xad590dd9)
TEST_MADDU(0x1060c3f6, 0x0eede718, 0xb8a35910, 0x00f48315)
TEST_MADDU(0xdf061f84, 0xd9f51b0d, 0x05f685b4, 0xbde1b924)
TEST_MADDU(0x2ef301f4, 0x5f1a8bd0, 0xd6491240, 0x11710c0b)
TEST_MADDU(0x46c24000, 0x73818980, 0x95600000, 0x1fed10a3)
TEST_MADDU(0x257e27d0, 0x1dcebf84, 0x0e20b740, 0x045d9213)
TEST_MADDU(0xa94202b9, 0x78c54868, 0x23f22328, 0x4fd960f2)
TEST_MADDU(0x2981ba00, 0xfa88781d, 0x52e21200, 0x289ed008)
TEST_MADDU(0x3ee64b08, 0x5534a83a, 0x470a3fd0, 0x14ef6706)
TEST_MADDU(0x9178bce0, 0x6bd37980, 0x1a445000, 0x3d45a280)
TEST_MADDU(0x0bcfbae8, 0xe12afb00, 0x3e517800, 0x0a638eef)
TEST_MADDU(0xeea80fda, 0x99dd6bd0, 0x205eff20, 0x8f70dd11)
TEST_MADDU(0xcd7ccc40, 0x79ffffca, 0x27acea80, 0x61ed792b)
TEST_MADDU(0xf0d9a3fc, 0xbd1da000, 0xa6098000, 0xb1ec8d40)
TEST_MADDU(0x575f3e98, 0x71669498, 0xf94d0a40, 0x26b40d4a)
TEST_MADDU(0x1cc38b14, 0x5973913a, 0xb40fd688, 0x0a0cf782)
TEST_MADDU(0x89c6f81f, 0xa2802db0, 0x5fe80850, 0x5774e516)
TEST_MADDU(0x455a3838, 0x847ad600, 0x15aed000, 0x23e3cbf5)
TEST_MADDU(0x3dfb93e4, 0x4f109ba8, 0x99e419a0, 0x1324a80c)
TEST_MADDU(0x7a51a910, 0x2038e3d6, 0xa4ac8360, 0x0f6563db)
TEST_MADDU(0xa0042132, 0x78d9f754, 0x10c42268, 0x4b8a2da8)
TEST_MADDU(0x194f7a4e, 0xc9fad040, 0x9569f380, 0x13f8333b)
TEST_MADDU(0x28e55f80, 0xa3d2a69c, 0x7eb33200, 0x1a2bb294)
TEST_MADDU(0xbcc4d7a8, 0x923c7e90, 0x6c3dfe80, 0x6bd4de73)
TEST_MADDU(0x9f32e060, 0x3178e100, 0x44346000, 0x1ec3e8b7)
TEST_MADDU(0xe9b87330, 0x372b4f78, 0x2311ce80, 0x325e2b48)
TEST_MADDU(0x10483e78, 0xefa70d6a, 0x315df5b0, 0x0f3e124d)
TEST_MADDU(0x6285d9a4, 0x48238818, 0x39978760, 0x1bc351e3)
TEST_MADDU(0x8ee83024, 0x2a47e0d0, 0x88c29d40, 0x179a37ca)
TEST_MADDU(0x4f1eb000, 0x22e9e3b4, 0x07a3c000, 0x0aca5cae)
TEST_MADDU(0x57aea34c, 0x00000000, 0x00000000, 0x00000000)
TEST_MADDU(0x04dbdd80, 0x00000000, 0x00000000, 0x00000000)
TEST_MADDU(0x79d5a6b7, 0x00000000, 0x00000000, 0x00000000)
TEST_MADDU(0x9ad90f8c, 0x00000000, 0x00000000, 0x00000000)
TEST_MADDU(0x8237f918, 0x00000000, 0x00000000, 0x00000000)
TEST_MADDU(0xc5ecadb0, 0x00000000, 0x00000000, 0x00000000)
TEST_MADDU(0x00000000, 0xcec8f500, 0x00000000, 0x00000000)
TEST_MADDU(0x00000000, 0x0fed823c, 0x00000000, 0x00000000)
TEST_MADDU(0x00000000, 0x3ac7f7a0, 0x00000000, 0x00000000)
TEST_MADDU(0x00000000, 0x04e4cfaa, 0x00000000, 0x00000000)
TEST_MADDU(0x00000000, 0x00000000, 0x00000000, 0x00000000)
TEST_MADDU_HL(0x12471494, 0x379b6b90, 0x78df9403, 0x392aaef2, 0x7cd7f226, 0x785c1e32)
TEST_MADDU_HL(0x3ef010c5, 0x2f8f1eae, 0x18770af3, 0x4d255c49, 0x24284dab, 0xbf52d82f)
TEST_MADDU_HL(0x77e28abd, 0x4d0e7770, 0xabab929, 0x2c7b1271, 0x2ed0a336, 0x5d6ba021)
TEST_MADDU_HL(0x8e92fd5, 0x74b77414, 0x58f4a911, 0x361e7d54, 0x5d04b579, 0x4745bdf8)
TEST_MADDU_HL(0x1938de8f, 0x2fcdfcef, 0x3a17226c, 0x24c75b61, 0x3eccdebe, 0x2576e6e2)
TEST_MADDU_HL(0x5c91e035, 0x4091b48d, 0x2817d7b7, 0x3792ce3d, 0x3f70ffae, 0x3958f6e)
TEST_MADDU_HL(0x573f7e82, 0x4fed6eea, 0x404f0930, 0x20633813, 0x5b8c8ccf, 0x6522b6e7)
TEST_MADDU_HL(0x537ce400, 0x163644aa, 0x4541154f, 0x27e902a8, 0x4c7f83a3, 0xdd686aa8)
TEST_MADDU_HL(0x53eba1ab, 0xfb1d143, 0x53dcf5d6, 0x54f90b0, 0x59020ed3, 0x27327b71)
TEST_MADDU_HL(0x54ec98ab, 0x1f72de78, 0x2e8f1c0e, 0x645eaad0, 0x38fdddb4, 0x10d084f8)
TEST_MADDU_HL(0x64e7801c, 0x30a1c24e, 0x2e5d7df4, 0x50c6d1e3, 0x4188a827, 0x5001126b)
TEST_MADDU_HL(0x1734f792, 0x187d1fdd, 0x3a3cab8d, 0x332f3d34, 0x3c74fa83, 0x382da43e)
TEST_MADDU_HL(0x2202d172, 0x4f47beea, 0x18179d0b, 0x714d13a9, 0x22a003d2, 0xe3f121dd)
TEST_MADDU_HL(0x4409b00c, 0x3375bc8d, 0x4213d30, 0x1b11828, 0x11ce75cc, 0x71cbdec4)
TEST_MADDU_HL(0x7f1ebb87, 0x6cd177f7, 0x794fff0, 0x17c03916, 0x3d9dfab6, 0x14c9e957)
TEST_MADDU_HL(0x5312265f, 0x2fe293e5, 0x3df07825, 0x6d7699f0, 0x4d7a5334, 0x799979eb)
TEST_MADDU_HL(0x42858c2d, 0x398180c, 0x32656077, 0x5608d077, 0x335476a6, 0xbb279a93)
TEST_MADDU_HL(0x726303f8, 0x29897956, 0x6bc6808, 0x35d3f0c9, 0x194bb0df, 0x47af7e19)
TEST_MADDU_HL(0x67cae968, 0x626332ea, 0x54f99455, 0x10e95eb1, 0x7cdd79cb, 0xa53107c1)
TEST_MADDU_HL(0x362afffe, 0x63ead9ec, 0x3bf55225, 0x566922fc, 0x5119a48e, 0xf1376f24)
TEST_MADDU_HL(0x2f4cc800, 0x2f02ab39, 0xf927a1, 0x7c8f399f, 0x9a8be95, 0xde3fc19f)
TEST_MADDU_HL(0x5e2d7f32, 0x6d2e702d, 0x184ea6c4, 0x2c0f1141, 0x40791b5d, 0xc6b04d0b)
TEST_MADDU_HL(0x1af9ad13, 0x41addf35, 0x5b06075c, 0x49c6a4e0, 0x61f1be8d, 0x261206cf)
TEST_MADDU_HL(0x7d54070f, 0xdf9030e, 0x36c49e47, 0x84a51d8, 0x3d9bcadc, 0x7f8ee1aa)
TEST_MADDU_HL(0x6e969fa5, 0x64a25d41, 0x7a60238, 0x982d1f0, 0x331efc2e, 0x502a4bd5)
TEST_MADDU_HL(0x63c92e9f, 0x14f2fb1, 0x3da5c978, 0x1d55b849, 0x3e287053, 0xd0f2538)
TEST_MADDU_HL(0x22a7c873, 0x3e159587, 0x2d7da400, 0x27139ff7, 0x35e5328d, 0x60a8439c)
TEST_MADDU_HL(0x32cd765e, 0x6580bcf8, 0x4a0760aa, 0x38d100aa, 0x5e2bfc98, 0x97c8b3ba)
TEST_MADDU_HL(0x5a5eecdf, 0x26602a06, 0x5eb12341, 0x2081d6df, 0x6c3d2cd8, 0xbf37fa19)
TEST_MADDU_HL(0x722bd92f, 0x3dfedef1, 0x646bfda8, 0x2af105bc, 0x80121b57, 0x5c313cfb)
TEST_MADDU_HL(0x3c6d1d10, 0x4727c095, 0x11cf88b8, 0x6a7b283f, 0x229b2ddc, 0x4939128f)
TEST_MADDU_HL(0x222ee50b, 0x38a2c266, 0x2562ca8e, 0x52666c0, 0x2cf2c84a, 0x865dff22)
TEST_MADDU_HL(0x2d2b6408, 0x55061a6a, 0x673584df, 0x70bafdcb, 0x763600c3, 0x8d0b391b)
TEST_MADDU_HL(0x13c5f68c, 0x17477da3, 0x1099d39d, 0x20d1a05f, 0x1266225f, 0x5613f783)
TEST_MADDU_HL(0x7e14167e, 0x45cfb8e6, 0x60df292c, 0x227b24ed, 0x8340e089, 0xfe93ea21)
TEST_MADDU_HL(0x358434c3, 0x5211bc64, 0x54ae6a01, 0x528b95a9, 0x65d67811, 0x47e265d5)
TEST_MADDU_HL(0x6ccd0172, 0x426f80a6, 0x458b71a3, 0x38fd3c5, 0x61c7af93, 0x15a5c3b1)
TEST_MADDU_HL(0x43a8d72a, 0x6c91404e, 0x7cfe1c95, 0x25020099, 0x99afbafb, 0x8f080f65)
TEST_MADDU_HL(0x1bf9daeb, 0x7ee36dea, 0x70a573fd, 0x630aca9d, 0x7e83484d, 0x2003f46b)
TEST_MADDU_HL(0x832cc93, 0x56e53456, 0x1fd1a8f, 0x68ded0dd, 0x4c58266, 0xdcfc663f)
TEST_MADDU_HL(0x2034359f, 0x31b9e802, 0x68bedd10, 0x5023f5ab, 0x6f003e3e, 0x100b78e9)
TEST_MADDU_HL(0x7fc21ad1, 0x151115d, 0x4dbd9b8e, 0x4f1e03ff, 0x4e65d2bd, 0xe98aa2ec)
TEST_MADDU_HL(0x5e65cb18, 0x283a27db, 0x52cb975f, 0x6396cdec, 0x61a0f0dd, 0x6a0c3374)
TEST_MADDU_HL(0x583786cf, 0xf1f0084, 0x6b70eee5, 0x7895807e, 0x70a6deb2, 0x6948033a)
TEST_MADDU_HL(0x56b5fb8, 0x4e7ba185, 0x16eac59d, 0x6f9497d0, 0x18941ac9, 0xd4f80a68)
TEST_MADDU_HL(0x4961ee1e, 0x4a1eb631, 0x198eded6, 0x7b90e68b, 0x2ecdfb5e, 0xba1cce49)
TEST_MADDU_HL(0x5894328e, 0x75dd0b43, 0x2069cba8, 0x3bc64fb0, 0x49320298, 0x5351a4da)
TEST_MADDU_HL(0x728b8d15, 0x5c4ab78b, 0x1aac3796, 0x49073512, 0x43f7ccc0, 0x90b8d279)
TEST_MADDU_HL(0x28b6e197, 0x1e01ef43, 0x4ce12d8c, 0x42ed0346, 0x51a6eac0, 0x3afd06cb)
TEST_MADDU_HL(0x3874288c, 0x122db66d, 0x33212911, 0x206fc0e6, 0x37236890, 0xb7548c82)
TEST_MADDU_HL(0x120f8aec, 0x7b5abf8e, 0x3ee29ad6, 0x87cff8a, 0x4796798f, 0xe0ba2272)
TEST_MADDU_HL(0x4a08faac, 0x62df3d6, 0x25cc7244, 0x27c8aca4, 0x2795f23c, 0xa9777c6c)
TEST_MADDU_HL(0x4f74c4b, 0x3236eb26, 0x57a027d7, 0x1d9184a1, 0x58998577, 0x9b21b0c3)
TEST_MADDU_HL(0x1264d6cf, 0x72e85402, 0x4e08deac, 0x7917b95d, 0x564a77c0, 0x8df552fb)
TEST_MADDU_HL(0x7b700bb9, 0x43d37782, 0x6b86b521, 0x3263852c, 0x8c3aff2c, 0xb37781e)
TEST_MADDU_HL(0x7fc49c47, 0x6bf6e60d, 0x1d5654ce, 0x787ffdaa, 0x5338bbdf, 0x731db745)
TEST_MADDU_HL(0x727c1efd, 0x56629161, 0xec00a1d, 0x85e0f29, 0x3561d10d, 0x91cd1a06)
TEST_MADDU_HL(0x1791cb08, 0x348db590, 0x6cb7d333, 0x54bc9437, 0x718e7c75, 0x1eb370b7)
TEST_MADDU_HL(0x2a2de535, 0x7e449852, 0x48cfb6c6, 0x787ff654, 0x5d9d9ae0, 0x335ed94e)
TEST_MADDU_HL(0x5b703fe, 0x23b6562d, 0xf73cd15, 0x7e056a8d, 0x103fe4aa, 0x8b1c7233)
TEST_MADDU_HL(0x419372dd, 0x474636f0, 0x4b5b31f9, 0xe254444, 0x5d9d1338, 0x56099174)
TEST_MADDU_HL(0x55590837, 0x714f617a, 0x6526c9f5, 0x25290fe7, 0x8aed8d8e, 0x5dacd11d)
TEST_MADDU_HL(0x11d452d2, 0x5dc96306, 0x36f40328, 0x3dbd2330, 0x3d7c2bd9, 0x15a04a1c)
TEST_MADDU_HL(0x64bdfb59, 0x2526dc27, 0x63f80739, 0x4389e817, 0x7296c763, 0xcb1aea6)
TEST_MADDU_HL(0x73c7b598, 0x7d0e8612, 0xb1905b9, 0x19be878b, 0x43a81af2, 0xed26dc3b)
TEST_MADDU_HL(0x70106dc8, 0x15e9c436, 0x5bfc723e, 0x3d564b2e, 0x65942017, 0xc7e2935e)
TEST_MADDU_HL(0x2ffc1617, 0x1876039f, 0x64537768, 0x4f284c48, 0x68e9385a, 0x67964991)
TEST_MADDU_HL(0x2387e16c, 0x602ab641, 0x958a59e, 0x10704785, 0x16b187bd, 0x2beb4bf1)
TEST_MADDU_HL(0x1e8586bf, 0xa4d6eef, 0x2182206f, 0x40dc1c53, 0x22bc9316, 0x1cddfaa4)
TEST_MADDU_HL(0x44fc51b9, 0x63a1962e, 0x2bf716be, 0x15df8c65, 0x46d03580, 0x4371a1a3)
TEST_MADDU_HL(0x3fb7edba, 0x5fd69523, 0x248e8661, 0x14f87093, 0x3c693078, 0x97f73301)
TEST_MADDU_HL(0x703af3cb, 0x2101828c, 0x4fb13065, 0x31f67ec9, 0x5e297348, 0xa0cbe7cd)
TEST_MADDU_HL(0x755a3bd5, 0x2a76632b, 0x59f4d40a, 0x5412aa44, 0x6d6be6e8, 0x758c160b)
TEST_MADDU_HL(0x586ac1a0, 0x386489b0, 0x23f6825e, 0x494270c4, 0x377095fa, 0xd6c62ec4)
TEST_MADDU_HL(0x41a7f92f, 0x1c54ccd8, 0x6c70e33c, 0x45a42e24, 0x73b50224, 0x6d5be1cc)
TEST_MADDU_HL(0x2be97eb, 0x6ddd2844, 0x5db2156a, 0x3b0870e1, 0x5edf9b10, 0xf244834d)
TEST_MADDU_HL(0x7990b391, 0x42500c88, 0x68b7dfc, 0x7c9609c7, 0x2608cf73, 0x59303acf)
TEST_MADDU_HL(0x3146b2c6, 0x1bcc90f0, 0x6d05d919, 0x20f06d30, 0x725fae30, 0x6f8f66d0)
TEST_MADDU_HL(0x2ec0e51f, 0x4e8280d3, 0x1726e300, 0x50832916, 0x257d7e4b, 0x17cd81a3)
TEST_MADDU_HL(0x38868439, 0x3a55de43, 0x3b70c619, 0x23e9b82c, 0x485235cb, 0x66b4c117)
TEST_MADDU_HL(0xd433aa8, 0x52c57991, 0x1a8e335c, 0x2c91cedb, 0x1ed7f72e, 0x69a77003)
TEST_MADDU_HL(0x489a374a, 0x605fb3de, 0x6dda7d35, 0x37753a1d, 0x892f762e, 0x464fea49)
TEST_MADDU_HL(0x3f628b6c, 0x761bb04c, 0x708c911b, 0x28d7bc8c, 0x8dcad86a, 0x3657609c)
TEST_MADDU_HL(0x423497e5, 0x37447a5c, 0x18439c51, 0x2754cf4f, 0x268e9e90, 0x8e72879b)
TEST_MADDU_HL(0x41fca361, 0x125b6e14, 0x6bc59386, 0x7e80280f, 0x7080e831, 0x19eb99a3)
TEST_MADDU_HL(0x63ba79fa, 0x209f18a3, 0x4b5eaa2e, 0x561f08cf, 0x5813f3d8, 0x539022fd)
TEST_MADDU_HL(0x766e8ce0, 0x6aa4a286, 0x55ff1bd, 0x55506fe0, 0x36b5e214, 0x47d3ed20)
TEST_MADDU_HL(0x5f8a7973, 0x2eb8856, 0x287eafaa, 0x5c24d924, 0x2995ab9c, 0x67bfbdc6)
TEST_MADDU_HL(0x502b6eeb, 0xe96c1a4, 0x3f2dce4a, 0x657645ee, 0x43bf6472, 0x579a7f7a)
TEST_MADDU_HL(0x1dc9c803, 0x26fab530, 0x628ac580, 0x2e463b4b, 0x6713e553, 0x3373dadb)
TEST_MADDU_HL(0x5ea3b996, 0x443e2edb, 0x5de4209e, 0x33232e1b, 0x771e9ae3, 0x5edfe56d)
TEST_MADDU_HL(0x2e827fcb, 0x349e83c3, 0x643d3f7f, 0x2fb68e18, 0x6dcc8def, 0x7fccc6b9)
TEST_MADDU_HL(0x1700168f, 0x742fac6, 0x78b09b15, 0x2619824b, 0x7957a040, 0xc0109ae5)
TEST_MADDU_HL(0x32aba435, 0x2500245a, 0x3cfc8389, 0x593c2e07, 0x444f5976, 0xf5ab5ca9)
TEST_MADDU_HL(0x9582e69, 0x5af34557, 0xda02fc5, 0x87f0bee, 0x10f21151, 0xf1a41e9d)
TEST_MADDU_HL(0x416b8be0, 0x70358eb, 0x2a096b00, 0x2ab2b7f1, 0x2bd436ce, 0xf4211e91)
TEST_MADDU_HL(0xec4333c, 0x20190b40, 0xadd6d5e, 0x7ae04bb, 0xcb76594, 0xa7ca67bb)
TEST_MADDU_HL(0xe7ed76, 0x3b08e3f3, 0x327b073, 0xdd87b91, 0x35d2c3b, 0x2f3e8493)
TEST_MADDU_HL(0x7d5c8736, 0x3124c2ec, 0x569e03b3, 0x66c7adf2, 0x6eaeba0b, 0x70233fba)
TEST_MADDU_HL(0x3f7a2a21, 0x6857f494, 0x293edd6d, 0x1db19b2, 0x431e4db3, 0xddd9e8c6)
###detect exception
bne s2, zero, inst_error
nop
###score ++
addiu s3, s3, 1
###output (s0<<24)|s3
inst_error:
sll t1, s0, 24
or t0, t1, s3
sw t0, 0(s1)
jr ra
nop
END(n96_maddu_test)

View File

@ -0,0 +1,224 @@
#include <asm.h>
#include <regdef.h>
#include <inst_test.h>
LEAF(n97_msub_msubu_test)
.set noreorder
addiu s0, s0 ,1
li s2, 0x0
###test inst
TEST_MSUB_HL(0x653ad29b, 0x76d69606, 0x5b51b550, 0x52f1d93e, 0x2c53bdbd, 0xfc98179c)
TEST_MSUB_HL(0x3987c8e8, 0x66c6efd3, 0x59ceb551, 0x7a864962, 0x42b5e65a, 0x779b1a2a)
TEST_MSUB_HL(0x14f0afe7, 0x7926ed46, 0x568b2f1f, 0x3c78e0a9, 0x4ca23cd8, 0x6485ec7f)
TEST_MSUB_HL(0x4984d062, 0x5931b20e, 0x11606a6c, 0x7111bde6, 0xf7c2f86c, 0x1e28348a)
TEST_MSUB_HL(0x50f6207e, 0x6a5c6e62, 0x64672756, 0x5a596e84, 0x42c40285, 0xc0e2da48)
TEST_MSUB_HL(0xfda3c90, 0x76279850, 0x79cdf16c, 0x767db788, 0x727ce5d4, 0x54654a88)
TEST_MSUB_HL(0xdb09d5a, 0x2ac7bcf5, 0x7a9451f9, 0x78c8a150, 0x784aa9c3, 0x963df22e)
TEST_MSUB_HL(0x728e6edb, 0x76807fba, 0x3adace5c, 0x6ecab994, 0x5d3a6e4, 0x2acf8976)
TEST_MSUB_HL(0x99e9252, 0x148751eb, 0x4a3a802a, 0x67d355be, 0x49750708, 0xd5b91278)
TEST_MSUB_HL(0x6224e178, 0x5586312e, 0x303e4c81, 0x443dd148, 0xf749b7b, 0xb5a555b8)
TEST_MSUB_HL(0x7a6baf0e, 0x8e87ba3, 0x5a071dee, 0x2b3b571d, 0x55c493bf, 0x66df2733)
TEST_MSUB_HL(0xc256d9a, 0x5738e5a0, 0x2ce6e069, 0x47819e95, 0x28c37514, 0xe5625c55)
TEST_MSUB_HL(0x39cac749, 0x634a9310, 0x526e5452, 0x10d6e2dc, 0x3c041370, 0x2da1834c)
TEST_MSUB_HL(0x5d3389cf, 0x6a34e320, 0x589ca9d8, 0x3a5ab22f, 0x31f211a0, 0x2caaeb4f)
TEST_MSUB_HL(0x75c59150, 0x6214f602, 0x78496e33, 0x41923aa7, 0x4b2a27f6, 0x82243807)
TEST_MSUB_HL(0x56eddf, 0x66227f6d, 0x1ab8ec52, 0x5bdbac93, 0x1a963dd4, 0xa538c3a0)
TEST_MSUB_HL(0x50fb7a05, 0x5e615275, 0x6e464e5, 0x232e7fc7, 0xe90944b8, 0x8145217e)
TEST_MSUB_HL(0xf93166b, 0x5ba0258e, 0x42a9f4cf, 0x1822b6a6, 0x3d16eda0, 0x266ed04c)
TEST_MSUB_HL(0x4a179c16, 0xe04c7e1, 0x104509d, 0x517abd82, 0xfcf5a3dc, 0x340d742c)
TEST_MSUB_HL(0x4b7085c5, 0x3f6dac3a, 0x55d95ff7, 0x58d2b049, 0x43285d62, 0x379305a7)
TEST_MSUB_HL(0xaa0737d, 0xd1ccee, 0xd1821db, 0x26682a2b, 0xd0f6c5b, 0x20282ff5)
TEST_MSUB_HL(0x5e79fdc2, 0x585a72bc, 0x4519fc38, 0x233464ca, 0x247eabc2, 0x8869a652)
TEST_MSUB_HL(0x7a163fc0, 0x318dab3c, 0x10e7f9e9, 0x22abeda6, 0xf94627ca, 0xcc1fbca6)
TEST_MSUB_HL(0x38f77743, 0xa993245, 0x393419ea, 0x20eef786, 0x36d8582b, 0x8be5bc77)
TEST_MSUB_HL(0x40e3b1dc, 0x46c2107f, 0xea90ada, 0x5dcbe66e, 0xfcb9977d, 0x100ea4a)
TEST_MSUB_HL(0x2083372e, 0x540e61d0, 0x219bafdf, 0x1e220360, 0x16eece2a, 0xdf18c000)
TEST_MSUB_HL(0x10dc9660, 0x1a9ebbe2, 0x2029d751, 0x70394df6, 0x1e68fb86, 0xdc646d36)
TEST_MSUB_HL(0x3f2bab7a, 0x2189e5ca, 0xfdf7cdf, 0x1da7c42, 0x798d4b1, 0x9ab70bfe)
TEST_MSUB_HL(0x132b903, 0x31b31493, 0x333751c8, 0x7f6484af, 0x32fbc5ce, 0xe8b70bf6)
TEST_MSUB_HL(0x2ea407c2, 0x6039ca33, 0x431238b7, 0x76df3194, 0x318a2e72, 0x43e091ee)
TEST_MSUB_HL(0x266735f5, 0x15810e2f, 0x65a013b6, 0x193493d8, 0x62664026, 0x1dd945dd)
TEST_MSUB_HL(0x3ebf076b, 0x3df77bc6, 0x2bfbe446, 0x54ff7411, 0x1ccbb6db, 0x5d724e4f)
TEST_MSUB_HL(0x379f61f8, 0x3045bae1, 0x3ee8bffb, 0x787a637c, 0x346bb70c, 0xe05f1884)
TEST_MSUB_HL(0x13a6cc29, 0x724e1160, 0x794b93ed, 0x77b0d737, 0x70854edb, 0x8f178ed7)
TEST_MSUB_HL(0x517e6dc8, 0x3588e50f, 0x70295555, 0x5e03fbe5, 0x5f1e9485, 0xc527a52d)
TEST_MSUB_HL(0x35e24b2b, 0x4a799cce, 0x268a9b78, 0x227c4d9a, 0x16dd98c6, 0xeb429d00)
TEST_MSUB_HL(0x5d6e4b1, 0x5750659b, 0x60bac54f, 0x102f1dee, 0x5ebce81e, 0x2088d1c3)
TEST_MSUB_HL(0x5eb9b65a, 0x71be78da, 0x1289b0e1, 0x710205f1, 0xe8733cd6, 0xa8968d4d)
TEST_MSUB_HL(0x205ac6e5, 0x12b5fef9, 0x451989ec, 0x842c49d, 0x42bc2787, 0xc4b719e0)
TEST_MSUB_HL(0x6ac18ba0, 0x3b5abbbe, 0x57ccb937, 0x5f5cc852, 0x3f0c47b3, 0xcc794792)
TEST_MSUB_HL(0x3a36817e, 0x22597664, 0x2c8aac8c, 0x78ffa473, 0x24bb177a, 0xdb36fb3b)
TEST_MSUB_HL(0x94b1c2b, 0x3b3ea0bf, 0x12a7cd47, 0xf30dadb, 0x108137c2, 0x7321f6c6)
TEST_MSUB_HL(0x56875266, 0x175c77f2, 0x198804be, 0x2f1717b8, 0x11a29b2a, 0xb535c94c)
TEST_MSUB_HL(0x2702cb64, 0xbb5890e, 0x42108d7d, 0x2fadba9d, 0x4047c4e3, 0x74fa1725)
TEST_MSUB_HL(0x3874fcbf, 0x7d835901, 0x6efed5c6, 0x3fe383ec, 0x5350bede, 0xc2d3202d)
TEST_MSUB_HL(0x7eab14ba, 0x4ca58c1c, 0x17411ed4, 0x1b9f93a1, 0xf1546b15, 0x1db19749)
TEST_MSUB_HL(0x4fecfc46, 0x2da1f64, 0x38fdf5dc, 0x769d96ee, 0x381a0248, 0x2be29196)
TEST_MSUB_HL(0x5d5c942a, 0x58e756b6, 0x4929959e, 0x778d7b31, 0x28bd6486, 0xdc100955)
TEST_MSUB_HL(0xe7f0a4f, 0x5a105b19, 0x6ea8d02b, 0x447f4f13, 0x698f3972, 0x467d385c)
TEST_MSUB_HL(0x11a03f16, 0x257a6bcb, 0x2751e1a2, 0x6ed73676, 0x24bd4aba, 0x3beafe04)
TEST_MSUB_HL(0x55a90dfa, 0x4c02effd, 0x5f21c632, 0x3aa3e07b, 0x45b29a6c, 0x6a90aa69)
TEST_MSUB_HL(0x1acb778, 0x5ea82ac5, 0x6bd190d4, 0x2b77e448, 0x6b330bd6, 0x14b504f0)
TEST_MSUB_HL(0x4751f808, 0x648f4128, 0x559f2d46, 0x1c3d4f8d, 0x399b3f72, 0x7afc864d)
TEST_MSUB_HL(0x615bb121, 0x4fbf8adb, 0x14100a0d, 0x495197af, 0xf5bbe62c, 0x3bc64674)
TEST_MSUB_HL(0x1c1f4bba, 0x78351f3c, 0x403701a3, 0x77fe7efa, 0x3302803b, 0x38fb3962)
TEST_MSUB_HL(0x79bbf352, 0x75447a98, 0x71880850, 0x668b8ac6, 0x39c491e3, 0x7135fe16)
TEST_MSUB_HL(0x5acfbaf1, 0x3e4e5927, 0x799a678, 0x2994acad, 0xf17f8c46, 0xc88368f6)
TEST_MSUB_HL(0xbc49373, 0x486dc63, 0xf151e23, 0x812fba8, 0xedfd8ce, 0x9225222f)
TEST_MSUB_HL(0x65308927, 0x3ee9bbb, 0x3e373e5b, 0x4bcd1e4a, 0x3ca95c12, 0x70c51cd)
TEST_MSUB_HL(0x3f71a8a1, 0x42736c2, 0x6c599e03, 0xdaf4590, 0x6b521f7d, 0xcb74858e)
TEST_MSUB_HL(0x5289ee2f, 0x383464a7, 0x76df1e4a, 0x636ae025, 0x64c00db8, 0xda237c)
TEST_MSUB_HL(0x425f8b2d, 0x3a578387, 0x203f4da5, 0x42fec3ec, 0x111ef78a, 0xe0195831)
TEST_MSUB_HL(0x6faadcab, 0x6e45ca23, 0x33ec63a, 0x227836a3, 0xd324ea2f, 0x17e61d42)
TEST_MSUB_HL(0x6831ece9, 0x7b34c54c, 0x43852e7a, 0x75ffcf9b, 0x115fb735, 0x98a2d6f)
TEST_MSUB_HL(0x61ce863f, 0x366c2195, 0x648a151, 0x520cc94, 0xf17dc10a, 0x8c0a8ae9)
TEST_MSUB_HL(0x55e8b3f1, 0x7ea15962, 0x7357c60a, 0x2aaa6c8d, 0x48d91821, 0x9875c14b)
TEST_MSUB_HL(0x43f4295, 0x50bbf92e, 0x27756bcc, 0x1a733a06, 0x261e88a5, 0x9c7b5640)
TEST_MSUB_HL(0x1c960182, 0x26dc410c, 0x694482fb, 0xfb8544b, 0x64eda695, 0xa964033)
TEST_MSUB_HL(0x2b4971f0, 0x149db311, 0x59ddf03b, 0x218d37af, 0x56618902, 0x46d1d6bf)
TEST_MSUB_HL(0x3b0a871f, 0x349f63af, 0x5704d894, 0x7a60c78, 0x4ae1f29a, 0x60f1b147)
TEST_MSUB_HL(0x644bbdb6, 0x21622dea, 0x1fd20c13, 0x1b2375b3, 0x12bdd1a3, 0x7e30f57)
TEST_MSUB_HL(0x44a3b8d2, 0x65075d53, 0x5d4be302, 0x268c2fcc, 0x42355197, 0x8394f9b6)
TEST_MSUB_HL(0x15b56e80, 0x52d7302c, 0x2a512948, 0x205dc36f, 0x234acc6d, 0x92f6c56f)
TEST_MSUB_HL(0x3cfc3229, 0x6edcfb63, 0x134d198, 0x5456c5d6, 0xe6cbcf6c, 0xc0652cfb)
TEST_MSUB_HL(0x57c37528, 0x45594144, 0x1bd3706b, 0x60408149, 0x40d2883, 0xecae3aa9)
TEST_MSUB_HL(0x1e3ff749, 0x176f6a52, 0x67df7b55, 0x5a8e5abd, 0x651a91d1, 0x6605eb5b)
TEST_MSUB_HL(0x6fcfff73, 0x72c4e565, 0x1234ccab, 0x8f9f091, 0xe0142d79, 0x125c4932)
TEST_MSUB_HL(0x796fcd66, 0x6b2ac2e2, 0x6972c893, 0x7568ed6a, 0x369cc4f0, 0x32524d5e)
TEST_MSUB_HL(0x4624f99d, 0x5c99a05c, 0x74e0f718, 0x5893c0e5, 0x5b81955a, 0x6c72ec79)
TEST_MSUB_HL(0x20527488, 0x27d29c11, 0x40f554fa, 0x2556d4d7, 0x3bee2de1, 0x714a37cf)
TEST_MSUB_HL(0x40183803, 0x1b6730aa, 0x481e2f1e, 0x2134cb82, 0x4141cb48, 0x2c6a0984)
TEST_MSUB_HL(0x13a6f2d8, 0x72906018, 0x33826fda, 0x113fb8f4, 0x2ab7026c, 0xd507f4b4)
TEST_MSUB_HL(0x1bf51ef, 0x1fd42fa0, 0xd76f6b0, 0x6028135, 0xd3f5901, 0x3786ad5)
TEST_MSUB_HL(0x7bf4113b, 0x434441f8, 0x2dc09077, 0x2a65f8ce, 0xd2ea32f, 0x18e94ca6)
TEST_MSUB_HL(0x592614c8, 0x137fd912, 0x53371898, 0x2ef22783, 0x4c6cbf91, 0x7b6f2973)
TEST_MSUB_HL(0x53f095ba, 0x517883fa, 0x62fc7b4f, 0x38814c85, 0x4845d7e3, 0x19c0e6e1)
TEST_MSUB_HL(0x5e2bb3a9, 0x4dc7194c, 0x58f65813, 0x40aad98d, 0x3c59f5c2, 0x89c70261)
TEST_MSUB_HL(0x2205800a, 0x345e5465, 0x55b3823c, 0x1e0d918c, 0x4ebddafd, 0xd832c59a)
TEST_MSUB_HL(0x166854c3, 0x6fab94d9, 0x7546f3b0, 0x7616ed31, 0x6b80b237, 0xfb6557e6)
TEST_MSUB_HL(0x57f627a, 0x12505315, 0x5c2192a1, 0x5ccc386c, 0x5bbce41d, 0x424b966a)
TEST_MSUB_HL(0x24b0cae1, 0x379092cc, 0x15c677c0, 0x763f7c39, 0xdcfc3ad, 0xf0197eed)
TEST_MSUB_HL(0x5f5dff14, 0xd8d5906, 0x40982019, 0x125ed2bc, 0x3b8bb235, 0xa678e444)
TEST_MSUB_HL(0x5465f427, 0x46661c55, 0x48551eb2, 0x5d2c9294, 0x311f93f9, 0x3f143da1)
TEST_MSUB_HL(0x252f972e, 0x657c73a9, 0x7c50ca0, 0x5a086a41, 0xf9073221, 0xc6bf2e3)
TEST_MSUB_HL(0x2cdf19d4, 0x4bbc33c5, 0x3a0bfe68, 0x595c77b4, 0x2cc5a4ed, 0x4bd85b90)
TEST_MSUB_HL(0x38c447b3, 0x79221c10, 0x19202fa0, 0x7f70e60a, 0xfe43d972, 0x5a8ed6da)
TEST_MSUB_HL(0x66312aca, 0x219006e8, 0x2b5667ca, 0x3697403c, 0x1df092dc, 0x5767bd2c)
TEST_MSUB_HL(0x11c2e197, 0x1180b6e3, 0x3c8638aa, 0x1ac1d8a8, 0x3b4f598d, 0xfc1275c3)
TEST_MSUB_HL(0x5d5604b2, 0x71ca081f, 0x22110abe, 0x6b678ad1, 0xf89469d6, 0x27636943)
TEST_MSUB_HL(0x16ec7337, 0x13fa64bb, 0x6b43a44b, 0x25ea90c3, 0x6979abd0, 0x717aeb96)
TEST_MSUBU_HL(0x28b7857, 0x52f377bb, 0x52a991ac, 0x31edc0a, 0x51d6798c, 0x39b8837d)
TEST_MSUBU_HL(0x2585bac6, 0x2ae1664c, 0x5744da28, 0x34554896, 0x50fbdffc, 0x2430f1ce)
TEST_MSUBU_HL(0x2f502115, 0x58b32ea9, 0x293d200e, 0xbb23f14, 0x18d87708, 0x102ba237)
TEST_MSUBU_HL(0x30cd1df9, 0x530bb814, 0x2556f4f, 0x637a5774, 0xf280b2b0, 0x21360800)
TEST_MSUBU_HL(0x3ce24838, 0xb3e1428, 0x3953ce99, 0x339e4b63, 0x36a751e6, 0x1d0ea2a3)
TEST_MSUBU_HL(0x37e2e8ba, 0x698bdc10, 0x2a61e22b, 0x791c24c, 0x13574877, 0xe2655eac)
TEST_MSUBU_HL(0x43b0ca6f, 0x49f08ea, 0x67dfb494, 0x72b03402, 0x66a6e441, 0x95d2b28c)
TEST_MSUBU_HL(0x1481d106, 0x5ca3ce47, 0x5c87fa3, 0x6faa9c52, 0xfe5cb957, 0xaa4cfa8)
TEST_MSUBU_HL(0x694ff0f, 0x68c0e153, 0x3cf3217b, 0x4dccb382, 0x3a41a452, 0xd411d2a5)
TEST_MSUBU_HL(0x31296ac0, 0xad383b0, 0x52638767, 0x49a447fa, 0x504f4ace, 0xcf4aa3fa)
TEST_MSUBU_HL(0x2ede55a4, 0x13c5f6bf, 0xca12569, 0x49215ccc, 0x90266c9, 0x97bfdf70)
TEST_MSUBU_HL(0x4f7331f2, 0x56a0250b, 0x2877adeb, 0x785f1406, 0xd9547a5, 0xe4f3f4a0)
TEST_MSUBU_HL(0x5aad27f5, 0x155a6eaa, 0x12fc0f7c, 0x27850adb, 0xb6bd322, 0x643b3c29)
TEST_MSUBU_HL(0x101d8532, 0x67aa7390, 0x65a5462d, 0x17503521, 0x5f1eaab5, 0x32abd301)
TEST_MSUBU_HL(0x4b7389ca, 0x78a8d914, 0x27d25cd6, 0x20c36e74, 0x4427072, 0x2f6070ac)
TEST_MSUBU_HL(0x47975c65, 0x5ca693b1, 0xc7a7f91, 0x7ed53914, 0xf29184e9, 0xdfa2583f)
TEST_MSUBU_HL(0x494ac7c6, 0x41f22d66, 0x63d80c75, 0x25b43642, 0x50f6ba0b, 0xad9ecf5e)
TEST_MSUBU_HL(0x2662a7e8, 0x30737970, 0x6c876ff3, 0x6f134511, 0x65439ff1, 0x15552791)
TEST_MSUBU_HL(0x73bbea04, 0x4a30ae51, 0x7420108b, 0x7898d2f6, 0x5295bcdc, 0x18550fb2)
TEST_MSUBU_HL(0x4d165b1c, 0x78b35570, 0x34597457, 0x525f6854, 0x1000f946, 0x57c34014)
TEST_MSUBU_HL(0x553f8cfc, 0x715342e4, 0x6690c118, 0x73b6df54, 0x40d3f9fc, 0x331056e4)
TEST_MSUBU_HL(0x5fb68b1, 0x165e92e9, 0xa1c8809, 0x50fb43de, 0x996b74a, 0xd67608c5)
TEST_MSUBU_HL(0x1d1d543a, 0x190811e5, 0x66efe18, 0x37534535, 0x39635ea, 0xedaf1353)
TEST_MSUBU_HL(0x4612e9db, 0x5817bf5e, 0x417bb9d8, 0x674a2ab1, 0x295eb960, 0x4530e747)
TEST_MSUBU_HL(0x53e4b754, 0x1d2df28e, 0x3d57f031, 0x6e85dafd, 0x33c7f8bb, 0xf296c265)
TEST_MSUBU_HL(0x1aeb4bef, 0x21b688e6, 0x4f043d51, 0x6ecd9fcb, 0x4b78b6da, 0x74266f11)
TEST_MSUBU_HL(0x749da6f6, 0x1aff9b1d, 0x6142dc5e, 0x11e93b20, 0x54f669b7, 0x1cec5f42)
TEST_MSUBU_HL(0x55e1fc1e, 0x29d20b07, 0x56a77b52, 0x1b84f268, 0x489fd2dd, 0x6de5c396)
TEST_MSUBU_HL(0x262c9b3b, 0x37976ba7, 0x7fa8b2a8, 0x501a70f7, 0x775e88f1, 0x8752847a)
TEST_MSUBU_HL(0x63bb0f2b, 0x1ee7247d, 0x45a835ab, 0xe2d54b7, 0x399e3de2, 0x53e7e0b8)
TEST_MSUBU_HL(0x16d1fd8a, 0x42369890, 0x204a8799, 0x1b3337f7, 0x1a638656, 0x876eaa57)
TEST_MSUBU_HL(0x479e1972, 0x2478d13c, 0x2c20b4b8, 0xe94fcc1, 0x21ecac7f, 0x3d50f409)
TEST_MSUBU_HL(0x4dbc15e, 0x6d6785ab, 0x43627f55, 0x4efd668a, 0x414ef70c, 0x11eb66c0)
TEST_MSUBU_HL(0x40bbea98, 0x558ff351, 0x49eaeb6, 0x51bbc6ca, 0xeefbe352, 0xf3b044b2)
TEST_MSUBU_HL(0x6093c95e, 0xfb26b7b, 0x61b878bc, 0xb91bae6, 0x5bcc80a1, 0x5a09b0bc)
TEST_MSUBU_HL(0x5b84b5bf, 0x6d83a2ab, 0x56ec9216, 0x1689f468, 0x2fc601a3, 0xa624afd3)
TEST_MSUBU_HL(0x77f277b2, 0x2001e76e, 0x420ee536, 0x7053591c, 0x330fb1de, 0x64704ca0)
TEST_MSUBU_HL(0x5be01c4d, 0x35e94d15, 0x78d2e147, 0x4fb8ea0f, 0x6579c0c7, 0xaabe6ebe)
TEST_MSUBU_HL(0x40ade265, 0x3450bcea, 0x638442d8, 0x4bf8dac7, 0x564c8aca, 0x3735be75)
TEST_MSUBU_HL(0x7e7612ae, 0x4bbd6867, 0x9708fe9, 0x53b6f351, 0xe40667b1, 0xb628bf4f)
TEST_MSUBU_HL(0x535f3e12, 0x24fd0e6f, 0x46db5761, 0x70d01442, 0x3acf88d3, 0x35552e74)
TEST_MSUBU_HL(0x5073607b, 0x29f332db, 0x44b26968, 0x59818ebe, 0x37838174, 0xb634ff85)
TEST_MSUBU_HL(0x1cfe5f95, 0x5600ecd8, 0x1d0fc957, 0x29a84554, 0x13523a68, 0x24ea439c)
TEST_MSUBU_HL(0x49550a0, 0x7585ca4d, 0x5fc49005, 0x21ba4f9b, 0x5da9ecf9, 0xec12cf7b)
TEST_MSUBU_HL(0x42ecbb32, 0x35246354, 0x1c20f365, 0x709d95c9, 0xe3c6d62, 0x4183d361)
TEST_MSUBU_HL(0x7419d2df, 0x6a2867a0, 0x54e2c189, 0x37282dcc, 0x24bdbd30, 0xfa54a96c)
TEST_MSUBU_HL(0x42be9054, 0x2fe65d14, 0x4ff1ccd2, 0x285b7d63, 0x4374c0d8, 0x9f91b2d3)
TEST_MSUBU_HL(0x69ec6de, 0x5aebb8ea, 0x187743c5, 0x5c5cc5e4, 0x161d5952, 0x96816ef8)
TEST_MSUBU_HL(0x55714c25, 0x164da192, 0x7dc3daf, 0x62bf12fe, 0x6a9823, 0x521d60e4)
TEST_MSUBU_HL(0x3b4d004, 0x7f965c65, 0x5b757356, 0x3929ae0f, 0x599c92db, 0xe9ba2c7b)
TEST_MSUBU_HL(0x73b69969, 0x3f674145, 0x1fe59b, 0x363c3f50, 0xe37749e2, 0x18d23d03)
TEST_MSUBU_HL(0x6952f8be, 0x64c6a94c, 0x1f4b8c08, 0x4492c689, 0xf5d5670a, 0x9ec78021)
TEST_MSUBU_HL(0x7c1736a7, 0x7ea12910, 0x69aa106d, 0xd853ec4, 0x2c488506, 0x34a1554)
TEST_MSUBU_HL(0x336780bb, 0x4a5100f3, 0x6af27e2f, 0x758a1f38, 0x5c064f08, 0xe11fedb7)
TEST_MSUBU_HL(0x8f55942, 0x72e552ac, 0x323e6d31, 0x7ecb9d70, 0x2e392514, 0xa7528118)
TEST_MSUBU_HL(0x4e976289, 0x7764454c, 0x20a328f9, 0x252093f6, 0xfbfc01c2, 0xd61c664a)
TEST_MSUBU_HL(0x55f2c459, 0xc618770, 0x76103e7d, 0x2ec2236a, 0x71e81ed3, 0xfd484d7a)
TEST_MSUBU_HL(0x51f1896, 0x1d3493fe, 0x6a663, 0x93c35ec, 0xff711353, 0x1ccbaf18)
TEST_MSUBU_HL(0x7385e4e, 0x1584473d, 0x6e2aea62, 0x7ca832eb, 0x6d8f8f93, 0x1bda1855)
TEST_MSUBU_HL(0x4ebc2913, 0x794f5344, 0x38a5ac13, 0x2cc2d6ab, 0x135656fc, 0x9999c49f)
TEST_MSUBU_HL(0x7430b8f3, 0x1a0cc11d, 0x2c2e31cb, 0x61c8824d, 0x205b7514, 0x23705bc6)
TEST_MSUBU_HL(0x3c8dbcc5, 0x2006f3e9, 0x656989df, 0x4781742a, 0x5dd62d42, 0x93b3a5dd)
TEST_MSUBU_HL(0x9cc1464, 0x6d7ec0d7, 0x5a005521, 0x158c64bc, 0x55cf969f, 0x2ea444c0)
TEST_MSUBU_HL(0x26719f24, 0x275e4d4b, 0x37c91d3e, 0x4d8faf3b, 0x31dfa4ab, 0xf2303baf)
TEST_MSUBU_HL(0x4062b346, 0x47d4d9ad, 0x4d77e855, 0x1af6e384, 0x3b670021, 0xe556736)
TEST_MSUBU_HL(0x297c10d3, 0x6d7280b1, 0x21521197, 0x2d43583a, 0xf95b053, 0x211c3657)
TEST_MSUBU_HL(0x7699f96c, 0x39da7124, 0x6a039deb, 0x6d31c72a, 0x4f3621d9, 0x567a07fa)
TEST_MSUBU_HL(0x3f9a4c4c, 0x5866787c, 0x4c4b54ab, 0x5600349d, 0x3654d507, 0xad379fcd)
TEST_MSUBU_HL(0x1f7d63a5, 0x3ce50e0d, 0x256d3bdd, 0x1032f3d0, 0x1defab9d, 0xccc8de6f)
TEST_MSUBU_HL(0x437fdd49, 0x16596290, 0x6beb0007, 0x4ae3de52, 0x66067192, 0x2be07342)
TEST_MSUBU_HL(0x7c720e04, 0x61240393, 0x195157f1, 0x355f997b, 0xea189eda, 0xed27812f)
TEST_MSUBU_HL(0x2f907235, 0xcbb380d, 0x2ae26f1f, 0x6979c49f, 0x2884e0d7, 0x7d715fee)
TEST_MSUBU_HL(0x73551bdc, 0x6286df46, 0xfe501e0, 0x78c1e65a, 0xe381aa12, 0xff0fa432)
TEST_MSUBU_HL(0x3a9535c8, 0x446b3c37, 0x4a48c3f9, 0x67dd08cb, 0x3aa0978b, 0x3e9b9ad3)
TEST_MSUBU_HL(0x26bc9209, 0x527ada3d, 0x4fcd71cc, 0x51966f4b, 0x43527422, 0x801f926)
TEST_MSUBU_HL(0x2150d558, 0x1b72c5fe, 0x346614bc, 0x69a059f4, 0x30d39e78, 0xde0ff4a4)
TEST_MSUBU_HL(0x6790345d, 0x5ec02e34, 0x56dc9ef9, 0x1456f285, 0x3087ece6, 0xb5e399a1)
TEST_MSUBU_HL(0x15c8f2cb, 0x61d121ea, 0x3cc9159a, 0x60691d20, 0x347625aa, 0x6cb40492)
TEST_MSUBU_HL(0x11993bc2, 0x3a717e85, 0x1f3a8844, 0x647aebb2, 0x1b360364, 0x7fd363e8)
TEST_MSUBU_HL(0x78c45017, 0x1a0af228, 0x76a21125, 0x31a6c3cb, 0x6a58f71b, 0x485e8233)
TEST_MSUBU_HL(0x1ecafa6c, 0x26e76f1f, 0x3410cc4d, 0xfe1ba4f, 0x2f62d49b, 0x5344933b)
TEST_MSUBU_HL(0x35cc774f, 0x102bec26, 0x75731285, 0x55494f0e, 0x720d1017, 0xe0adc554)
TEST_MSUBU_HL(0x3230f978, 0x3fe1f00b, 0x6da0e757, 0x3086b7c3, 0x611a8dd7, 0x54137f9b)
TEST_MSUBU_HL(0x6e01f0ae, 0x773bd5fa, 0x59dfb011, 0x188c696, 0x26a312ca, 0x9c48f6aa)
TEST_MSUBU_HL(0x4db41462, 0x4bc9366b, 0x6306e7a8, 0x4eb9d15c, 0x4c0612c7, 0x2136a066)
TEST_MSUBU_HL(0x5cd408ae, 0x381f90dd, 0x4f302965, 0x1c39c078, 0x3ad6554a, 0x973a6242)
TEST_MSUBU_HL(0x7194c55c, 0xb2ed2c9, 0x58e54d25, 0x4a8d4791, 0x53ef2269, 0xa850da55)
TEST_MSUBU_HL(0x79d19214, 0x84592de, 0xa676d04, 0x67280834, 0x677c514, 0x3eb7f2dc)
TEST_MSUBU_HL(0x35c600bb, 0x3d573d2e, 0x10d8e87a, 0x7f5e9f4b, 0x3f66729, 0xd910eeb1)
TEST_MSUBU_HL(0x249a587b, 0x1c52cda4, 0x7968c7d2, 0x28afbc02, 0x755c0f4d, 0x518e8e36)
TEST_MSUBU_HL(0x1a38374e, 0xefe4e16, 0x59ed4ef4, 0x65543e2c, 0x58643027, 0xe041b978)
TEST_MSUBU_HL(0x460828b2, 0x77ceb952, 0x15c7390b, 0x28d5a1b1, 0xf500e0dd, 0x5793f6ad)
TEST_MSUBU_HL(0x5638bd34, 0x24d867aa, 0x31e09091, 0x3e6aa728, 0x2577b32c, 0x34bd16a0)
TEST_MSUBU_HL(0x4e516f14, 0x66c33dba, 0x776c5e78, 0x220929b, 0x57fc314c, 0x1f421a13)
TEST_MSUBU_HL(0x1420f940, 0x712adc6a, 0x43379665, 0x24db3d8a, 0x3a51a9a2, 0x5481090a)
TEST_MSUBU_HL(0x22797603, 0x973885e, 0x31850e8d, 0x53b1d5b9, 0x303f3a7a, 0x60de89f)
TEST_MSUBU_HL(0xa237683, 0x6372fab7, 0x2b091b40, 0x7855f2c0, 0x2718d6b3, 0x27ea4d1b)
TEST_MSUBU_HL(0x7a291e75, 0x4e1fc41d, 0x70ab7a86, 0x47dc370e, 0x4b63caae, 0x9fb72fcd)
TEST_MSUBU_HL(0x7aa5c79a, 0x1346b2e1, 0xedb6e19, 0x28a20641, 0x59f4141, 0x160883e7)
TEST_MSUBU_HL(0x1c16b855, 0x52caf402, 0x4cad5304, 0x2c147c4d, 0x4397c745, 0x9f2407a3)
###detect exception
bne s2, zero, inst_error
nop
###score ++
addiu s3, s3, 1
###output (s0<<24)|s3
inst_error:
sll t1, s0, 24
or t0, t1, s3
sw t0, 0(s1)
jr ra
nop
END(n97_msub_msubu_test)

View File

@ -2,7 +2,7 @@
#include <regdef.h>
#include <cpu_cde.h>
#define TEST_NUM 94
#define TEST_NUM 97
##s0, number
@ -671,6 +671,18 @@ kseg0_kseg1:
nop
jal wait_1s
nop
jal n95_madd_test
nop
jal wait_1s
nop
jal n96_maddu_test
nop
jal wait_1s
nop
jal n97_msub_msubu_test
nop
jal wait_1s
nop
###check io access
LI (a0, IO_SIMU_ADDR)