MIPS/resources/2021/soft/func/inst/n47_multu.S
2021-06-18 15:43:51 +08:00

165 lines
9.1 KiB
ArmAsm

#include <asm.h>
#include <regdef.h>
#include <inst_test.h>
LEAF(n47_multu_test)
.set noreorder
addiu s0, s0 ,1
li s2, 0x0
###test inst
TEST_MULTU(0x99c9a500, 0x6c1a1b60, 0xb204e000, 0x40f0c088)
TEST_MULTU(0xee026dc0, 0xd85e0aec, 0xcf06ad00, 0xc9297ba5)
TEST_MULTU(0xa49b33d4, 0x894d6a78, 0x76fa1360, 0x5848d5e0)
TEST_MULTU(0xd16d0152, 0xbcd4f694, 0x22318f68, 0x9a7a44f5)
TEST_MULTU(0x9880cf50, 0xd7e33d18, 0x01697f80, 0x809b8cb9)
TEST_MULTU(0x686decfc, 0x2bb09c9f, 0x19efc084, 0x11d28245)
TEST_MULTU(0x290ca739, 0xc1cc4ec0, 0xdedcc8c0, 0x1f134cc7)
TEST_MULTU(0x1d1eb998, 0xd5b8328e, 0x048aa250, 0x184f8441)
TEST_MULTU(0x79b7d394, 0x0ba99ece, 0x6f359918, 0x058b8bf3)
TEST_MULTU(0x0d7f9488, 0x3647ab9c, 0x53ad5ae0, 0x02dcb0c3)
TEST_MULTU(0x3196de58, 0x4c28d54e, 0x80b6f6d0, 0x0ec0b2e6)
TEST_MULTU(0x473a0e0a, 0xe0925338, 0x28f45030, 0x3e7b828c)
TEST_MULTU(0x3721c560, 0xe7f35d08, 0xf7e20b00, 0x31f3e230)
TEST_MULTU(0x536cd050, 0x675dc658, 0xb3957b80, 0x21af56fa)
TEST_MULTU(0x2310a2f4, 0x07cd8030, 0x0dfc8dc0, 0x01119a56)
TEST_MULTU(0xc2fd5307, 0x034a3375, 0xaa575733, 0x02817c64)
TEST_MULTU(0x79fba360, 0xcc308ea8, 0xc3c27700, 0x614ba958)
TEST_MULTU(0x3f1c7b7a, 0x89f4a9ff, 0xa52a8886, 0x22028f22)
TEST_MULTU(0x6451cbd8, 0x85dc2080, 0xc800ec00, 0x3474c1ee)
TEST_MULTU(0x8885fb40, 0x65a9fc18, 0xcd228e00, 0x36378303)
TEST_MULTU(0x71f5e890, 0x1c7fba40, 0x47e2c400, 0x0cafc157)
TEST_MULTU(0x527b08db, 0xc4c2d838, 0x3c58b7e8, 0x3f64f9ae)
TEST_MULTU(0xd2d00316, 0x5ce48028, 0x99a37b70, 0x4c7eebe7)
TEST_MULTU(0xa47ba800, 0x83d06930, 0x0f178000, 0x54b12f06)
TEST_MULTU(0xcb3eee22, 0x59a7fa20, 0x0698f840, 0x472e3d6c)
TEST_MULTU(0x4092ce98, 0xef2cbae3, 0x5667a0c8, 0x3c54573f)
TEST_MULTU(0x76a3d520, 0x0219a7f1, 0xa0638320, 0x00f92b7e)
TEST_MULTU(0x4dba87a0, 0xabfd53c0, 0xaefe9800, 0x3438835d)
TEST_MULTU(0xb21ddb80, 0x86c4337c, 0x4730d200, 0x5dc42393)
TEST_MULTU(0x24bf43c2, 0x5ebb156c, 0xebf57fd8, 0x0d9915aa)
TEST_MULTU(0x88933830, 0x9b18625e, 0xd61101a0, 0x52be254c)
TEST_MULTU(0x3bd6f96c, 0x1c413041, 0xa4c5946c, 0x069ac024)
TEST_MULTU(0x0b093c0a, 0xf967e2ce, 0xea75240c, 0x0ac075e3)
TEST_MULTU(0xf0e46398, 0x95dbf923, 0xbf2075c8, 0x8d03ebc7)
TEST_MULTU(0x109f0e5c, 0xc6bd4b78, 0x25afaf20, 0x0ce74f6f)
TEST_MULTU(0x23a1f870, 0x88a80670, 0xec2f5100, 0x13056f2b)
TEST_MULTU(0x383bf8e0, 0x78e11c9e, 0x011c1a40, 0x1a8d8fa8)
TEST_MULTU(0x7a249e47, 0xde35e25c, 0x8f968f84, 0x6a0576d6)
TEST_MULTU(0x9bbd1a87, 0x87bced28, 0x133f2018, 0x5293a823)
TEST_MULTU(0x58b0b4c2, 0x4b2eaf04, 0x7f2f7108, 0x1a0bf157)
TEST_MULTU(0xabb5baa8, 0xe59a0d6c, 0x3c3546e0, 0x9a00e44b)
TEST_MULTU(0xef331cb8, 0xb5a98f8c, 0x6a767ca0, 0xa9bd922c)
TEST_MULTU(0xfbd21f10, 0xe381c1fc, 0x2351a3c0, 0xdfcaf53e)
TEST_MULTU(0x0e437d14, 0xf76494cd, 0x982ab904, 0x0dc8b855)
TEST_MULTU(0x36f97280, 0xd2dc44ac, 0x9802ee00, 0x2d47ed0a)
TEST_MULTU(0xc0196848, 0x23e672e2, 0x6f8e1f90, 0x1af0664a)
TEST_MULTU(0xad0af755, 0x46ab8a3c, 0xebacc9ec, 0x2fc4f364)
TEST_MULTU(0x78c438e8, 0xb59296e0, 0x2159bb00, 0x55a7e351)
TEST_MULTU(0x95417ec8, 0xcdef10ec, 0x35056060, 0x7810d489)
TEST_MULTU(0xabd42ba4, 0x9f4dfd40, 0xa07ffd00, 0x6aed1fe7)
TEST_MULTU(0x9c767890, 0x13f10784, 0x19f21a40, 0x0c301b12)
TEST_MULTU(0x337174a4, 0x53b2a442, 0x38012248, 0x10d1aeb6)
TEST_MULTU(0x8bbc4c00, 0x4f9ed450, 0x81c7c000, 0x2b75cd8e)
TEST_MULTU(0x98e39c2e, 0xdb32e0b0, 0x201f9fa0, 0x82e91940)
TEST_MULTU(0x6b08ed68, 0x1ec93800, 0x8a96c000, 0x0cdf2d3e)
TEST_MULTU(0xdedaacc4, 0x652203d0, 0xe7baab40, 0x5809e285)
TEST_MULTU(0xa7151a96, 0x4efab6b6, 0x74638aa4, 0x338c0ff5)
TEST_MULTU(0xb11df5a0, 0x7312ec50, 0x1d0c4200, 0x4f9d8cf1)
TEST_MULTU(0x800e4cb0, 0x39de6540, 0x58749c00, 0x1cf26e1f)
TEST_MULTU(0x6ba01e66, 0x6141f7c8, 0xf05229b0, 0x28e36757)
TEST_MULTU(0x05c01d30, 0x51b5330e, 0x694228a0, 0x01d5db36)
TEST_MULTU(0x7b685660, 0x557152ba, 0x15d981c0, 0x2930459d)
TEST_MULTU(0x4396b2d6, 0x7d40f2c4, 0x67ef37d8, 0x2111bb17)
TEST_MULTU(0xa33d54b2, 0x1ff7f310, 0xb0f84120, 0x1462886b)
TEST_MULTU(0x827d4976, 0x46c7d260, 0x13f85840, 0x24141cb6)
TEST_MULTU(0xb2c46680, 0x2106dc9b, 0xec000f80, 0x17101bdd)
TEST_MULTU(0x61e8744c, 0xf0485710, 0x136d18c0, 0x5be597b4)
TEST_MULTU(0x510523c0, 0xc4eef4ec, 0xd34ff500, 0x3e538fa9)
TEST_MULTU(0x6cab5300, 0x24d47fd0, 0x05607000, 0x0fa24bce)
TEST_MULTU(0x113f38b0, 0x960f0fb8, 0x8c130e80, 0x0a1c0efa)
TEST_MULTU(0xa4cd966c, 0x8946015e, 0x3e9ba7a8, 0x585f1698)
TEST_MULTU(0x997ab490, 0x8318fc14, 0x64d3db40, 0x4e98c507)
TEST_MULTU(0x3bf04cfc, 0x4303bb23, 0x950a9a74, 0x0fb0c3c7)
TEST_MULTU(0xf58f5fa3, 0x6095f500, 0x0065ff00, 0x5ca59b52)
TEST_MULTU(0xabaa4e80, 0x370ea7f2, 0x2b33b500, 0x24eb6acc)
TEST_MULTU(0x3a8cff75, 0xc7c89600, 0x24168e00, 0x2db17b0a)
TEST_MULTU(0x6952957c, 0x9f95ba00, 0x05c81800, 0x41a7e46f)
TEST_MULTU(0xf003fcc0, 0x6bf9ab92, 0xa2da6580, 0x653bbf60)
TEST_MULTU(0x948df508, 0x9aa84872, 0xb1615d90, 0x59bf0c99)
TEST_MULTU(0xe14aa0c0, 0xf0d16230, 0x0c47a400, 0xd3ee3b0a)
TEST_MULTU(0xb1d8a680, 0x99f2fdf0, 0xbca89800, 0x6af34ab9)
TEST_MULTU(0x06d53ad0, 0x6289382a, 0xdd292620, 0x02a14a1f)
TEST_MULTU(0xb406d184, 0xce15399c, 0xa0a21070, 0x90ec69aa)
TEST_MULTU(0xff4c6260, 0xf71b2a00, 0x8843c000, 0xf66dc9db)
TEST_MULTU(0x02f13cac, 0xea42d2c0, 0xf50a9900, 0x02b14612)
TEST_MULTU(0x7fb89370, 0x6495a978, 0x480a0c80, 0x322ec492)
TEST_MULTU(0xdb044c80, 0x5bb448cc, 0x06f0f600, 0x4e74c47f)
TEST_MULTU(0xa90dec6c, 0xf03cd014, 0x2e7e3870, 0x9ea53651)
TEST_MULTU(0x72b3e604, 0x3ccf167e, 0xd78b8df8, 0x1b3ef373)
TEST_MULTU(0xf181714c, 0xe0304af4, 0x585ff470, 0xd37ed21d)
TEST_MULTU(0x7a1bddc0, 0x5b74305c, 0xd697b100, 0x2b9f5384)
TEST_MULTU(0x53901b70, 0x582d6690, 0xbeae0f00, 0x1cc85b3d)
TEST_MULTU(0x1abfafc4, 0x4c4d5a00, 0x71bee800, 0x07f8fd3d)
TEST_MULTU(0xc401c3d9, 0x644283da, 0x12aad1ca, 0x4cc39de9)
TEST_MULTU(0xc3d92a7c, 0x10f8e302, 0x007e48f8, 0x0cfbfab4)
TEST_MULTU(0x58474c02, 0x9f6992fe, 0xaae88dfc, 0x36f8b023)
TEST_MULTU(0xbb0f6845, 0x164774b0, 0x6ef9f370, 0x1047897f)
TEST_MULTU(0x3a0547ba, 0x97b4583e, 0x02b74f0c, 0x2261fd05)
TEST_MULTU(0xc418111b, 0xf49130d0, 0x430df5f0, 0xbb562753)
TEST_MULTU(0x696fdee5, 0x716028d0, 0xd098e210, 0x2eb1fc25)
TEST_MULTU(0x6b09a660, 0xe6f17192, 0x2e5142c0, 0x608f9f0c)
TEST_MULTU(0xe52e58ea, 0xc1a21800, 0x0669f000, 0xad590dd9)
TEST_MULTU(0x1060c3f6, 0x0eede718, 0xb8a35910, 0x00f48315)
TEST_MULTU(0xdf061f84, 0xd9f51b0d, 0x05f685b4, 0xbde1b924)
TEST_MULTU(0x2ef301f4, 0x5f1a8bd0, 0xd6491240, 0x11710c0b)
TEST_MULTU(0x46c24000, 0x73818980, 0x95600000, 0x1fed10a3)
TEST_MULTU(0x257e27d0, 0x1dcebf84, 0x0e20b740, 0x045d9213)
TEST_MULTU(0xa94202b9, 0x78c54868, 0x23f22328, 0x4fd960f2)
TEST_MULTU(0x2981ba00, 0xfa88781d, 0x52e21200, 0x289ed008)
TEST_MULTU(0x3ee64b08, 0x5534a83a, 0x470a3fd0, 0x14ef6706)
TEST_MULTU(0x9178bce0, 0x6bd37980, 0x1a445000, 0x3d45a280)
TEST_MULTU(0x0bcfbae8, 0xe12afb00, 0x3e517800, 0x0a638eef)
TEST_MULTU(0xeea80fda, 0x99dd6bd0, 0x205eff20, 0x8f70dd11)
TEST_MULTU(0xcd7ccc40, 0x79ffffca, 0x27acea80, 0x61ed792b)
TEST_MULTU(0xf0d9a3fc, 0xbd1da000, 0xa6098000, 0xb1ec8d40)
TEST_MULTU(0x575f3e98, 0x71669498, 0xf94d0a40, 0x26b40d4a)
TEST_MULTU(0x1cc38b14, 0x5973913a, 0xb40fd688, 0x0a0cf782)
TEST_MULTU(0x89c6f81f, 0xa2802db0, 0x5fe80850, 0x5774e516)
TEST_MULTU(0x455a3838, 0x847ad600, 0x15aed000, 0x23e3cbf5)
TEST_MULTU(0x3dfb93e4, 0x4f109ba8, 0x99e419a0, 0x1324a80c)
TEST_MULTU(0x7a51a910, 0x2038e3d6, 0xa4ac8360, 0x0f6563db)
TEST_MULTU(0xa0042132, 0x78d9f754, 0x10c42268, 0x4b8a2da8)
TEST_MULTU(0x194f7a4e, 0xc9fad040, 0x9569f380, 0x13f8333b)
TEST_MULTU(0x28e55f80, 0xa3d2a69c, 0x7eb33200, 0x1a2bb294)
TEST_MULTU(0xbcc4d7a8, 0x923c7e90, 0x6c3dfe80, 0x6bd4de73)
TEST_MULTU(0x9f32e060, 0x3178e100, 0x44346000, 0x1ec3e8b7)
TEST_MULTU(0xe9b87330, 0x372b4f78, 0x2311ce80, 0x325e2b48)
TEST_MULTU(0x10483e78, 0xefa70d6a, 0x315df5b0, 0x0f3e124d)
TEST_MULTU(0x6285d9a4, 0x48238818, 0x39978760, 0x1bc351e3)
TEST_MULTU(0x8ee83024, 0x2a47e0d0, 0x88c29d40, 0x179a37ca)
TEST_MULTU(0x4f1eb000, 0x22e9e3b4, 0x07a3c000, 0x0aca5cae)
TEST_MULTU(0x57aea34c, 0x00000000, 0x00000000, 0x00000000)
TEST_MULTU(0x04dbdd80, 0x00000000, 0x00000000, 0x00000000)
TEST_MULTU(0x79d5a6b7, 0x00000000, 0x00000000, 0x00000000)
TEST_MULTU(0x9ad90f8c, 0x00000000, 0x00000000, 0x00000000)
TEST_MULTU(0x8237f918, 0x00000000, 0x00000000, 0x00000000)
TEST_MULTU(0xc5ecadb0, 0x00000000, 0x00000000, 0x00000000)
TEST_MULTU(0x00000000, 0xcec8f500, 0x00000000, 0x00000000)
TEST_MULTU(0x00000000, 0x0fed823c, 0x00000000, 0x00000000)
TEST_MULTU(0x00000000, 0x3ac7f7a0, 0x00000000, 0x00000000)
TEST_MULTU(0x00000000, 0x04e4cfaa, 0x00000000, 0x00000000)
TEST_MULTU(0x00000000, 0x00000000, 0x00000000, 0x00000000)
###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(n47_multu_test)