MIPS/resources/2021/soft/func/inst/n33_sra.S

324 lines
15 KiB
ArmAsm
Raw Normal View History

2021-05-22 19:41:47 +08:00
#include <asm.h>
#include <regdef.h>
#include <inst_test.h>
LEAF(n33_sra_test)
.set noreorder
addiu s0, s0 ,1
li s2, 0x00
###test inst
TEST_SRA(0x7e0083f0, 0x00000009, 0x003f0041)
TEST_SRA(0x13e680c0, 0x00000018, 0x00000013)
TEST_SRA(0x6d7388ec, 0x00000010, 0x00006d73)
TEST_SRA(0xc04efccc, 0x00000010, 0xffffc04e)
TEST_SRA(0xd6c67200, 0x00000014, 0xfffffd6c)
TEST_SRA(0x366ea0fe, 0x0000001e, 0x00000000)
TEST_SRA(0x4a3437c0, 0x00000007, 0x0094686f)
TEST_SRA(0x355d25a0, 0x00000013, 0x000006ab)
TEST_SRA(0x39adf6d1, 0x00000008, 0x0039adf6)
TEST_SRA(0xc0949780, 0x00000013, 0xfffff812)
TEST_SRA(0xf09ea1a0, 0x0000001d, 0xffffffff)
TEST_SRA(0xfa6d2b80, 0x0000001b, 0xffffffff)
TEST_SRA(0x15bfaa14, 0x0000001d, 0x00000000)
TEST_SRA(0xf83242c0, 0x0000001c, 0xffffffff)
TEST_SRA(0x2eb7de00, 0x0000001f, 0x00000000)
TEST_SRA(0x200932e0, 0x0000000d, 0x00010049)
TEST_SRA(0x6b5fefd3, 0x00000009, 0x0035aff7)
TEST_SRA(0x8c583f58, 0x0000000c, 0xfff8c583)
TEST_SRA(0xf7bf6ad0, 0x0000001d, 0xffffffff)
TEST_SRA(0x3fca1f9e, 0x00000002, 0x0ff287e7)
TEST_SRA(0x6734f624, 0x00000010, 0x00006734)
TEST_SRA(0xc948d0f5, 0x00000010, 0xffffc948)
TEST_SRA(0x281c8725, 0x00000011, 0x0000140e)
TEST_SRA(0xc99fac26, 0x00000017, 0xffffff93)
TEST_SRA(0x3a4b3d1e, 0x00000000, 0x3a4b3d1e)
TEST_SRA(0x84da6ec0, 0x00000004, 0xf84da6ec)
TEST_SRA(0x24c04ab8, 0x00000016, 0x00000093)
TEST_SRA(0x06e75c47, 0x00000013, 0x000000dc)
TEST_SRA(0x9815a4b4, 0x00000012, 0xffffe605)
TEST_SRA(0xd5fa1c22, 0x0000000f, 0xffffabf4)
TEST_SRA(0x1f8b2568, 0x00000013, 0x000003f1)
TEST_SRA(0xee563feb, 0x00000009, 0xfff72b1f)
TEST_SRA(0xc801a880, 0x00000006, 0xff2006a2)
TEST_SRA(0x1c3c3198, 0x0000000b, 0x00038786)
TEST_SRA(0xe278af58, 0x0000000c, 0xfffe278a)
TEST_SRA(0x2e3d827c, 0x0000001a, 0x0000000b)
TEST_SRA(0x7209a862, 0x00000004, 0x07209a86)
TEST_SRA(0x10c36533, 0x00000000, 0x10c36533)
TEST_SRA(0xc9cb745e, 0x0000001f, 0xffffffff)
TEST_SRA(0x22c64374, 0x00000009, 0x00116321)
TEST_SRA(0xd051e8fc, 0x00000019, 0xffffffe8)
TEST_SRA(0x0382ebe0, 0x0000001e, 0x00000000)
TEST_SRA(0x390b5258, 0x00000002, 0x0e42d496)
TEST_SRA(0x733064c0, 0x00000000, 0x733064c0)
TEST_SRA(0x06744d47, 0x00000018, 0x00000006)
TEST_SRA(0x5b1a6a5c, 0x0000001c, 0x00000005)
TEST_SRA(0xe5d1ea6a, 0x00000011, 0xfffff2e8)
TEST_SRA(0x6539dbe2, 0x00000016, 0x00000194)
TEST_SRA(0xef693934, 0x0000001d, 0xffffffff)
TEST_SRA(0x0fbee4fa, 0x00000010, 0x00000fbe)
TEST_SRA(0xa930dc54, 0x0000000c, 0xfffa930d)
TEST_SRA(0x80a73726, 0x0000001c, 0xfffffff8)
TEST_SRA(0xc5af631a, 0x00000009, 0xffe2d7b1)
TEST_SRA(0xfce7e4a0, 0x0000000e, 0xfffff39f)
TEST_SRA(0x5a56e180, 0x0000001a, 0x00000016)
TEST_SRA(0x25474b80, 0x00000018, 0x00000025)
TEST_SRA(0x6acee13c, 0x00000017, 0x000000d5)
TEST_SRA(0xca24dec8, 0x00000013, 0xfffff944)
TEST_SRA(0x1441f330, 0x0000001f, 0x00000000)
TEST_SRA(0x3d2d05c0, 0x00000017, 0x0000007a)
TEST_SRA(0x7863a294, 0x00000005, 0x03c31d14)
TEST_SRA(0x0531fa20, 0x0000001a, 0x00000001)
TEST_SRA(0xd49ffd00, 0x0000000e, 0xffff527f)
TEST_SRA(0xdab9a7a0, 0x0000001b, 0xfffffffb)
TEST_SRA(0x8939e0cc, 0x00000009, 0xffc49cf0)
TEST_SRA(0x23ab857e, 0x0000001c, 0x00000002)
TEST_SRA(0xc5ab4f94, 0x00000000, 0xc5ab4f94)
TEST_SRA(0x6d010c88, 0x00000000, 0x6d010c88)
TEST_SRA(0xd068f062, 0x0000000f, 0xffffa0d1)
TEST_SRA(0xeffbbe00, 0x0000000b, 0xfffdff77)
TEST_SRA(0x2c8e76d0, 0x00000013, 0x00000591)
TEST_SRA(0xdfb22182, 0x0000001d, 0xfffffffe)
TEST_SRA(0x97cdc52e, 0x00000009, 0xffcbe6e2)
TEST_SRA(0x1f586fc0, 0x00000012, 0x000007d6)
TEST_SRA(0xfd66c7c8, 0x0000000b, 0xffffacd8)
TEST_SRA(0x422426f6, 0x0000000d, 0x00021121)
TEST_SRA(0x14292ac0, 0x00000013, 0x00000285)
TEST_SRA(0x63c2ffce, 0x0000001f, 0x00000000)
TEST_SRA(0xffe1ebb8, 0x00000003, 0xfffc3d77)
TEST_SRA(0x036b4a60, 0x0000001e, 0x00000000)
TEST_SRA(0xb33d4790, 0x00000001, 0xd99ea3c8)
TEST_SRA(0x71b01020, 0x00000000, 0x71b01020)
TEST_SRA(0xb413127c, 0x00000007, 0xff682624)
TEST_SRA(0x3faf4b6c, 0x00000000, 0x3faf4b6c)
TEST_SRA(0xebcc28c0, 0x0000000e, 0xffffaf30)
TEST_SRA(0x93811ad8, 0x0000001e, 0xfffffffe)
TEST_SRA(0x87f99a85, 0x00000016, 0xfffffe1f)
TEST_SRA(0x0fcacc20, 0x0000001c, 0x00000000)
TEST_SRA(0x15eb957c, 0x00000012, 0x0000057a)
TEST_SRA(0x2c08d9d4, 0x00000011, 0x00001604)
TEST_SRA(0xc0f99191, 0x00000012, 0xfffff03e)
TEST_SRA(0xb87334be, 0x0000001a, 0xffffffee)
TEST_SRA(0x04fdbd49, 0x00000013, 0x0000009f)
TEST_SRA(0xfd735780, 0x00000019, 0xfffffffe)
TEST_SRA(0x857856b0, 0x00000012, 0xffffe15e)
TEST_SRA(0x9da2db20, 0x00000018, 0xffffff9d)
TEST_SRA(0x02e6d93d, 0x00000008, 0x0002e6d9)
TEST_SRA(0x0f53e81e, 0x00000004, 0x00f53e81)
TEST_SRA(0x01a59436, 0x00000005, 0x000d2ca1)
TEST_SRA(0x54081744, 0x00000008, 0x00540817)
TEST_SRA(0x29640370, 0x0000001e, 0x00000000)
TEST_SRA(0x4e270890, 0x00000013, 0x000009c4)
TEST_SRA(0x4ead4240, 0x0000001f, 0x00000000)
TEST_SRA(0xdca91de8, 0x00000013, 0xfffffb95)
TEST_SRA(0x7c09aac0, 0x00000006, 0x01f026ab)
TEST_SRA(0x48900c05, 0x00000014, 0x00000489)
TEST_SRA(0x2cbebf40, 0x00000013, 0x00000597)
TEST_SRA(0xf42da13f, 0x0000001e, 0xffffffff)
TEST_SRA(0xd99c4f6f, 0x00000018, 0xffffffd9)
TEST_SRA(0x0afaed86, 0x00000016, 0x0000002b)
TEST_SRA(0x091c3d00, 0x0000000c, 0x000091c3)
TEST_SRA(0x66d8faa6, 0x00000010, 0x000066d8)
TEST_SRA(0x31f31054, 0x0000000d, 0x00018f98)
TEST_SRA(0x13a30cee, 0x00000015, 0x0000009d)
TEST_SRA(0xeedeb7f0, 0x0000000c, 0xfffeedeb)
TEST_SRA(0xd51e8860, 0x0000001e, 0xffffffff)
TEST_SRA(0xe8e30aa8, 0x00000007, 0xffd1c615)
TEST_SRA(0xc36cae78, 0x00000016, 0xffffff0d)
TEST_SRA(0xa8667186, 0x00000013, 0xfffff50c)
TEST_SRA(0x7c24aab0, 0x00000004, 0x07c24aab)
TEST_SRA(0xeaa7dfa3, 0x00000013, 0xfffffd54)
TEST_SRA(0x8c97c385, 0x00000002, 0xe325f0e1)
TEST_SRA(0x744ebe18, 0x0000001c, 0x00000007)
TEST_SRA(0xbc9f2d58, 0x00000018, 0xffffffbc)
TEST_SRA(0x7d25b068, 0x00000009, 0x003e92d8)
TEST_SRA(0xaa4a1e58, 0x0000001d, 0xfffffffd)
TEST_SRA(0x2c992d2c, 0x00000004, 0x02c992d2)
TEST_SRA(0x3093c6fc, 0x0000000a, 0x000c24f1)
TEST_SRA(0x8020a899, 0x00000005, 0xfc010544)
TEST_SRA(0x4e84e3f8, 0x00000019, 0x00000027)
TEST_SRA(0x4137c9dc, 0x00000016, 0x00000104)
TEST_SRA(0x9671cf7d, 0x00000019, 0xffffffcb)
TEST_SRA(0xdf2ced02, 0x00000006, 0xff7cb3b4)
TEST_SRA(0x14bcf49a, 0x00000003, 0x02979e93)
TEST_SRA(0xfd221ecb, 0x00000004, 0xffd221ec)
TEST_SRA(0xa3e45cfc, 0x00000001, 0xd1f22e7e)
TEST_SRA(0x8e0f1880, 0x00000016, 0xfffffe38)
TEST_SRA(0x587d38e8, 0x00000014, 0x00000587)
TEST_SRA(0xd7b1ed92, 0x00000004, 0xfd7b1ed9)
TEST_SRA(0xab4b5c70, 0x0000001f, 0xffffffff)
TEST_SRA(0x04d6db90, 0x00000002, 0x0135b6e4)
TEST_SRA(0x683361dc, 0x00000010, 0x00006833)
TEST_SRA(0x8c65a380, 0x00000001, 0xc632d1c0)
TEST_SRA(0x4e8dbfa8, 0x00000012, 0x000013a3)
TEST_SRA(0x55090962, 0x00000003, 0x0aa1212c)
TEST_SRA(0x9bf8d806, 0x00000014, 0xfffff9bf)
TEST_SRA(0xd93c5146, 0x00000018, 0xffffffd9)
TEST_SRA(0x468d1289, 0x00000000, 0x468d1289)
TEST_SRA(0xb9995520, 0x00000002, 0xee665548)
TEST_SRA(0x2437c860, 0x0000001c, 0x00000002)
TEST_SRA(0x9413ab40, 0x00000012, 0xffffe504)
TEST_SRA(0x379039b2, 0x00000003, 0x06f20736)
TEST_SRA(0xeac34a48, 0x00000002, 0xfab0d292)
TEST_SRA(0xc7c448cb, 0x00000013, 0xfffff8f8)
TEST_SRA(0x7eaa3b78, 0x00000014, 0x000007ea)
TEST_SRA(0x72e21540, 0x00000017, 0x000000e5)
TEST_SRA(0xd10c10e8, 0x0000000e, 0xffff4430)
TEST_SRA(0x1040d67e, 0x0000000d, 0x00008206)
TEST_SRA(0x9b412802, 0x00000016, 0xfffffe6d)
TEST_SRA(0xc9272049, 0x00000005, 0xfe493902)
TEST_SRA(0x38af37fe, 0x0000001d, 0x00000001)
TEST_SRA(0x77edf5c0, 0x00000000, 0x77edf5c0)
TEST_SRA(0xfe0dbb31, 0x0000001c, 0xffffffff)
TEST_SRA(0x94166944, 0x00000002, 0xe5059a51)
TEST_SRA(0x49508bfc, 0x00000014, 0x00000495)
TEST_SRA(0xf42d6ea6, 0x0000000d, 0xffffa16b)
TEST_SRA(0x1510d958, 0x0000000c, 0x0001510d)
TEST_SRA(0x7375c5e2, 0x00000016, 0x000001cd)
TEST_SRA(0x301c9560, 0x00000013, 0x00000603)
TEST_SRA(0xc0141235, 0x00000016, 0xffffff00)
TEST_SRA(0x72b94fa0, 0x00000007, 0x00e5729f)
TEST_SRA(0x948cb9d0, 0x00000000, 0x948cb9d0)
TEST_SRA(0x2f11074b, 0x0000000a, 0x000bc441)
TEST_SRA(0xf5df3680, 0x00000004, 0xff5df368)
TEST_SRA(0x22b811c0, 0x0000000e, 0x00008ae0)
TEST_SRA(0x51473348, 0x00000004, 0x05147334)
TEST_SRA(0xd4e95968, 0x0000001b, 0xfffffffa)
TEST_SRA(0x873e7a20, 0x0000000c, 0xfff873e7)
TEST_SRA(0xea399857, 0x0000001b, 0xfffffffd)
TEST_SRA(0xd9a45830, 0x0000000d, 0xfffecd22)
TEST_SRA(0x58882860, 0x0000000e, 0x00016220)
TEST_SRA(0xb52828fc, 0x00000000, 0xb52828fc)
TEST_SRA(0x34a1f968, 0x0000000b, 0x0006943f)
TEST_SRA(0x63c56270, 0x00000008, 0x0063c562)
TEST_SRA(0xd2f1c210, 0x00000015, 0xfffffe97)
TEST_SRA(0x11cc723e, 0x00000017, 0x00000023)
TEST_SRA(0x8b41e080, 0x00000010, 0xffff8b41)
TEST_SRA(0xebcc4aac, 0x00000011, 0xfffff5e6)
TEST_SRA(0xbb1a19e4, 0x00000014, 0xfffffbb1)
TEST_SRA(0x984461f4, 0x00000017, 0xffffff30)
TEST_SRA(0x73578e4a, 0x0000000e, 0x0001cd5e)
TEST_SRA(0x4cf5e100, 0x00000015, 0x00000267)
TEST_SRA(0x6174641c, 0x0000000f, 0x0000c2e8)
TEST_SRA(0x48fc3f43, 0x0000001f, 0x00000000)
TEST_SRA(0x33d9efd5, 0x00000006, 0x00cf67bf)
TEST_SRA(0xa5e517b0, 0x00000008, 0xffa5e517)
TEST_SRA(0xf685afc2, 0x00000000, 0xf685afc2)
TEST_SRA(0x6bee2237, 0x00000010, 0x00006bee)
TEST_SRA(0x88b3bac8, 0x00000001, 0xc459dd64)
TEST_SRA(0xb3bf7ef8, 0x0000001c, 0xfffffffb)
TEST_SRA(0x7f797f19, 0x00000000, 0x7f797f19)
TEST_SRA(0x8f7ba555, 0x00000000, 0x8f7ba555)
TEST_SRA(0x0dcd8d14, 0x00000000, 0x0dcd8d14)
TEST_SRA(0x350945f2, 0x00000000, 0x350945f2)
TEST_SRA(0x77a2fba0, 0x00000000, 0x77a2fba0)
TEST_SRA(0xbeeac5b0, 0x00000000, 0xbeeac5b0)
TEST_SRA(0x89157300, 0x00000000, 0x89157300)
TEST_SRA(0xab980008, 0x00000000, 0xab980008)
TEST_SRA(0xb0968cc0, 0x00000000, 0xb0968cc0)
TEST_SRA(0x2ba783e0, 0x00000000, 0x2ba783e0)
TEST_SRA(0x95472840, 0x00000000, 0x95472840)
TEST_SRA(0x54a42cc4, 0x00000000, 0x54a42cc4)
TEST_SRA(0xe1b0264c, 0x00000000, 0xe1b0264c)
TEST_SRA(0xefa52996, 0x00000000, 0xefa52996)
TEST_SRA(0x14052d21, 0x00000000, 0x14052d21)
TEST_SRA(0x62589080, 0x00000000, 0x62589080)
TEST_SRA(0x90796b7a, 0x00000000, 0x90796b7a)
TEST_SRA(0x3ef6da6a, 0x00000000, 0x3ef6da6a)
TEST_SRA(0xf3410560, 0x00000000, 0xf3410560)
TEST_SRA(0x03e74280, 0x00000000, 0x03e74280)
TEST_SRA(0x1aab5a5c, 0x00000000, 0x1aab5a5c)
TEST_SRA(0xa6a10fe4, 0x00000000, 0xa6a10fe4)
TEST_SRA(0xcac0c1b9, 0x00000000, 0xcac0c1b9)
TEST_SRA(0x23352364, 0x00000000, 0x23352364)
TEST_SRA(0x8d8829da, 0x00000000, 0x8d8829da)
TEST_SRA(0xdb2cad42, 0x00000000, 0xdb2cad42)
TEST_SRA(0x0701f144, 0x00000000, 0x0701f144)
TEST_SRA(0x180525ad, 0x00000000, 0x180525ad)
TEST_SRA(0xe3c44b80, 0x00000000, 0xe3c44b80)
TEST_SRA(0x724db8ee, 0x00000000, 0x724db8ee)
TEST_SRA(0xba2e5d40, 0x00000000, 0xba2e5d40)
TEST_SRA(0x3da9eb4f, 0x00000000, 0x3da9eb4f)
TEST_SRA(0xb764ab20, 0x00000000, 0xb764ab20)
TEST_SRA(0xee4d8700, 0x00000000, 0xee4d8700)
TEST_SRA(0x06431180, 0x00000000, 0x06431180)
TEST_SRA(0x0edd7200, 0x00000000, 0x0edd7200)
TEST_SRA(0x8ecf53b8, 0x00000000, 0x8ecf53b8)
TEST_SRA(0xb39f5d08, 0x00000000, 0xb39f5d08)
TEST_SRA(0x42683c3c, 0x00000000, 0x42683c3c)
TEST_SRA(0x28f4fc04, 0x00000000, 0x28f4fc04)
TEST_SRA(0x036630dc, 0x00000000, 0x036630dc)
TEST_SRA(0xd542e318, 0x00000000, 0xd542e318)
TEST_SRA(0x5b856f12, 0x00000000, 0x5b856f12)
TEST_SRA(0x3bac7080, 0x00000000, 0x3bac7080)
TEST_SRA(0xbf823f9e, 0x00000000, 0xbf823f9e)
TEST_SRA(0xa242b070, 0x00000000, 0xa242b070)
TEST_SRA(0xdbe2e930, 0x00000000, 0xdbe2e930)
TEST_SRA(0x12d3cfcc, 0x00000000, 0x12d3cfcc)
TEST_SRA(0x0ea3ee6a, 0x00000000, 0x0ea3ee6a)
TEST_SRA(0x76668ec8, 0x00000000, 0x76668ec8)
TEST_SRA(0x00000000, 0x0000001f, 0x00000000)
TEST_SRA(0x00000000, 0x00000005, 0x00000000)
TEST_SRA(0x00000000, 0x00000005, 0x00000000)
TEST_SRA(0x00000000, 0x0000000f, 0x00000000)
TEST_SRA(0x00000000, 0x00000003, 0x00000000)
TEST_SRA(0x00000000, 0x0000001e, 0x00000000)
TEST_SRA(0x00000000, 0x00000012, 0x00000000)
TEST_SRA(0x00000000, 0x00000018, 0x00000000)
TEST_SRA(0x00000000, 0x0000000b, 0x00000000)
TEST_SRA(0x00000000, 0x0000000e, 0x00000000)
TEST_SRA(0x00000000, 0x0000000e, 0x00000000)
TEST_SRA(0x00000000, 0x0000000b, 0x00000000)
TEST_SRA(0x00000000, 0x00000008, 0x00000000)
TEST_SRA(0x00000000, 0x0000001d, 0x00000000)
TEST_SRA(0x00000000, 0x00000017, 0x00000000)
TEST_SRA(0x00000000, 0x00000016, 0x00000000)
TEST_SRA(0x00000000, 0x00000014, 0x00000000)
TEST_SRA(0x00000000, 0x0000000c, 0x00000000)
TEST_SRA(0x00000000, 0x0000000e, 0x00000000)
TEST_SRA(0x00000000, 0x0000000e, 0x00000000)
TEST_SRA(0x00000000, 0x00000003, 0x00000000)
TEST_SRA(0x00000000, 0x00000007, 0x00000000)
TEST_SRA(0x00000000, 0x0000001a, 0x00000000)
TEST_SRA(0x00000000, 0x0000001f, 0x00000000)
TEST_SRA(0x00000000, 0x00000013, 0x00000000)
TEST_SRA(0x00000000, 0x00000016, 0x00000000)
TEST_SRA(0x00000000, 0x0000000f, 0x00000000)
TEST_SRA(0x00000000, 0x00000016, 0x00000000)
TEST_SRA(0x00000000, 0x00000007, 0x00000000)
TEST_SRA(0x00000000, 0x0000001a, 0x00000000)
TEST_SRA(0x00000000, 0x0000000a, 0x00000000)
TEST_SRA(0x00000000, 0x0000001e, 0x00000000)
TEST_SRA(0x00000000, 0x0000001f, 0x00000000)
TEST_SRA(0x00000000, 0x00000016, 0x00000000)
TEST_SRA(0x00000000, 0x00000005, 0x00000000)
TEST_SRA(0x00000000, 0x0000001d, 0x00000000)
TEST_SRA(0x00000000, 0x00000001, 0x00000000)
TEST_SRA(0x00000000, 0x00000018, 0x00000000)
TEST_SRA(0x00000000, 0x00000006, 0x00000000)
TEST_SRA(0x00000000, 0x0000000e, 0x00000000)
TEST_SRA(0x00000000, 0x0000001e, 0x00000000)
TEST_SRA(0x00000000, 0x00000017, 0x00000000)
TEST_SRA(0x00000000, 0x00000011, 0x00000000)
TEST_SRA(0x00000000, 0x00000002, 0x00000000)
TEST_SRA(0x00000000, 0x0000000f, 0x00000000)
TEST_SRA(0x00000000, 0x00000015, 0x00000000)
TEST_SRA(0x00000000, 0x0000001a, 0x00000000)
TEST_SRA(0x00000000, 0x00000001, 0x00000000)
TEST_SRA(0x00000000, 0x00000009, 0x00000000)
TEST_SRA(0x00000000, 0x00000016, 0x00000000)
TEST_SRA(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(n33_sra_test)