From da15373ee99a51cc25bdf9da28da7d849d2fc62b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C4=81vius?= Date: Fri, 31 Jul 2026 03:07:43 -0400 Subject: [PATCH] rexcode/mips: add the R6 signed mul/div encodings (MUL_R6/DIV_R6/DIVU_R6) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The table had the R6 unsigned mul, both muh, and mod/modu, but not the R6 SIGNED low multiply (SPECIAL funct 0x18, sa=2 → 0x98) or the R6 signed/unsigned divide (funct 0x1A, sa=2/3 → 0x9A/0x9B). Add MUL_R6, DIV_R6, DIVU_R6 to the Mnemonic enum + the encoding table (all SPECIAL, RD/RS/RT, mask 0xFC0007FF, MIPS32_R6) and regenerate the tables. Verified against llvm-mc -mcpu=mips32r6 (mul/div/divu $rd,$rs,$rt). All existing mips tests pass (166/39/65/14). --- core/rexcode/isa/mips/mnemonics.odin | 2 +- .../isa/mips/tablegen/encoding_table.odin | 3 + .../tablegen/generated/decode_tables.odin | 399 ++-- .../tablegen/generated/encode_tables.odin | 1705 +++++++++-------- .../isa/mips/tables/mips.encode_forms.bin | Bin 20520 -> 20580 bytes .../isa/mips/tables/mips.encode_runs.bin | Bin 8216 -> 8240 bytes core/rexcode/isa/mips/tables/mips.entries.bin | Bin 20520 -> 20580 bytes .../rexcode/isa/mips/tables/mips.idx_cop1.bin | Bin 128 -> 128 bytes .../isa/mips/tables/mips.idx_primary.bin | Bin 256 -> 256 bytes .../isa/mips/tables/mips.idx_regimm.bin | Bin 128 -> 128 bytes .../isa/mips/tables/mips.idx_special.bin | Bin 256 -> 256 bytes .../isa/mips/tables/mips.idx_special2.bin | Bin 256 -> 256 bytes .../isa/mips/tables/mips.idx_special3.bin | Bin 256 -> 256 bytes 13 files changed, 1062 insertions(+), 1047 deletions(-) diff --git a/core/rexcode/isa/mips/mnemonics.odin b/core/rexcode/isa/mips/mnemonics.odin index 63cf58f5c..3a3356587 100644 --- a/core/rexcode/isa/mips/mnemonics.odin +++ b/core/rexcode/isa/mips/mnemonics.odin @@ -138,7 +138,7 @@ Mnemonic :: enum u16 { JIC, JIALC, // R6 mul/div (replaces MULT/MULTU/DIV/DIVU; results in single GPR) - MUH, MULU, MUHU, MOD, MODU, + MUL_R6, MUH, MULU, MUHU, DIV_R6, MOD, DIVU_R6, MODU, DMUL_R6, DMUH, DMULU, DMUHU, DDIV_R6, DMOD, DDIVU_R6, DMODU, diff --git a/core/rexcode/isa/mips/tablegen/encoding_table.odin b/core/rexcode/isa/mips/tablegen/encoding_table.odin index 842cb0b2a..d3ca71fb1 100644 --- a/core/rexcode/isa/mips/tablegen/encoding_table.odin +++ b/core/rexcode/isa/mips/tablegen/encoding_table.odin @@ -753,10 +753,13 @@ ENCODING_TABLE := #partial [Mnemonic][]Encoding{ // R6 mul/div: reuse SPECIAL functs 0x18-0x1F (which were MULT/MULTU/ // DIV/DIVU in pre-R6) with shamt distinguishing low half (0x02) from // high half (0x03). Results land in rd, not HI/LO. + .MUL_R6 = { {.MUL_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x00000098, 0xFC0007FF, .MIPS32_R6, {}} }, .MUH = { {.MUH, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000D8, 0xFC0007FF, .MIPS32_R6, {}} }, .MULU = { {.MULU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x00000099, 0xFC0007FF, .MIPS32_R6, {}} }, .MUHU = { {.MUHU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000D9, 0xFC0007FF, .MIPS32_R6, {}} }, + .DIV_R6 = { {.DIV_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009A, 0xFC0007FF, .MIPS32_R6, {}} }, .MOD = { {.MOD, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000DA, 0xFC0007FF, .MIPS32_R6, {}} }, + .DIVU_R6 = { {.DIVU_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009B, 0xFC0007FF, .MIPS32_R6, {}} }, .MODU = { {.MODU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000DB, 0xFC0007FF, .MIPS32_R6, {}} }, // 64-bit R6 mul/div (functs 0x1C-0x1F). .DMUL_R6 = { {.DMUL_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009C, 0xFC0007FF, .MIPS64_R6, {only_64=true}} }, diff --git a/core/rexcode/isa/mips/tablegen/generated/decode_tables.odin b/core/rexcode/isa/mips/tablegen/generated/decode_tables.odin index dafe43a63..5251ef669 100644 --- a/core/rexcode/isa/mips/tablegen/generated/decode_tables.odin +++ b/core/rexcode/isa/mips/tablegen/generated/decode_tables.odin @@ -8,7 +8,7 @@ package rexcode_mips_generated import lib "../.." @(rodata) -DECODE_ENTRIES := [1026]lib.Decode_Entry{ +DECODE_ENTRIES := [1029]lib.Decode_Entry{ { .NOP, {.NONE,.NONE,.NONE,.NONE}, {.NONE,.NONE,.NONE,.NONE}, 0x00000000, 0xFFFFFFFF, .MIPS_I, {} }, { .SSNOP, {.NONE,.NONE,.NONE,.NONE}, {.NONE,.NONE,.NONE,.NONE}, 0x00000040, 0xFFFFFFFF, .MIPS32_R1, {} }, { .EHB, {.NONE,.NONE,.NONE,.NONE}, {.NONE,.NONE,.NONE,.NONE}, 0x000000C0, 0xFFFFFFFF, .MIPS32_R2, {} }, @@ -41,13 +41,16 @@ DECODE_ENTRIES := [1026]lib.Decode_Entry{ { .DROTRV, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RT,.RS,.NONE}, 0x00000056, 0xFC0007FF, .MIPS64_R2, {only_64=true} }, { .DSRAV, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RT,.RS,.NONE}, 0x00000017, 0xFC0007FF, .MIPS_III, {only_64=true} }, { .MULT, {.GPR,.GPR,.NONE,.NONE}, {.RS,.RT,.NONE,.NONE}, 0x00000018, 0xFC00FFFF, .MIPS_I, {writes_hilo=true} }, + { .MUL_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x00000098, 0xFC0007FF, .MIPS32_R6, {} }, { .MUH, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000D8, 0xFC0007FF, .MIPS32_R6, {} }, { .MULTU, {.GPR,.GPR,.NONE,.NONE}, {.RS,.RT,.NONE,.NONE}, 0x00000019, 0xFC00FFFF, .MIPS_I, {writes_hilo=true} }, { .MULU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x00000099, 0xFC0007FF, .MIPS32_R6, {} }, { .MUHU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000D9, 0xFC0007FF, .MIPS32_R6, {} }, { .DIV, {.GPR,.GPR,.NONE,.NONE}, {.RS,.RT,.NONE,.NONE}, 0x0000001A, 0xFC00FFFF, .MIPS_I, {writes_hilo=true} }, + { .DIV_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009A, 0xFC0007FF, .MIPS32_R6, {} }, { .MOD, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000DA, 0xFC0007FF, .MIPS32_R6, {} }, { .DIVU, {.GPR,.GPR,.NONE,.NONE}, {.RS,.RT,.NONE,.NONE}, 0x0000001B, 0xFC00FFFF, .MIPS_I, {writes_hilo=true} }, + { .DIVU_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009B, 0xFC0007FF, .MIPS32_R6, {} }, { .MODU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000DB, 0xFC0007FF, .MIPS32_R6, {} }, { .DMULT, {.GPR,.GPR,.NONE,.NONE}, {.RS,.RT,.NONE,.NONE}, 0x0000001C, 0xFC00FFFF, .MIPS_III, {only_64=true, writes_hilo=true} }, { .DMUL_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009C, 0xFC0007FF, .MIPS64_R6, {only_64=true} }, @@ -1039,70 +1042,70 @@ DECODE_ENTRIES := [1026]lib.Decode_Entry{ @(rodata) DECODE_INDEX_PRIMARY := [64]lib.Decode_Index{ - 0x00 = { 0, 84}, - 0x01 = { 84, 20}, - 0x02 = { 104, 1}, - 0x03 = { 105, 1}, - 0x04 = { 106, 1}, - 0x05 = { 107, 1}, - 0x06 = { 108, 2}, - 0x07 = { 110, 2}, - 0x08 = { 112, 2}, - 0x09 = { 114, 1}, - 0x0A = { 115, 1}, - 0x0B = { 116, 1}, - 0x0C = { 117, 1}, - 0x0D = { 118, 1}, - 0x0E = { 119, 1}, - 0x0F = { 120, 2}, - 0x10 = { 122, 17}, - 0x11 = { 139, 146}, - 0x12 = { 285, 36}, - 0x13 = { 321, 17}, - 0x14 = { 338, 1}, - 0x15 = { 339, 1}, - 0x16 = { 340, 4}, - 0x17 = { 344, 4}, - 0x18 = { 348, 14}, - 0x19 = { 362, 15}, - 0x1A = { 377, 1}, - 0x1B = { 378, 13}, - 0x1C = { 391, 115}, - 0x1D = { 506, 1}, - 0x1E = { 507, 230}, - 0x1F = { 737, 141}, - 0x20 = { 878, 1}, - 0x21 = { 879, 1}, - 0x22 = { 880, 1}, - 0x23 = { 881, 1}, - 0x24 = { 882, 1}, - 0x25 = { 883, 1}, - 0x26 = { 884, 1}, - 0x27 = { 885, 1}, - 0x28 = { 886, 1}, - 0x29 = { 887, 1}, - 0x2A = { 888, 1}, - 0x2B = { 889, 1}, - 0x2C = { 890, 1}, - 0x2D = { 891, 1}, - 0x2E = { 892, 1}, - 0x2F = { 893, 1}, - 0x30 = { 894, 1}, - 0x31 = { 895, 1}, - 0x32 = { 896, 3}, - 0x33 = { 899, 1}, - 0x34 = { 900, 63}, - 0x35 = { 963, 3}, - 0x36 = { 966, 5}, - 0x37 = { 971, 6}, - 0x38 = { 977, 1}, - 0x39 = { 978, 1}, - 0x3A = { 979, 3}, - 0x3B = { 982, 5}, - 0x3C = { 987, 27}, - 0x3D = {1014, 3}, - 0x3E = {1017, 5}, - 0x3F = {1022, 4}, + 0x00 = { 0, 87}, + 0x01 = { 87, 20}, + 0x02 = { 107, 1}, + 0x03 = { 108, 1}, + 0x04 = { 109, 1}, + 0x05 = { 110, 1}, + 0x06 = { 111, 2}, + 0x07 = { 113, 2}, + 0x08 = { 115, 2}, + 0x09 = { 117, 1}, + 0x0A = { 118, 1}, + 0x0B = { 119, 1}, + 0x0C = { 120, 1}, + 0x0D = { 121, 1}, + 0x0E = { 122, 1}, + 0x0F = { 123, 2}, + 0x10 = { 125, 17}, + 0x11 = { 142, 146}, + 0x12 = { 288, 36}, + 0x13 = { 324, 17}, + 0x14 = { 341, 1}, + 0x15 = { 342, 1}, + 0x16 = { 343, 4}, + 0x17 = { 347, 4}, + 0x18 = { 351, 14}, + 0x19 = { 365, 15}, + 0x1A = { 380, 1}, + 0x1B = { 381, 13}, + 0x1C = { 394, 115}, + 0x1D = { 509, 1}, + 0x1E = { 510, 230}, + 0x1F = { 740, 141}, + 0x20 = { 881, 1}, + 0x21 = { 882, 1}, + 0x22 = { 883, 1}, + 0x23 = { 884, 1}, + 0x24 = { 885, 1}, + 0x25 = { 886, 1}, + 0x26 = { 887, 1}, + 0x27 = { 888, 1}, + 0x28 = { 889, 1}, + 0x29 = { 890, 1}, + 0x2A = { 891, 1}, + 0x2B = { 892, 1}, + 0x2C = { 893, 1}, + 0x2D = { 894, 1}, + 0x2E = { 895, 1}, + 0x2F = { 896, 1}, + 0x30 = { 897, 1}, + 0x31 = { 898, 1}, + 0x32 = { 899, 3}, + 0x33 = { 902, 1}, + 0x34 = { 903, 63}, + 0x35 = { 966, 3}, + 0x36 = { 969, 5}, + 0x37 = { 974, 6}, + 0x38 = { 980, 1}, + 0x39 = { 981, 1}, + 0x3A = { 982, 3}, + 0x3B = { 985, 5}, + 0x3C = { 990, 27}, + 0x3D = {1017, 3}, + 0x3E = {1020, 5}, + 0x3F = {1025, 4}, } @(rodata) @@ -1130,154 +1133,154 @@ DECODE_INDEX_SPECIAL := [64]lib.Decode_Index{ 0x15 = { 27, 1}, 0x16 = { 28, 2}, 0x17 = { 30, 1}, - 0x18 = { 31, 2}, - 0x19 = { 33, 3}, - 0x1A = { 36, 2}, - 0x1B = { 38, 2}, - 0x1C = { 40, 3}, - 0x1D = { 43, 3}, - 0x1E = { 46, 3}, - 0x1F = { 49, 3}, - 0x20 = { 52, 1}, - 0x21 = { 53, 1}, - 0x22 = { 54, 1}, - 0x23 = { 55, 1}, - 0x24 = { 56, 1}, - 0x25 = { 57, 1}, - 0x26 = { 58, 1}, - 0x27 = { 59, 1}, - 0x28 = { 60, 1}, - 0x29 = { 61, 1}, - 0x2A = { 62, 1}, - 0x2B = { 63, 1}, - 0x2C = { 64, 1}, - 0x2D = { 65, 1}, - 0x2E = { 66, 1}, - 0x2F = { 67, 1}, - 0x30 = { 68, 1}, - 0x31 = { 69, 1}, - 0x32 = { 70, 1}, - 0x33 = { 71, 1}, - 0x34 = { 72, 1}, - 0x35 = { 73, 1}, - 0x36 = { 74, 1}, - 0x37 = { 75, 1}, - 0x38 = { 76, 1}, - 0x3A = { 77, 2}, - 0x3B = { 79, 1}, - 0x3C = { 80, 1}, - 0x3E = { 81, 2}, - 0x3F = { 83, 1}, + 0x18 = { 31, 3}, + 0x19 = { 34, 3}, + 0x1A = { 37, 3}, + 0x1B = { 40, 3}, + 0x1C = { 43, 3}, + 0x1D = { 46, 3}, + 0x1E = { 49, 3}, + 0x1F = { 52, 3}, + 0x20 = { 55, 1}, + 0x21 = { 56, 1}, + 0x22 = { 57, 1}, + 0x23 = { 58, 1}, + 0x24 = { 59, 1}, + 0x25 = { 60, 1}, + 0x26 = { 61, 1}, + 0x27 = { 62, 1}, + 0x28 = { 63, 1}, + 0x29 = { 64, 1}, + 0x2A = { 65, 1}, + 0x2B = { 66, 1}, + 0x2C = { 67, 1}, + 0x2D = { 68, 1}, + 0x2E = { 69, 1}, + 0x2F = { 70, 1}, + 0x30 = { 71, 1}, + 0x31 = { 72, 1}, + 0x32 = { 73, 1}, + 0x33 = { 74, 1}, + 0x34 = { 75, 1}, + 0x35 = { 76, 1}, + 0x36 = { 77, 1}, + 0x37 = { 78, 1}, + 0x38 = { 79, 1}, + 0x3A = { 80, 2}, + 0x3B = { 82, 1}, + 0x3C = { 83, 1}, + 0x3E = { 84, 2}, + 0x3F = { 86, 1}, } @(rodata) DECODE_INDEX_REGIMM := [32]lib.Decode_Index{ - 0x00 = { 84, 1}, - 0x01 = { 85, 1}, - 0x02 = { 86, 1}, - 0x03 = { 87, 1}, - 0x06 = { 88, 1}, - 0x08 = { 89, 1}, - 0x09 = { 90, 1}, - 0x0A = { 91, 1}, - 0x0B = { 92, 1}, - 0x0C = { 93, 1}, - 0x0E = { 94, 1}, - 0x10 = { 95, 1}, - 0x11 = { 96, 1}, - 0x12 = { 97, 1}, - 0x13 = { 98, 1}, - 0x17 = { 99, 1}, - 0x18 = { 100, 1}, - 0x19 = { 101, 1}, - 0x1C = { 102, 1}, - 0x1E = { 103, 1}, + 0x00 = { 87, 1}, + 0x01 = { 88, 1}, + 0x02 = { 89, 1}, + 0x03 = { 90, 1}, + 0x06 = { 91, 1}, + 0x08 = { 92, 1}, + 0x09 = { 93, 1}, + 0x0A = { 94, 1}, + 0x0B = { 95, 1}, + 0x0C = { 96, 1}, + 0x0E = { 97, 1}, + 0x10 = { 98, 1}, + 0x11 = { 99, 1}, + 0x12 = { 100, 1}, + 0x13 = { 101, 1}, + 0x17 = { 102, 1}, + 0x18 = { 103, 1}, + 0x19 = { 104, 1}, + 0x1C = { 105, 1}, + 0x1E = { 106, 1}, } @(rodata) DECODE_INDEX_COP1 := [32]lib.Decode_Index{ - 0x00 = { 139, 1}, - 0x01 = { 140, 1}, - 0x02 = { 141, 1}, - 0x03 = { 142, 1}, - 0x04 = { 143, 1}, - 0x05 = { 144, 1}, - 0x06 = { 145, 1}, - 0x07 = { 146, 1}, - 0x08 = { 147, 4}, - 0x09 = { 151, 1}, - 0x0B = { 152, 1}, - 0x0D = { 153, 1}, - 0x0F = { 154, 1}, - 0x10 = { 155, 42}, - 0x11 = { 197, 42}, - 0x14 = { 239, 4}, - 0x15 = { 243, 2}, - 0x16 = { 245, 32}, - 0x18 = { 277, 1}, - 0x19 = { 278, 1}, - 0x1A = { 279, 1}, - 0x1B = { 280, 1}, - 0x1C = { 281, 1}, - 0x1D = { 282, 1}, - 0x1E = { 283, 1}, - 0x1F = { 284, 1}, + 0x00 = { 142, 1}, + 0x01 = { 143, 1}, + 0x02 = { 144, 1}, + 0x03 = { 145, 1}, + 0x04 = { 146, 1}, + 0x05 = { 147, 1}, + 0x06 = { 148, 1}, + 0x07 = { 149, 1}, + 0x08 = { 150, 4}, + 0x09 = { 154, 1}, + 0x0B = { 155, 1}, + 0x0D = { 156, 1}, + 0x0F = { 157, 1}, + 0x10 = { 158, 42}, + 0x11 = { 200, 42}, + 0x14 = { 242, 4}, + 0x15 = { 246, 2}, + 0x16 = { 248, 32}, + 0x18 = { 280, 1}, + 0x19 = { 281, 1}, + 0x1A = { 282, 1}, + 0x1B = { 283, 1}, + 0x1C = { 284, 1}, + 0x1D = { 285, 1}, + 0x1E = { 286, 1}, + 0x1F = { 287, 1}, } @(rodata) DECODE_INDEX_SPECIAL2 := [64]lib.Decode_Index{ - 0x00 = { 391, 2}, - 0x01 = { 393, 2}, - 0x02 = { 395, 1}, - 0x04 = { 396, 3}, - 0x05 = { 399, 2}, - 0x08 = { 401, 25}, - 0x09 = { 426, 26}, - 0x10 = { 452, 1}, - 0x11 = { 453, 1}, - 0x12 = { 454, 1}, - 0x13 = { 455, 1}, - 0x18 = { 456, 1}, - 0x19 = { 457, 1}, - 0x1A = { 458, 1}, - 0x1B = { 459, 1}, - 0x20 = { 460, 2}, - 0x21 = { 462, 2}, - 0x24 = { 464, 2}, - 0x25 = { 466, 2}, - 0x28 = { 468, 17}, - 0x29 = { 485, 8}, - 0x30 = { 493, 5}, - 0x31 = { 498, 1}, - 0x34 = { 499, 1}, - 0x36 = { 500, 1}, - 0x37 = { 501, 1}, - 0x3C = { 502, 1}, - 0x3E = { 503, 1}, - 0x3F = { 504, 2}, + 0x00 = { 394, 2}, + 0x01 = { 396, 2}, + 0x02 = { 398, 1}, + 0x04 = { 399, 3}, + 0x05 = { 402, 2}, + 0x08 = { 404, 25}, + 0x09 = { 429, 26}, + 0x10 = { 455, 1}, + 0x11 = { 456, 1}, + 0x12 = { 457, 1}, + 0x13 = { 458, 1}, + 0x18 = { 459, 1}, + 0x19 = { 460, 1}, + 0x1A = { 461, 1}, + 0x1B = { 462, 1}, + 0x20 = { 463, 2}, + 0x21 = { 465, 2}, + 0x24 = { 467, 2}, + 0x25 = { 469, 2}, + 0x28 = { 471, 17}, + 0x29 = { 488, 8}, + 0x30 = { 496, 5}, + 0x31 = { 501, 1}, + 0x34 = { 502, 1}, + 0x36 = { 503, 1}, + 0x37 = { 504, 1}, + 0x3C = { 505, 1}, + 0x3E = { 506, 1}, + 0x3F = { 507, 2}, } @(rodata) DECODE_INDEX_SPECIAL3 := [64]lib.Decode_Index{ - 0x00 = { 737, 2}, - 0x01 = { 739, 1}, - 0x02 = { 740, 1}, - 0x03 = { 741, 1}, - 0x04 = { 742, 1}, - 0x05 = { 743, 1}, - 0x06 = { 744, 1}, - 0x07 = { 745, 1}, - 0x0A = { 746, 3}, - 0x0C = { 749, 1}, - 0x0F = { 750, 8}, - 0x10 = { 758, 22}, - 0x11 = { 780, 15}, - 0x12 = { 795, 17}, - 0x13 = { 812, 22}, - 0x20 = { 834, 5}, - 0x24 = { 839, 4}, - 0x30 = { 843, 17}, - 0x38 = { 860, 17}, - 0x3B = { 877, 1}, + 0x00 = { 740, 2}, + 0x01 = { 742, 1}, + 0x02 = { 743, 1}, + 0x03 = { 744, 1}, + 0x04 = { 745, 1}, + 0x05 = { 746, 1}, + 0x06 = { 747, 1}, + 0x07 = { 748, 1}, + 0x0A = { 749, 3}, + 0x0C = { 752, 1}, + 0x0F = { 753, 8}, + 0x10 = { 761, 22}, + 0x11 = { 783, 15}, + 0x12 = { 798, 17}, + 0x13 = { 815, 22}, + 0x20 = { 837, 5}, + 0x24 = { 842, 4}, + 0x30 = { 846, 17}, + 0x38 = { 863, 17}, + 0x3B = { 880, 1}, } diff --git a/core/rexcode/isa/mips/tablegen/generated/encode_tables.odin b/core/rexcode/isa/mips/tablegen/generated/encode_tables.odin index c92480dde..d30194688 100644 --- a/core/rexcode/isa/mips/tablegen/generated/encode_tables.odin +++ b/core/rexcode/isa/mips/tablegen/generated/encode_tables.odin @@ -8,7 +8,7 @@ package rexcode_mips_generated import lib "../.." @(rodata) -ENCODE_FORMS := [1026]lib.Encoding{ +ENCODE_FORMS := [1029]lib.Encoding{ // .ADD { .ADD, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x00000020, 0xFC0007FF, .MIPS_I, {} }, // .ADDU @@ -367,14 +367,20 @@ ENCODE_FORMS := [1026]lib.Encoding{ { .JIC, {.GPR,.IMM16S,.NONE,.NONE}, {.RT,.IMM_16,.NONE,.NONE}, 0xD8000000, 0xFFE00000, .MIPS32_R6, {compact=true} }, // .JIALC { .JIALC, {.GPR,.IMM16S,.NONE,.NONE}, {.RT,.IMM_16,.NONE,.NONE}, 0xF8000000, 0xFFE00000, .MIPS32_R6, {compact=true} }, + // .MUL_R6 + { .MUL_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x00000098, 0xFC0007FF, .MIPS32_R6, {} }, // .MUH { .MUH, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000D8, 0xFC0007FF, .MIPS32_R6, {} }, // .MULU { .MULU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x00000099, 0xFC0007FF, .MIPS32_R6, {} }, // .MUHU { .MUHU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000D9, 0xFC0007FF, .MIPS32_R6, {} }, + // .DIV_R6 + { .DIV_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009A, 0xFC0007FF, .MIPS32_R6, {} }, // .MOD { .MOD, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000DA, 0xFC0007FF, .MIPS32_R6, {} }, + // .DIVU_R6 + { .DIVU_R6, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x0000009B, 0xFC0007FF, .MIPS32_R6, {} }, // .MODU { .MODU, {.GPR,.GPR,.GPR,.NONE}, {.RD,.RS,.RT,.NONE}, 0x000000DB, 0xFC0007FF, .MIPS32_R6, {} }, // .DMUL_R6 @@ -2245,851 +2251,854 @@ ENCODE_RUNS := [lib.Mnemonic]lib.Encode_Run{ .BC2NEZ = { 176, 1}, .JIC = { 177, 1}, .JIALC = { 178, 1}, - .MUH = { 179, 1}, - .MULU = { 180, 1}, - .MUHU = { 181, 1}, - .MOD = { 182, 1}, - .MODU = { 183, 1}, - .DMUL_R6 = { 184, 1}, - .DMUH = { 185, 1}, - .DMULU = { 186, 1}, - .DMUHU = { 187, 1}, - .DDIV_R6 = { 188, 1}, - .DMOD = { 189, 1}, - .DDIVU_R6 = { 190, 1}, - .DMODU = { 191, 1}, - .AUI = { 192, 1}, - .AUIPC = { 193, 1}, - .ALUIPC = { 194, 1}, - .DAUI = { 195, 1}, - .DAHI = { 196, 1}, - .DATI = { 197, 1}, - .ALIGN = { 198, 1}, - .DALIGN = { 199, 1}, - .BITSWAP = { 200, 1}, - .DBITSWAP = { 201, 1}, - .LSA = { 202, 1}, - .DLSA = { 203, 1}, - .LWPC = { 204, 1}, - .LWUPC = { 205, 1}, - .LDPC = { 206, 1}, - .SELEQZ = { 207, 1}, - .SELNEZ = { 208, 1}, - .CRC32B = { 209, 1}, - .CRC32H = { 210, 1}, - .CRC32W = { 211, 1}, - .CRC32D = { 212, 1}, - .CRC32CB = { 213, 1}, - .CRC32CH = { 214, 1}, - .CRC32CW = { 215, 1}, - .CRC32CD = { 216, 1}, - .SIGRIE = { 217, 1}, - .MFC1 = { 218, 1}, - .MTC1 = { 219, 1}, - .DMFC1 = { 220, 1}, - .DMTC1 = { 221, 1}, - .CFC1 = { 222, 1}, - .CTC1 = { 223, 1}, - .MFHC1 = { 224, 1}, - .MTHC1 = { 225, 1}, - .LWC1 = { 226, 1}, - .SWC1 = { 227, 1}, - .LDC1 = { 228, 1}, - .SDC1 = { 229, 1}, - .ADD_S = { 230, 1}, - .ADD_D = { 231, 1}, - .ADD_PS = { 232, 1}, - .SUB_S = { 233, 1}, - .SUB_D = { 234, 1}, - .SUB_PS = { 235, 1}, - .MUL_S = { 236, 1}, - .MUL_D = { 237, 1}, - .MUL_PS = { 238, 1}, - .DIV_S = { 239, 1}, - .DIV_D = { 240, 1}, - .SQRT_S = { 241, 1}, - .SQRT_D = { 242, 1}, - .ABS_S = { 243, 1}, - .ABS_D = { 244, 1}, - .ABS_PS = { 245, 1}, - .NEG_S = { 246, 1}, - .NEG_D = { 247, 1}, - .NEG_PS = { 248, 1}, - .MOV_S = { 249, 1}, - .MOV_D = { 250, 1}, - .MOV_PS = { 251, 1}, - .RECIP_S = { 252, 1}, - .RECIP_D = { 253, 1}, - .RSQRT_S = { 254, 1}, - .RSQRT_D = { 255, 1}, - .MADD_S = { 256, 1}, - .MADD_D = { 257, 1}, - .MADD_PS = { 258, 1}, - .MSUB_S = { 259, 1}, - .MSUB_D = { 260, 1}, - .MSUB_PS = { 261, 1}, - .NMADD_S = { 262, 1}, - .NMADD_D = { 263, 1}, - .NMADD_PS = { 264, 1}, - .NMSUB_S = { 265, 1}, - .NMSUB_D = { 266, 1}, - .NMSUB_PS = { 267, 1}, - .MOVN_S = { 268, 1}, - .MOVN_D = { 269, 1}, - .MOVN_PS = { 270, 1}, - .MOVZ_S = { 271, 1}, - .MOVZ_D = { 272, 1}, - .MOVZ_PS = { 273, 1}, - .MOVF_S = { 274, 1}, - .MOVF_D = { 275, 1}, - .MOVF_PS = { 276, 1}, - .MOVT_S = { 277, 1}, - .MOVT_D = { 278, 1}, - .MOVT_PS = { 279, 1}, - .CVT_S_D = { 280, 1}, - .CVT_S_W = { 281, 1}, - .CVT_S_L = { 282, 1}, - .CVT_D_S = { 283, 1}, - .CVT_D_W = { 284, 1}, - .CVT_D_L = { 285, 1}, - .CVT_W_S = { 286, 1}, - .CVT_W_D = { 287, 1}, - .CVT_L_S = { 288, 1}, - .CVT_L_D = { 289, 1}, - .CVT_PS_S = { 290, 1}, - .CVT_S_PU = { 291, 1}, - .CVT_S_PL = { 292, 1}, - .PLL_PS = { 293, 1}, - .PLU_PS = { 294, 1}, - .PUL_PS = { 295, 1}, - .PUU_PS = { 296, 1}, - .ROUND_W_S = { 297, 1}, - .ROUND_W_D = { 298, 1}, - .ROUND_L_S = { 299, 1}, - .ROUND_L_D = { 300, 1}, - .TRUNC_W_S = { 301, 1}, - .TRUNC_W_D = { 302, 1}, - .TRUNC_L_S = { 303, 1}, - .TRUNC_L_D = { 304, 1}, - .CEIL_W_S = { 305, 1}, - .CEIL_W_D = { 306, 1}, - .CEIL_L_S = { 307, 1}, - .CEIL_L_D = { 308, 1}, - .FLOOR_W_S = { 309, 1}, - .FLOOR_W_D = { 310, 1}, - .FLOOR_L_S = { 311, 1}, - .FLOOR_L_D = { 312, 1}, - .C_F_S = { 313, 1}, - .C_F_D = { 314, 1}, - .C_F_PS = { 315, 1}, - .C_UN_S = { 316, 1}, - .C_UN_D = { 317, 1}, - .C_UN_PS = { 318, 1}, - .C_EQ_S = { 319, 1}, - .C_EQ_D = { 320, 1}, - .C_EQ_PS = { 321, 1}, - .C_UEQ_S = { 322, 1}, - .C_UEQ_D = { 323, 1}, - .C_UEQ_PS = { 324, 1}, - .C_OLT_S = { 325, 1}, - .C_OLT_D = { 326, 1}, - .C_OLT_PS = { 327, 1}, - .C_ULT_S = { 328, 1}, - .C_ULT_D = { 329, 1}, - .C_ULT_PS = { 330, 1}, - .C_OLE_S = { 331, 1}, - .C_OLE_D = { 332, 1}, - .C_OLE_PS = { 333, 1}, - .C_ULE_S = { 334, 1}, - .C_ULE_D = { 335, 1}, - .C_ULE_PS = { 336, 1}, - .C_SF_S = { 337, 1}, - .C_SF_D = { 338, 1}, - .C_SF_PS = { 339, 1}, - .C_NGLE_S = { 340, 1}, - .C_NGLE_D = { 341, 1}, - .C_NGLE_PS = { 342, 1}, - .C_SEQ_S = { 343, 1}, - .C_SEQ_D = { 344, 1}, - .C_SEQ_PS = { 345, 1}, - .C_NGL_S = { 346, 1}, - .C_NGL_D = { 347, 1}, - .C_NGL_PS = { 348, 1}, - .C_LT_S = { 349, 1}, - .C_LT_D = { 350, 1}, - .C_LT_PS = { 351, 1}, - .C_NGE_S = { 352, 1}, - .C_NGE_D = { 353, 1}, - .C_NGE_PS = { 354, 1}, - .C_LE_S = { 355, 1}, - .C_LE_D = { 356, 1}, - .C_LE_PS = { 357, 1}, - .C_NGT_S = { 358, 1}, - .C_NGT_D = { 359, 1}, - .C_NGT_PS = { 360, 1}, - .BC1F = { 361, 1}, - .BC1T = { 362, 1}, - .BC1FL = { 363, 1}, - .BC1TL = { 364, 1}, - .MFC0 = { 365, 1}, - .MTC0 = { 366, 1}, - .DMFC0 = { 367, 1}, - .DMTC0 = { 368, 1}, - .MFHC0 = { 369, 1}, - .MTHC0 = { 370, 1}, - .TLBP = { 371, 1}, - .TLBR = { 372, 1}, - .TLBWI = { 373, 1}, - .TLBWR = { 374, 1}, - .CACHE = { 375, 1}, - .MFC2 = { 376, 1}, - .MTC2 = { 377, 1}, - .CFC2 = { 378, 1}, - .CTC2 = { 379, 1}, - .LWC2 = { 380, 1}, - .SWC2 = { 381, 1}, - .LDC2 = { 382, 1}, - .SDC2 = { 383, 1}, - .RTPS = { 384, 1}, - .RTPT = { 385, 1}, - .DPCS = { 386, 1}, - .DPCT = { 387, 1}, - .INTPL = { 388, 1}, - .MVMVA = { 389, 1}, - .NCDS = { 390, 1}, - .NCDT = { 391, 1}, - .NCCS = { 392, 1}, - .NCCT = { 393, 1}, - .NCS = { 394, 1}, - .NCT = { 395, 1}, - .CDP = { 396, 1}, - .CC = { 397, 1}, - .NCLIP = { 398, 1}, - .AVSZ3 = { 399, 1}, - .AVSZ4 = { 400, 1}, - .OP_GTE = { 401, 1}, - .GPF = { 402, 1}, - .GPL = { 403, 1}, - .SQR_GTE = { 404, 1}, - .DCPL = { 405, 1}, - .LQ = { 406, 1}, - .SQ = { 407, 1}, - .LQC2 = { 408, 1}, - .SQC2 = { 409, 1}, - .MFHI1 = { 410, 1}, - .MFLO1 = { 411, 1}, - .MTHI1 = { 412, 1}, - .MTLO1 = { 413, 1}, - .MULT1 = { 414, 1}, - .MULTU1 = { 415, 1}, - .DIV1 = { 416, 1}, - .DIVU1 = { 417, 1}, - .MADD_EE = { 418, 1}, - .MADDU_EE = { 419, 1}, - .MSUB_EE = { 420, 1}, - .MSUBU_EE = { 421, 1}, - .MADD1 = { 422, 1}, - .MADDU1 = { 423, 1}, - .MSUB1 = { 424, 1}, - .MSUBU1 = { 425, 1}, - .PMFHL_LW = { 426, 1}, - .PMFHL_UW = { 427, 1}, - .PMFHL_LH = { 428, 1}, - .PMFHL_SH = { 429, 1}, - .PMFHL_SLW = { 430, 1}, - .PMTHL_LW = { 431, 1}, - .PADDB = { 432, 1}, - .PADDH = { 433, 1}, - .PADDW = { 434, 1}, - .PADDSB = { 435, 1}, - .PADDSH = { 436, 1}, - .PADDSW = { 437, 1}, - .PADDUB = { 438, 1}, - .PADDUH = { 439, 1}, - .PADDUW = { 440, 1}, - .PSUBB = { 441, 1}, - .PSUBH = { 442, 1}, - .PSUBW = { 443, 1}, - .PSUBSB = { 444, 1}, - .PSUBSH = { 445, 1}, - .PSUBSW = { 446, 1}, - .PSUBUB = { 447, 1}, - .PSUBUH = { 448, 1}, - .PSUBUW = { 449, 1}, - .PSLLH = { 450, 1}, - .PSRLH = { 451, 1}, - .PSRAH = { 452, 1}, - .PSLLW = { 453, 1}, - .PSRLW = { 454, 1}, - .PSRAW = { 455, 1}, - .PSLLVW = { 456, 1}, - .PSRLVW = { 457, 1}, - .PSRAVW = { 458, 1}, - .QFSRV = { 459, 1}, - .PAND = { 460, 1}, - .POR = { 461, 1}, - .PXOR = { 462, 1}, - .PNOR = { 463, 1}, - .PCEQB = { 464, 1}, - .PCEQH = { 465, 1}, - .PCEQW = { 466, 1}, - .PCGTB = { 467, 1}, - .PCGTH = { 468, 1}, - .PCGTW = { 469, 1}, - .PMULTW = { 470, 1}, - .PMULTUW = { 471, 1}, - .PMULTH = { 472, 1}, - .PMADDW = { 473, 1}, - .PMADDUW = { 474, 1}, - .PMADDH = { 475, 1}, - .PMSUBW = { 476, 1}, - .PMSUBH = { 477, 1}, - .PHMADH = { 478, 1}, - .PHMSBH = { 479, 1}, - .PDIVW = { 480, 1}, - .PDIVUW = { 481, 1}, - .PDIVBW = { 482, 1}, - .PCPYLD = { 483, 1}, - .PCPYUD = { 484, 1}, - .PCPYH = { 485, 1}, - .PINTH = { 486, 1}, - .PINTOH = { 487, 1}, - .PEXEH = { 488, 1}, - .PEXEW = { 489, 1}, - .PEXCH = { 490, 1}, - .PEXCW = { 491, 1}, - .PROT3W = { 492, 1}, - .PPACB = { 493, 1}, - .PPACH = { 494, 1}, - .PPACW = { 495, 1}, - .PPAC5 = { 496, 1}, - .PEXT5 = { 497, 1}, - .PEXTLB = { 498, 1}, - .PEXTLH = { 499, 1}, - .PEXTLW = { 500, 1}, - .PEXTUB = { 501, 1}, - .PEXTUH = { 502, 1}, - .PEXTUW = { 503, 1}, - .PMFHI = { 504, 1}, - .PMFLO = { 505, 1}, - .PMTHI = { 506, 1}, - .PMTLO = { 507, 1}, - .PLZCW = { 508, 1}, - .PABSH = { 509, 1}, - .PABSW = { 510, 1}, - .PMAXH = { 511, 1}, - .PMAXW = { 512, 1}, - .PMINH = { 513, 1}, - .PMINW = { 514, 1}, - .MFSA = { 515, 1}, - .MTSA = { 516, 1}, - .MTSAB = { 517, 1}, - .MTSAH = { 518, 1}, - .ADDQ_PH = { 519, 1}, - .ADDQ_S_PH = { 520, 1}, - .ADDQ_S_W = { 521, 1}, - .SUBQ_PH = { 522, 1}, - .SUBQ_S_PH = { 523, 1}, - .SUBQ_S_W = { 524, 1}, - .ADDU_QB = { 525, 1}, - .ADDU_S_QB = { 526, 1}, - .ADDU_PH = { 527, 1}, - .ADDU_S_PH = { 528, 1}, - .SUBU_QB = { 529, 1}, - .SUBU_S_QB = { 530, 1}, - .SUBU_PH = { 531, 1}, - .SUBU_S_PH = { 532, 1}, - .ADDSC = { 533, 1}, - .ADDWC = { 534, 1}, - .MULEU_S_PH_QBL = { 535, 1}, - .MULEU_S_PH_QBR = { 536, 1}, - .MULEQ_S_W_PHL = { 537, 1}, - .MULEQ_S_W_PHR = { 538, 1}, - .MULQ_RS_PH = { 539, 1}, - .MULQ_S_PH = { 540, 1}, - .MULSAQ_S_W_PH = { 541, 1}, - .DPAQ_S_W_PH = { 542, 1}, - .DPSQ_S_W_PH = { 543, 1}, - .DPAQ_SA_L_W = { 544, 1}, - .DPSQ_SA_L_W = { 545, 1}, - .DPAU_H_QBL = { 546, 1}, - .DPAU_H_QBR = { 547, 1}, - .DPSU_H_QBL = { 548, 1}, - .DPSU_H_QBR = { 549, 1}, - .DPA_W_PH = { 550, 1}, - .DPS_W_PH = { 551, 1}, - .DPAX_W_PH = { 552, 1}, - .DPSX_W_PH = { 553, 1}, - .MAQ_S_W_PHL = { 554, 1}, - .MAQ_S_W_PHR = { 555, 1}, - .MAQ_SA_W_PHL = { 556, 1}, - .MAQ_SA_W_PHR = { 557, 1}, - .EXTR_W = { 558, 1}, - .EXTR_R_W = { 559, 1}, - .EXTR_RS_W = { 560, 1}, - .EXTR_S_H = { 561, 1}, - .EXTRV_W = { 562, 1}, - .EXTRV_R_W = { 563, 1}, - .EXTRV_RS_W = { 564, 1}, - .EXTRV_S_H = { 565, 1}, - .EXTP = { 566, 1}, - .EXTPV = { 567, 1}, - .EXTPDP = { 568, 1}, - .EXTPDPV = { 569, 1}, - .SHILO = { 570, 1}, - .SHILOV = { 571, 1}, - .MTHLIP = { 572, 1}, - .WRDSP = { 573, 1}, - .RDDSP = { 574, 1}, - .PRECRQ_QB_PH = { 575, 1}, - .PRECRQ_PH_W = { 576, 1}, - .PRECRQU_S_QB_PH = { 577, 1}, - .PRECEQ_W_PHL = { 578, 1}, - .PRECEQ_W_PHR = { 579, 1}, - .PRECEQU_PH_QBL = { 580, 1}, - .PRECEQU_PH_QBR = { 581, 1}, - .PRECEQU_PH_QBLA = { 582, 1}, - .PRECEQU_PH_QBRA = { 583, 1}, - .PRECEU_PH_QBL = { 584, 1}, - .PRECEU_PH_QBR = { 585, 1}, - .PRECEU_PH_QBLA = { 586, 1}, - .PRECEU_PH_QBRA = { 587, 1}, - .PRECRQ_RS_PH_W = { 588, 1}, - .CMPU_EQ_QB = { 589, 1}, - .CMPU_LT_QB = { 590, 1}, - .CMPU_LE_QB = { 591, 1}, - .CMP_EQ_PH = { 592, 1}, - .CMP_LT_PH = { 593, 1}, - .CMP_LE_PH = { 594, 1}, - .CMPGU_EQ_QB = { 595, 1}, - .CMPGU_LT_QB = { 596, 1}, - .CMPGU_LE_QB = { 597, 1}, - .PICK_QB = { 598, 1}, - .PICK_PH = { 599, 1}, - .SHLL_QB = { 600, 1}, - .SHLL_PH = { 601, 1}, - .SHLL_S_PH = { 602, 1}, - .SHLL_S_W = { 603, 1}, - .SHLLV_QB = { 604, 1}, - .SHLLV_PH = { 605, 1}, - .SHLLV_S_PH = { 606, 1}, - .SHLLV_S_W = { 607, 1}, - .SHRL_QB = { 608, 1}, - .SHRL_PH = { 609, 1}, - .SHRLV_QB = { 610, 1}, - .SHRLV_PH = { 611, 1}, - .SHRA_QB = { 612, 1}, - .SHRA_R_QB = { 613, 1}, - .SHRA_PH = { 614, 1}, - .SHRA_R_PH = { 615, 1}, - .SHRA_R_W = { 616, 1}, - .SHRAV_QB = { 617, 1}, - .SHRAV_R_QB = { 618, 1}, - .SHRAV_PH = { 619, 1}, - .SHRAV_R_PH = { 620, 1}, - .SHRAV_R_W = { 621, 1}, - .LBUX = { 622, 1}, - .LHX = { 623, 1}, - .LWX = { 624, 1}, - .BPOSGE32 = { 625, 1}, - .INSV = { 626, 1}, - .BITREV = { 627, 1}, - .ABSQ_S_PH = { 628, 1}, - .ABSQ_S_W = { 629, 1}, - .REPL_PH = { 630, 1}, - .REPLV_PH = { 631, 1}, - .REPL_QB = { 632, 1}, - .REPLV_QB = { 633, 1}, - .ADDV_B = { 634, 1}, - .ADDV_H = { 635, 1}, - .ADDV_W = { 636, 1}, - .ADDV_D = { 637, 1}, - .SUBV_B = { 638, 1}, - .SUBV_H = { 639, 1}, - .SUBV_W = { 640, 1}, - .SUBV_D = { 641, 1}, - .ADDS_S_B = { 642, 1}, - .ADDS_S_H = { 643, 1}, - .ADDS_S_W = { 644, 1}, - .ADDS_S_D = { 645, 1}, - .ADDS_U_B = { 646, 1}, - .ADDS_U_H = { 647, 1}, - .ADDS_U_W = { 648, 1}, - .ADDS_U_D = { 649, 1}, - .SUBS_S_B = { 650, 1}, - .SUBS_S_H = { 651, 1}, - .SUBS_S_W = { 652, 1}, - .SUBS_S_D = { 653, 1}, - .SUBS_U_B = { 654, 1}, - .SUBS_U_H = { 655, 1}, - .SUBS_U_W = { 656, 1}, - .SUBS_U_D = { 657, 1}, - .MULV_B = { 658, 1}, - .MULV_H = { 659, 1}, - .MULV_W = { 660, 1}, - .MULV_D = { 661, 1}, - .DIV_S_B = { 662, 1}, - .DIV_S_H = { 663, 1}, - .DIV_S_W = { 664, 1}, - .DIV_S_D = { 665, 1}, - .DIV_U_B = { 666, 1}, - .DIV_U_H = { 667, 1}, - .DIV_U_W = { 668, 1}, - .DIV_U_D = { 669, 1}, - .MOD_S_B = { 670, 1}, - .MOD_S_H = { 671, 1}, - .MOD_S_W = { 672, 1}, - .MOD_S_D = { 673, 1}, - .MOD_U_B = { 674, 1}, - .MOD_U_H = { 675, 1}, - .MOD_U_W = { 676, 1}, - .MOD_U_D = { 677, 1}, - .MADDV_B = { 678, 1}, - .MADDV_H = { 679, 1}, - .MADDV_W = { 680, 1}, - .MADDV_D = { 681, 1}, - .MSUBV_B = { 682, 1}, - .MSUBV_H = { 683, 1}, - .MSUBV_W = { 684, 1}, - .MSUBV_D = { 685, 1}, - .DOTP_S_H = { 686, 1}, - .DOTP_S_W = { 687, 1}, - .DOTP_S_D = { 688, 1}, - .DOTP_U_H = { 689, 1}, - .DOTP_U_W = { 690, 1}, - .DOTP_U_D = { 691, 1}, - .AND_V = { 692, 1}, - .OR_V = { 693, 1}, - .NOR_V = { 694, 1}, - .XOR_V = { 695, 1}, - .ANDI_B = { 696, 1}, - .ORI_B = { 697, 1}, - .NORI_B = { 698, 1}, - .XORI_B = { 699, 1}, - .BSEL_V = { 700, 1}, - .BSELI_B = { 701, 1}, - .BMNZ_V = { 702, 1}, - .BMNZI_B = { 703, 1}, - .BMZ_V = { 704, 1}, - .BMZI_B = { 705, 1}, - .CEQ_B = { 706, 1}, - .CEQ_H = { 707, 1}, - .CEQ_W = { 708, 1}, - .CEQ_D = { 709, 1}, - .CLT_S_B = { 710, 1}, - .CLT_S_H = { 711, 1}, - .CLT_S_W = { 712, 1}, - .CLT_S_D = { 713, 1}, - .CLT_U_B = { 714, 1}, - .CLT_U_H = { 715, 1}, - .CLT_U_W = { 716, 1}, - .CLT_U_D = { 717, 1}, - .CLE_S_B = { 718, 1}, - .CLE_S_H = { 719, 1}, - .CLE_S_W = { 720, 1}, - .CLE_S_D = { 721, 1}, - .CLE_U_B = { 722, 1}, - .CLE_U_H = { 723, 1}, - .CLE_U_W = { 724, 1}, - .CLE_U_D = { 725, 1}, - .MIN_S_B = { 726, 1}, - .MIN_S_H = { 727, 1}, - .MIN_S_W = { 728, 1}, - .MIN_S_D = { 729, 1}, - .MIN_U_B = { 730, 1}, - .MIN_U_H = { 731, 1}, - .MIN_U_W = { 732, 1}, - .MIN_U_D = { 733, 1}, - .MAX_S_B = { 734, 1}, - .MAX_S_H = { 735, 1}, - .MAX_S_W = { 736, 1}, - .MAX_S_D = { 737, 1}, - .MAX_U_B = { 738, 1}, - .MAX_U_H = { 739, 1}, - .MAX_U_W = { 740, 1}, - .MAX_U_D = { 741, 1}, - .SLL_B = { 742, 1}, - .SLL_H = { 743, 1}, - .SLL_W = { 744, 1}, - .SLL_D = { 745, 1}, - .SRL_B = { 746, 1}, - .SRL_H = { 747, 1}, - .SRL_W = { 748, 1}, - .SRL_D = { 749, 1}, - .SRA_B = { 750, 1}, - .SRA_H = { 751, 1}, - .SRA_W = { 752, 1}, - .SRA_D = { 753, 1}, - .SLLI_B = { 754, 1}, - .SLLI_H = { 755, 1}, - .SLLI_W = { 756, 1}, - .SLLI_D = { 757, 1}, - .SRLI_B = { 758, 1}, - .SRLI_H = { 759, 1}, - .SRLI_W = { 760, 1}, - .SRLI_D = { 761, 1}, - .SRAI_B = { 762, 1}, - .SRAI_H = { 763, 1}, - .SRAI_W = { 764, 1}, - .SRAI_D = { 765, 1}, - .FADD_W = { 766, 1}, - .FADD_D = { 767, 1}, - .FSUB_W = { 768, 1}, - .FSUB_D = { 769, 1}, - .FMUL_W = { 770, 1}, - .FMUL_D = { 771, 1}, - .FDIV_W = { 772, 1}, - .FDIV_D = { 773, 1}, - .FSQRT_W = { 774, 1}, - .FSQRT_D = { 775, 1}, - .FRSQRT_W = { 776, 1}, - .FRSQRT_D = { 777, 1}, - .FRCP_W = { 778, 1}, - .FRCP_D = { 779, 1}, - .FRINT_W = { 780, 1}, - .FRINT_D = { 781, 1}, - .FMAX_W = { 782, 1}, - .FMAX_D = { 783, 1}, - .FMIN_W = { 784, 1}, - .FMIN_D = { 785, 1}, - .FCEQ_W = { 786, 1}, - .FCEQ_D = { 787, 1}, - .FCNE_W = { 788, 1}, - .FCNE_D = { 789, 1}, - .FCLT_W = { 790, 1}, - .FCLT_D = { 791, 1}, - .FCLE_W = { 792, 1}, - .FCLE_D = { 793, 1}, - .FFINT_S_W = { 794, 1}, - .FFINT_S_D = { 795, 1}, - .FFINT_U_W = { 796, 1}, - .FFINT_U_D = { 797, 1}, - .FTRUNC_S_W = { 798, 1}, - .FTRUNC_S_D = { 799, 1}, - .FTRUNC_U_W = { 800, 1}, - .FTRUNC_U_D = { 801, 1}, - .FCVT_S_W = { 802, 1}, - .FCVT_S_D = { 803, 1}, - .FCVT_D_W = { 804, 1}, - .LD_B = { 805, 1}, - .LD_H = { 806, 1}, - .LD_W = { 807, 1}, - .LD_D = { 808, 1}, - .ST_B = { 809, 1}, - .ST_H = { 810, 1}, - .ST_W = { 811, 1}, - .ST_D = { 812, 1}, - .LDI_B = { 813, 1}, - .LDI_H = { 814, 1}, - .LDI_W = { 815, 1}, - .LDI_D = { 816, 1}, - .COPY_S_B = { 817, 1}, - .COPY_S_H = { 818, 1}, - .COPY_S_W = { 819, 1}, - .COPY_U_B = { 820, 1}, - .COPY_U_H = { 821, 1}, - .COPY_U_W = { 822, 1}, - .INSERT_B = { 823, 1}, - .INSERT_H = { 824, 1}, - .INSERT_W = { 825, 1}, - .INSERT_D = { 826, 1}, - .INSVE_B = { 827, 1}, - .INSVE_H = { 828, 1}, - .INSVE_W = { 829, 1}, - .INSVE_D = { 830, 1}, - .SHF_B = { 831, 1}, - .SHF_H = { 832, 1}, - .SHF_W = { 833, 1}, - .VSHF_B = { 834, 1}, - .VSHF_H = { 835, 1}, - .VSHF_W = { 836, 1}, - .VSHF_D = { 837, 1}, - .SLD_B = { 838, 1}, - .SLD_H = { 839, 1}, - .SLD_W = { 840, 1}, - .SLD_D = { 841, 1}, - .SLDI_B = { 842, 1}, - .SLDI_H = { 843, 1}, - .SLDI_W = { 844, 1}, - .SLDI_D = { 845, 1}, - .SPLAT_B = { 846, 1}, - .SPLAT_H = { 847, 1}, - .SPLAT_W = { 848, 1}, - .SPLAT_D = { 849, 1}, - .SPLATI_B = { 850, 1}, - .SPLATI_H = { 851, 1}, - .SPLATI_W = { 852, 1}, - .SPLATI_D = { 853, 1}, - .BZ_V = { 854, 1}, - .BNZ_V = { 855, 1}, - .BZ_B = { 856, 1}, - .BZ_H = { 857, 1}, - .BZ_W = { 858, 1}, - .BZ_D = { 859, 1}, - .BNZ_B = { 860, 1}, - .BNZ_H = { 861, 1}, - .BNZ_W = { 862, 1}, - .BNZ_D = { 863, 1}, - .NLOC_B = { 864, 1}, - .NLOC_H = { 865, 1}, - .NLOC_W = { 866, 1}, - .NLOC_D = { 867, 1}, - .NLZC_B = { 868, 1}, - .NLZC_H = { 869, 1}, - .NLZC_W = { 870, 1}, - .NLZC_D = { 871, 1}, - .PCNT_B = { 872, 1}, - .PCNT_H = { 873, 1}, - .PCNT_W = { 874, 1}, - .PCNT_D = { 875, 1}, - .VMOV_S = { 876, 1}, - .VMOV_P = { 877, 1}, - .VMOV_T = { 878, 1}, - .VMOV_Q = { 879, 1}, - .LV_S = { 880, 1}, - .LV_Q = { 881, 1}, - .SV_S = { 882, 1}, - .SV_Q = { 883, 1}, - .LVL_Q = { 884, 1}, - .LVR_Q = { 885, 1}, - .SVL_Q = { 886, 1}, - .SVR_Q = { 887, 1}, - .VIIM_S = { 888, 1}, - .VFIM_S = { 889, 1}, - .VADD_S = { 890, 1}, - .VADD_P = { 891, 1}, - .VADD_T = { 892, 1}, - .VADD_Q = { 893, 1}, - .VSUB_S = { 894, 1}, - .VSUB_P = { 895, 1}, - .VSUB_T = { 896, 1}, - .VSUB_Q = { 897, 1}, - .VMUL_S = { 898, 1}, - .VMUL_P = { 899, 1}, - .VMUL_T = { 900, 1}, - .VMUL_Q = { 901, 1}, - .VDIV_S = { 902, 1}, - .VDIV_P = { 903, 1}, - .VDIV_T = { 904, 1}, - .VDIV_Q = { 905, 1}, - .VABS_S = { 906, 1}, - .VABS_P = { 907, 1}, - .VABS_T = { 908, 1}, - .VABS_Q = { 909, 1}, - .VNEG_S = { 910, 1}, - .VNEG_P = { 911, 1}, - .VNEG_T = { 912, 1}, - .VNEG_Q = { 913, 1}, - .VSQRT_S = { 914, 1}, - .VRCP_S = { 915, 1}, - .VRCP_P = { 916, 1}, - .VRCP_T = { 917, 1}, - .VRCP_Q = { 918, 1}, - .VRSQ_S = { 919, 1}, - .VRSQ_P = { 920, 1}, - .VRSQ_T = { 921, 1}, - .VRSQ_Q = { 922, 1}, - .VDOT_P = { 923, 1}, - .VDOT_T = { 924, 1}, - .VDOT_Q = { 925, 1}, - .VSCL_P = { 926, 1}, - .VSCL_T = { 927, 1}, - .VSCL_Q = { 928, 1}, - .VHDP_P = { 929, 1}, - .VHDP_T = { 930, 1}, - .VHDP_Q = { 931, 1}, - .VAVG_P = { 932, 1}, - .VAVG_T = { 933, 1}, - .VAVG_Q = { 934, 1}, - .VFAD_P = { 935, 1}, - .VFAD_T = { 936, 1}, - .VFAD_Q = { 937, 1}, - .VMMUL_P = { 938, 1}, - .VMMUL_T = { 939, 1}, - .VMMUL_Q = { 940, 1}, - .VTFM2_P = { 941, 1}, - .VTFM3_T = { 942, 1}, - .VTFM4_Q = { 943, 1}, - .VHTFM2_P = { 944, 1}, - .VHTFM3_T = { 945, 1}, - .VHTFM4_Q = { 946, 1}, - .VMSCL_P = { 947, 1}, - .VMSCL_T = { 948, 1}, - .VMSCL_Q = { 949, 1}, - .VMMOV_P = { 950, 1}, - .VMMOV_T = { 951, 1}, - .VMMOV_Q = { 952, 1}, - .VMIDT_P = { 953, 1}, - .VMIDT_T = { 954, 1}, - .VMIDT_Q = { 955, 1}, - .VMZERO_P = { 956, 1}, - .VMZERO_T = { 957, 1}, - .VMZERO_Q = { 958, 1}, - .VMONE_P = { 959, 1}, - .VMONE_T = { 960, 1}, - .VMONE_Q = { 961, 1}, - .VCRS_T = { 962, 1}, - .VCRSP_T = { 963, 1}, - .VQMUL_Q = { 964, 1}, - .VCMP_S = { 965, 1}, - .VCMP_P = { 966, 1}, - .VCMP_T = { 967, 1}, - .VCMP_Q = { 968, 1}, - .VMIN_S = { 969, 1}, - .VMIN_P = { 970, 1}, - .VMIN_T = { 971, 1}, - .VMIN_Q = { 972, 1}, - .VMAX_S = { 973, 1}, - .VMAX_P = { 974, 1}, - .VMAX_T = { 975, 1}, - .VMAX_Q = { 976, 1}, - .VSIN_S = { 977, 1}, - .VCOS_S = { 978, 1}, - .VEXP2_S = { 979, 1}, - .VLOG2_S = { 980, 1}, - .VASIN_S = { 981, 1}, - .VNRCP_S = { 982, 1}, - .VNSIN_S = { 983, 1}, - .VREXP2_S = { 984, 1}, - .VSGN_S = { 985, 1}, - .VI2F_S = { 986, 1}, - .VI2F_P = { 987, 1}, - .VI2F_T = { 988, 1}, - .VI2F_Q = { 989, 1}, - .VF2IN_S = { 990, 1}, - .VF2IN_P = { 991, 1}, - .VF2IN_T = { 992, 1}, - .VF2IN_Q = { 993, 1}, - .VF2IZ_S = { 994, 1}, - .VF2IZ_P = { 995, 1}, - .VF2IZ_T = { 996, 1}, - .VF2IZ_Q = { 997, 1}, - .VF2IU_S = { 998, 1}, - .VF2IU_P = { 999, 1}, - .VF2IU_T = { 1000, 1}, - .VF2IU_Q = { 1001, 1}, - .VF2ID_S = { 1002, 1}, - .VF2ID_P = { 1003, 1}, - .VF2ID_T = { 1004, 1}, - .VF2ID_Q = { 1005, 1}, - .VF2H_P = { 1006, 1}, - .VH2F_S = { 1007, 1}, - .VFLUSH = { 1008, 1}, - .VSYNC = { 1009, 1}, - .VNOP = { 1010, 1}, - .VPFXS = { 1011, 1}, - .VPFXT = { 1012, 1}, - .VPFXD = { 1013, 1}, - .VCST_S = { 1014, 1}, - .VCST_P = { 1015, 1}, - .VCST_T = { 1016, 1}, - .VCST_Q = { 1017, 1}, - .MFV = { 1018, 1}, - .MTV = { 1019, 1}, - .MFVC = { 1020, 1}, - .MTVC = { 1021, 1}, - .BVF = { 1022, 1}, - .BVT = { 1023, 1}, - .BVFL = { 1024, 1}, - .BVTL = { 1025, 1}, + .MUL_R6 = { 179, 1}, + .MUH = { 180, 1}, + .MULU = { 181, 1}, + .MUHU = { 182, 1}, + .DIV_R6 = { 183, 1}, + .MOD = { 184, 1}, + .DIVU_R6 = { 185, 1}, + .MODU = { 186, 1}, + .DMUL_R6 = { 187, 1}, + .DMUH = { 188, 1}, + .DMULU = { 189, 1}, + .DMUHU = { 190, 1}, + .DDIV_R6 = { 191, 1}, + .DMOD = { 192, 1}, + .DDIVU_R6 = { 193, 1}, + .DMODU = { 194, 1}, + .AUI = { 195, 1}, + .AUIPC = { 196, 1}, + .ALUIPC = { 197, 1}, + .DAUI = { 198, 1}, + .DAHI = { 199, 1}, + .DATI = { 200, 1}, + .ALIGN = { 201, 1}, + .DALIGN = { 202, 1}, + .BITSWAP = { 203, 1}, + .DBITSWAP = { 204, 1}, + .LSA = { 205, 1}, + .DLSA = { 206, 1}, + .LWPC = { 207, 1}, + .LWUPC = { 208, 1}, + .LDPC = { 209, 1}, + .SELEQZ = { 210, 1}, + .SELNEZ = { 211, 1}, + .CRC32B = { 212, 1}, + .CRC32H = { 213, 1}, + .CRC32W = { 214, 1}, + .CRC32D = { 215, 1}, + .CRC32CB = { 216, 1}, + .CRC32CH = { 217, 1}, + .CRC32CW = { 218, 1}, + .CRC32CD = { 219, 1}, + .SIGRIE = { 220, 1}, + .MFC1 = { 221, 1}, + .MTC1 = { 222, 1}, + .DMFC1 = { 223, 1}, + .DMTC1 = { 224, 1}, + .CFC1 = { 225, 1}, + .CTC1 = { 226, 1}, + .MFHC1 = { 227, 1}, + .MTHC1 = { 228, 1}, + .LWC1 = { 229, 1}, + .SWC1 = { 230, 1}, + .LDC1 = { 231, 1}, + .SDC1 = { 232, 1}, + .ADD_S = { 233, 1}, + .ADD_D = { 234, 1}, + .ADD_PS = { 235, 1}, + .SUB_S = { 236, 1}, + .SUB_D = { 237, 1}, + .SUB_PS = { 238, 1}, + .MUL_S = { 239, 1}, + .MUL_D = { 240, 1}, + .MUL_PS = { 241, 1}, + .DIV_S = { 242, 1}, + .DIV_D = { 243, 1}, + .SQRT_S = { 244, 1}, + .SQRT_D = { 245, 1}, + .ABS_S = { 246, 1}, + .ABS_D = { 247, 1}, + .ABS_PS = { 248, 1}, + .NEG_S = { 249, 1}, + .NEG_D = { 250, 1}, + .NEG_PS = { 251, 1}, + .MOV_S = { 252, 1}, + .MOV_D = { 253, 1}, + .MOV_PS = { 254, 1}, + .RECIP_S = { 255, 1}, + .RECIP_D = { 256, 1}, + .RSQRT_S = { 257, 1}, + .RSQRT_D = { 258, 1}, + .MADD_S = { 259, 1}, + .MADD_D = { 260, 1}, + .MADD_PS = { 261, 1}, + .MSUB_S = { 262, 1}, + .MSUB_D = { 263, 1}, + .MSUB_PS = { 264, 1}, + .NMADD_S = { 265, 1}, + .NMADD_D = { 266, 1}, + .NMADD_PS = { 267, 1}, + .NMSUB_S = { 268, 1}, + .NMSUB_D = { 269, 1}, + .NMSUB_PS = { 270, 1}, + .MOVN_S = { 271, 1}, + .MOVN_D = { 272, 1}, + .MOVN_PS = { 273, 1}, + .MOVZ_S = { 274, 1}, + .MOVZ_D = { 275, 1}, + .MOVZ_PS = { 276, 1}, + .MOVF_S = { 277, 1}, + .MOVF_D = { 278, 1}, + .MOVF_PS = { 279, 1}, + .MOVT_S = { 280, 1}, + .MOVT_D = { 281, 1}, + .MOVT_PS = { 282, 1}, + .CVT_S_D = { 283, 1}, + .CVT_S_W = { 284, 1}, + .CVT_S_L = { 285, 1}, + .CVT_D_S = { 286, 1}, + .CVT_D_W = { 287, 1}, + .CVT_D_L = { 288, 1}, + .CVT_W_S = { 289, 1}, + .CVT_W_D = { 290, 1}, + .CVT_L_S = { 291, 1}, + .CVT_L_D = { 292, 1}, + .CVT_PS_S = { 293, 1}, + .CVT_S_PU = { 294, 1}, + .CVT_S_PL = { 295, 1}, + .PLL_PS = { 296, 1}, + .PLU_PS = { 297, 1}, + .PUL_PS = { 298, 1}, + .PUU_PS = { 299, 1}, + .ROUND_W_S = { 300, 1}, + .ROUND_W_D = { 301, 1}, + .ROUND_L_S = { 302, 1}, + .ROUND_L_D = { 303, 1}, + .TRUNC_W_S = { 304, 1}, + .TRUNC_W_D = { 305, 1}, + .TRUNC_L_S = { 306, 1}, + .TRUNC_L_D = { 307, 1}, + .CEIL_W_S = { 308, 1}, + .CEIL_W_D = { 309, 1}, + .CEIL_L_S = { 310, 1}, + .CEIL_L_D = { 311, 1}, + .FLOOR_W_S = { 312, 1}, + .FLOOR_W_D = { 313, 1}, + .FLOOR_L_S = { 314, 1}, + .FLOOR_L_D = { 315, 1}, + .C_F_S = { 316, 1}, + .C_F_D = { 317, 1}, + .C_F_PS = { 318, 1}, + .C_UN_S = { 319, 1}, + .C_UN_D = { 320, 1}, + .C_UN_PS = { 321, 1}, + .C_EQ_S = { 322, 1}, + .C_EQ_D = { 323, 1}, + .C_EQ_PS = { 324, 1}, + .C_UEQ_S = { 325, 1}, + .C_UEQ_D = { 326, 1}, + .C_UEQ_PS = { 327, 1}, + .C_OLT_S = { 328, 1}, + .C_OLT_D = { 329, 1}, + .C_OLT_PS = { 330, 1}, + .C_ULT_S = { 331, 1}, + .C_ULT_D = { 332, 1}, + .C_ULT_PS = { 333, 1}, + .C_OLE_S = { 334, 1}, + .C_OLE_D = { 335, 1}, + .C_OLE_PS = { 336, 1}, + .C_ULE_S = { 337, 1}, + .C_ULE_D = { 338, 1}, + .C_ULE_PS = { 339, 1}, + .C_SF_S = { 340, 1}, + .C_SF_D = { 341, 1}, + .C_SF_PS = { 342, 1}, + .C_NGLE_S = { 343, 1}, + .C_NGLE_D = { 344, 1}, + .C_NGLE_PS = { 345, 1}, + .C_SEQ_S = { 346, 1}, + .C_SEQ_D = { 347, 1}, + .C_SEQ_PS = { 348, 1}, + .C_NGL_S = { 349, 1}, + .C_NGL_D = { 350, 1}, + .C_NGL_PS = { 351, 1}, + .C_LT_S = { 352, 1}, + .C_LT_D = { 353, 1}, + .C_LT_PS = { 354, 1}, + .C_NGE_S = { 355, 1}, + .C_NGE_D = { 356, 1}, + .C_NGE_PS = { 357, 1}, + .C_LE_S = { 358, 1}, + .C_LE_D = { 359, 1}, + .C_LE_PS = { 360, 1}, + .C_NGT_S = { 361, 1}, + .C_NGT_D = { 362, 1}, + .C_NGT_PS = { 363, 1}, + .BC1F = { 364, 1}, + .BC1T = { 365, 1}, + .BC1FL = { 366, 1}, + .BC1TL = { 367, 1}, + .MFC0 = { 368, 1}, + .MTC0 = { 369, 1}, + .DMFC0 = { 370, 1}, + .DMTC0 = { 371, 1}, + .MFHC0 = { 372, 1}, + .MTHC0 = { 373, 1}, + .TLBP = { 374, 1}, + .TLBR = { 375, 1}, + .TLBWI = { 376, 1}, + .TLBWR = { 377, 1}, + .CACHE = { 378, 1}, + .MFC2 = { 379, 1}, + .MTC2 = { 380, 1}, + .CFC2 = { 381, 1}, + .CTC2 = { 382, 1}, + .LWC2 = { 383, 1}, + .SWC2 = { 384, 1}, + .LDC2 = { 385, 1}, + .SDC2 = { 386, 1}, + .RTPS = { 387, 1}, + .RTPT = { 388, 1}, + .DPCS = { 389, 1}, + .DPCT = { 390, 1}, + .INTPL = { 391, 1}, + .MVMVA = { 392, 1}, + .NCDS = { 393, 1}, + .NCDT = { 394, 1}, + .NCCS = { 395, 1}, + .NCCT = { 396, 1}, + .NCS = { 397, 1}, + .NCT = { 398, 1}, + .CDP = { 399, 1}, + .CC = { 400, 1}, + .NCLIP = { 401, 1}, + .AVSZ3 = { 402, 1}, + .AVSZ4 = { 403, 1}, + .OP_GTE = { 404, 1}, + .GPF = { 405, 1}, + .GPL = { 406, 1}, + .SQR_GTE = { 407, 1}, + .DCPL = { 408, 1}, + .LQ = { 409, 1}, + .SQ = { 410, 1}, + .LQC2 = { 411, 1}, + .SQC2 = { 412, 1}, + .MFHI1 = { 413, 1}, + .MFLO1 = { 414, 1}, + .MTHI1 = { 415, 1}, + .MTLO1 = { 416, 1}, + .MULT1 = { 417, 1}, + .MULTU1 = { 418, 1}, + .DIV1 = { 419, 1}, + .DIVU1 = { 420, 1}, + .MADD_EE = { 421, 1}, + .MADDU_EE = { 422, 1}, + .MSUB_EE = { 423, 1}, + .MSUBU_EE = { 424, 1}, + .MADD1 = { 425, 1}, + .MADDU1 = { 426, 1}, + .MSUB1 = { 427, 1}, + .MSUBU1 = { 428, 1}, + .PMFHL_LW = { 429, 1}, + .PMFHL_UW = { 430, 1}, + .PMFHL_LH = { 431, 1}, + .PMFHL_SH = { 432, 1}, + .PMFHL_SLW = { 433, 1}, + .PMTHL_LW = { 434, 1}, + .PADDB = { 435, 1}, + .PADDH = { 436, 1}, + .PADDW = { 437, 1}, + .PADDSB = { 438, 1}, + .PADDSH = { 439, 1}, + .PADDSW = { 440, 1}, + .PADDUB = { 441, 1}, + .PADDUH = { 442, 1}, + .PADDUW = { 443, 1}, + .PSUBB = { 444, 1}, + .PSUBH = { 445, 1}, + .PSUBW = { 446, 1}, + .PSUBSB = { 447, 1}, + .PSUBSH = { 448, 1}, + .PSUBSW = { 449, 1}, + .PSUBUB = { 450, 1}, + .PSUBUH = { 451, 1}, + .PSUBUW = { 452, 1}, + .PSLLH = { 453, 1}, + .PSRLH = { 454, 1}, + .PSRAH = { 455, 1}, + .PSLLW = { 456, 1}, + .PSRLW = { 457, 1}, + .PSRAW = { 458, 1}, + .PSLLVW = { 459, 1}, + .PSRLVW = { 460, 1}, + .PSRAVW = { 461, 1}, + .QFSRV = { 462, 1}, + .PAND = { 463, 1}, + .POR = { 464, 1}, + .PXOR = { 465, 1}, + .PNOR = { 466, 1}, + .PCEQB = { 467, 1}, + .PCEQH = { 468, 1}, + .PCEQW = { 469, 1}, + .PCGTB = { 470, 1}, + .PCGTH = { 471, 1}, + .PCGTW = { 472, 1}, + .PMULTW = { 473, 1}, + .PMULTUW = { 474, 1}, + .PMULTH = { 475, 1}, + .PMADDW = { 476, 1}, + .PMADDUW = { 477, 1}, + .PMADDH = { 478, 1}, + .PMSUBW = { 479, 1}, + .PMSUBH = { 480, 1}, + .PHMADH = { 481, 1}, + .PHMSBH = { 482, 1}, + .PDIVW = { 483, 1}, + .PDIVUW = { 484, 1}, + .PDIVBW = { 485, 1}, + .PCPYLD = { 486, 1}, + .PCPYUD = { 487, 1}, + .PCPYH = { 488, 1}, + .PINTH = { 489, 1}, + .PINTOH = { 490, 1}, + .PEXEH = { 491, 1}, + .PEXEW = { 492, 1}, + .PEXCH = { 493, 1}, + .PEXCW = { 494, 1}, + .PROT3W = { 495, 1}, + .PPACB = { 496, 1}, + .PPACH = { 497, 1}, + .PPACW = { 498, 1}, + .PPAC5 = { 499, 1}, + .PEXT5 = { 500, 1}, + .PEXTLB = { 501, 1}, + .PEXTLH = { 502, 1}, + .PEXTLW = { 503, 1}, + .PEXTUB = { 504, 1}, + .PEXTUH = { 505, 1}, + .PEXTUW = { 506, 1}, + .PMFHI = { 507, 1}, + .PMFLO = { 508, 1}, + .PMTHI = { 509, 1}, + .PMTLO = { 510, 1}, + .PLZCW = { 511, 1}, + .PABSH = { 512, 1}, + .PABSW = { 513, 1}, + .PMAXH = { 514, 1}, + .PMAXW = { 515, 1}, + .PMINH = { 516, 1}, + .PMINW = { 517, 1}, + .MFSA = { 518, 1}, + .MTSA = { 519, 1}, + .MTSAB = { 520, 1}, + .MTSAH = { 521, 1}, + .ADDQ_PH = { 522, 1}, + .ADDQ_S_PH = { 523, 1}, + .ADDQ_S_W = { 524, 1}, + .SUBQ_PH = { 525, 1}, + .SUBQ_S_PH = { 526, 1}, + .SUBQ_S_W = { 527, 1}, + .ADDU_QB = { 528, 1}, + .ADDU_S_QB = { 529, 1}, + .ADDU_PH = { 530, 1}, + .ADDU_S_PH = { 531, 1}, + .SUBU_QB = { 532, 1}, + .SUBU_S_QB = { 533, 1}, + .SUBU_PH = { 534, 1}, + .SUBU_S_PH = { 535, 1}, + .ADDSC = { 536, 1}, + .ADDWC = { 537, 1}, + .MULEU_S_PH_QBL = { 538, 1}, + .MULEU_S_PH_QBR = { 539, 1}, + .MULEQ_S_W_PHL = { 540, 1}, + .MULEQ_S_W_PHR = { 541, 1}, + .MULQ_RS_PH = { 542, 1}, + .MULQ_S_PH = { 543, 1}, + .MULSAQ_S_W_PH = { 544, 1}, + .DPAQ_S_W_PH = { 545, 1}, + .DPSQ_S_W_PH = { 546, 1}, + .DPAQ_SA_L_W = { 547, 1}, + .DPSQ_SA_L_W = { 548, 1}, + .DPAU_H_QBL = { 549, 1}, + .DPAU_H_QBR = { 550, 1}, + .DPSU_H_QBL = { 551, 1}, + .DPSU_H_QBR = { 552, 1}, + .DPA_W_PH = { 553, 1}, + .DPS_W_PH = { 554, 1}, + .DPAX_W_PH = { 555, 1}, + .DPSX_W_PH = { 556, 1}, + .MAQ_S_W_PHL = { 557, 1}, + .MAQ_S_W_PHR = { 558, 1}, + .MAQ_SA_W_PHL = { 559, 1}, + .MAQ_SA_W_PHR = { 560, 1}, + .EXTR_W = { 561, 1}, + .EXTR_R_W = { 562, 1}, + .EXTR_RS_W = { 563, 1}, + .EXTR_S_H = { 564, 1}, + .EXTRV_W = { 565, 1}, + .EXTRV_R_W = { 566, 1}, + .EXTRV_RS_W = { 567, 1}, + .EXTRV_S_H = { 568, 1}, + .EXTP = { 569, 1}, + .EXTPV = { 570, 1}, + .EXTPDP = { 571, 1}, + .EXTPDPV = { 572, 1}, + .SHILO = { 573, 1}, + .SHILOV = { 574, 1}, + .MTHLIP = { 575, 1}, + .WRDSP = { 576, 1}, + .RDDSP = { 577, 1}, + .PRECRQ_QB_PH = { 578, 1}, + .PRECRQ_PH_W = { 579, 1}, + .PRECRQU_S_QB_PH = { 580, 1}, + .PRECEQ_W_PHL = { 581, 1}, + .PRECEQ_W_PHR = { 582, 1}, + .PRECEQU_PH_QBL = { 583, 1}, + .PRECEQU_PH_QBR = { 584, 1}, + .PRECEQU_PH_QBLA = { 585, 1}, + .PRECEQU_PH_QBRA = { 586, 1}, + .PRECEU_PH_QBL = { 587, 1}, + .PRECEU_PH_QBR = { 588, 1}, + .PRECEU_PH_QBLA = { 589, 1}, + .PRECEU_PH_QBRA = { 590, 1}, + .PRECRQ_RS_PH_W = { 591, 1}, + .CMPU_EQ_QB = { 592, 1}, + .CMPU_LT_QB = { 593, 1}, + .CMPU_LE_QB = { 594, 1}, + .CMP_EQ_PH = { 595, 1}, + .CMP_LT_PH = { 596, 1}, + .CMP_LE_PH = { 597, 1}, + .CMPGU_EQ_QB = { 598, 1}, + .CMPGU_LT_QB = { 599, 1}, + .CMPGU_LE_QB = { 600, 1}, + .PICK_QB = { 601, 1}, + .PICK_PH = { 602, 1}, + .SHLL_QB = { 603, 1}, + .SHLL_PH = { 604, 1}, + .SHLL_S_PH = { 605, 1}, + .SHLL_S_W = { 606, 1}, + .SHLLV_QB = { 607, 1}, + .SHLLV_PH = { 608, 1}, + .SHLLV_S_PH = { 609, 1}, + .SHLLV_S_W = { 610, 1}, + .SHRL_QB = { 611, 1}, + .SHRL_PH = { 612, 1}, + .SHRLV_QB = { 613, 1}, + .SHRLV_PH = { 614, 1}, + .SHRA_QB = { 615, 1}, + .SHRA_R_QB = { 616, 1}, + .SHRA_PH = { 617, 1}, + .SHRA_R_PH = { 618, 1}, + .SHRA_R_W = { 619, 1}, + .SHRAV_QB = { 620, 1}, + .SHRAV_R_QB = { 621, 1}, + .SHRAV_PH = { 622, 1}, + .SHRAV_R_PH = { 623, 1}, + .SHRAV_R_W = { 624, 1}, + .LBUX = { 625, 1}, + .LHX = { 626, 1}, + .LWX = { 627, 1}, + .BPOSGE32 = { 628, 1}, + .INSV = { 629, 1}, + .BITREV = { 630, 1}, + .ABSQ_S_PH = { 631, 1}, + .ABSQ_S_W = { 632, 1}, + .REPL_PH = { 633, 1}, + .REPLV_PH = { 634, 1}, + .REPL_QB = { 635, 1}, + .REPLV_QB = { 636, 1}, + .ADDV_B = { 637, 1}, + .ADDV_H = { 638, 1}, + .ADDV_W = { 639, 1}, + .ADDV_D = { 640, 1}, + .SUBV_B = { 641, 1}, + .SUBV_H = { 642, 1}, + .SUBV_W = { 643, 1}, + .SUBV_D = { 644, 1}, + .ADDS_S_B = { 645, 1}, + .ADDS_S_H = { 646, 1}, + .ADDS_S_W = { 647, 1}, + .ADDS_S_D = { 648, 1}, + .ADDS_U_B = { 649, 1}, + .ADDS_U_H = { 650, 1}, + .ADDS_U_W = { 651, 1}, + .ADDS_U_D = { 652, 1}, + .SUBS_S_B = { 653, 1}, + .SUBS_S_H = { 654, 1}, + .SUBS_S_W = { 655, 1}, + .SUBS_S_D = { 656, 1}, + .SUBS_U_B = { 657, 1}, + .SUBS_U_H = { 658, 1}, + .SUBS_U_W = { 659, 1}, + .SUBS_U_D = { 660, 1}, + .MULV_B = { 661, 1}, + .MULV_H = { 662, 1}, + .MULV_W = { 663, 1}, + .MULV_D = { 664, 1}, + .DIV_S_B = { 665, 1}, + .DIV_S_H = { 666, 1}, + .DIV_S_W = { 667, 1}, + .DIV_S_D = { 668, 1}, + .DIV_U_B = { 669, 1}, + .DIV_U_H = { 670, 1}, + .DIV_U_W = { 671, 1}, + .DIV_U_D = { 672, 1}, + .MOD_S_B = { 673, 1}, + .MOD_S_H = { 674, 1}, + .MOD_S_W = { 675, 1}, + .MOD_S_D = { 676, 1}, + .MOD_U_B = { 677, 1}, + .MOD_U_H = { 678, 1}, + .MOD_U_W = { 679, 1}, + .MOD_U_D = { 680, 1}, + .MADDV_B = { 681, 1}, + .MADDV_H = { 682, 1}, + .MADDV_W = { 683, 1}, + .MADDV_D = { 684, 1}, + .MSUBV_B = { 685, 1}, + .MSUBV_H = { 686, 1}, + .MSUBV_W = { 687, 1}, + .MSUBV_D = { 688, 1}, + .DOTP_S_H = { 689, 1}, + .DOTP_S_W = { 690, 1}, + .DOTP_S_D = { 691, 1}, + .DOTP_U_H = { 692, 1}, + .DOTP_U_W = { 693, 1}, + .DOTP_U_D = { 694, 1}, + .AND_V = { 695, 1}, + .OR_V = { 696, 1}, + .NOR_V = { 697, 1}, + .XOR_V = { 698, 1}, + .ANDI_B = { 699, 1}, + .ORI_B = { 700, 1}, + .NORI_B = { 701, 1}, + .XORI_B = { 702, 1}, + .BSEL_V = { 703, 1}, + .BSELI_B = { 704, 1}, + .BMNZ_V = { 705, 1}, + .BMNZI_B = { 706, 1}, + .BMZ_V = { 707, 1}, + .BMZI_B = { 708, 1}, + .CEQ_B = { 709, 1}, + .CEQ_H = { 710, 1}, + .CEQ_W = { 711, 1}, + .CEQ_D = { 712, 1}, + .CLT_S_B = { 713, 1}, + .CLT_S_H = { 714, 1}, + .CLT_S_W = { 715, 1}, + .CLT_S_D = { 716, 1}, + .CLT_U_B = { 717, 1}, + .CLT_U_H = { 718, 1}, + .CLT_U_W = { 719, 1}, + .CLT_U_D = { 720, 1}, + .CLE_S_B = { 721, 1}, + .CLE_S_H = { 722, 1}, + .CLE_S_W = { 723, 1}, + .CLE_S_D = { 724, 1}, + .CLE_U_B = { 725, 1}, + .CLE_U_H = { 726, 1}, + .CLE_U_W = { 727, 1}, + .CLE_U_D = { 728, 1}, + .MIN_S_B = { 729, 1}, + .MIN_S_H = { 730, 1}, + .MIN_S_W = { 731, 1}, + .MIN_S_D = { 732, 1}, + .MIN_U_B = { 733, 1}, + .MIN_U_H = { 734, 1}, + .MIN_U_W = { 735, 1}, + .MIN_U_D = { 736, 1}, + .MAX_S_B = { 737, 1}, + .MAX_S_H = { 738, 1}, + .MAX_S_W = { 739, 1}, + .MAX_S_D = { 740, 1}, + .MAX_U_B = { 741, 1}, + .MAX_U_H = { 742, 1}, + .MAX_U_W = { 743, 1}, + .MAX_U_D = { 744, 1}, + .SLL_B = { 745, 1}, + .SLL_H = { 746, 1}, + .SLL_W = { 747, 1}, + .SLL_D = { 748, 1}, + .SRL_B = { 749, 1}, + .SRL_H = { 750, 1}, + .SRL_W = { 751, 1}, + .SRL_D = { 752, 1}, + .SRA_B = { 753, 1}, + .SRA_H = { 754, 1}, + .SRA_W = { 755, 1}, + .SRA_D = { 756, 1}, + .SLLI_B = { 757, 1}, + .SLLI_H = { 758, 1}, + .SLLI_W = { 759, 1}, + .SLLI_D = { 760, 1}, + .SRLI_B = { 761, 1}, + .SRLI_H = { 762, 1}, + .SRLI_W = { 763, 1}, + .SRLI_D = { 764, 1}, + .SRAI_B = { 765, 1}, + .SRAI_H = { 766, 1}, + .SRAI_W = { 767, 1}, + .SRAI_D = { 768, 1}, + .FADD_W = { 769, 1}, + .FADD_D = { 770, 1}, + .FSUB_W = { 771, 1}, + .FSUB_D = { 772, 1}, + .FMUL_W = { 773, 1}, + .FMUL_D = { 774, 1}, + .FDIV_W = { 775, 1}, + .FDIV_D = { 776, 1}, + .FSQRT_W = { 777, 1}, + .FSQRT_D = { 778, 1}, + .FRSQRT_W = { 779, 1}, + .FRSQRT_D = { 780, 1}, + .FRCP_W = { 781, 1}, + .FRCP_D = { 782, 1}, + .FRINT_W = { 783, 1}, + .FRINT_D = { 784, 1}, + .FMAX_W = { 785, 1}, + .FMAX_D = { 786, 1}, + .FMIN_W = { 787, 1}, + .FMIN_D = { 788, 1}, + .FCEQ_W = { 789, 1}, + .FCEQ_D = { 790, 1}, + .FCNE_W = { 791, 1}, + .FCNE_D = { 792, 1}, + .FCLT_W = { 793, 1}, + .FCLT_D = { 794, 1}, + .FCLE_W = { 795, 1}, + .FCLE_D = { 796, 1}, + .FFINT_S_W = { 797, 1}, + .FFINT_S_D = { 798, 1}, + .FFINT_U_W = { 799, 1}, + .FFINT_U_D = { 800, 1}, + .FTRUNC_S_W = { 801, 1}, + .FTRUNC_S_D = { 802, 1}, + .FTRUNC_U_W = { 803, 1}, + .FTRUNC_U_D = { 804, 1}, + .FCVT_S_W = { 805, 1}, + .FCVT_S_D = { 806, 1}, + .FCVT_D_W = { 807, 1}, + .LD_B = { 808, 1}, + .LD_H = { 809, 1}, + .LD_W = { 810, 1}, + .LD_D = { 811, 1}, + .ST_B = { 812, 1}, + .ST_H = { 813, 1}, + .ST_W = { 814, 1}, + .ST_D = { 815, 1}, + .LDI_B = { 816, 1}, + .LDI_H = { 817, 1}, + .LDI_W = { 818, 1}, + .LDI_D = { 819, 1}, + .COPY_S_B = { 820, 1}, + .COPY_S_H = { 821, 1}, + .COPY_S_W = { 822, 1}, + .COPY_U_B = { 823, 1}, + .COPY_U_H = { 824, 1}, + .COPY_U_W = { 825, 1}, + .INSERT_B = { 826, 1}, + .INSERT_H = { 827, 1}, + .INSERT_W = { 828, 1}, + .INSERT_D = { 829, 1}, + .INSVE_B = { 830, 1}, + .INSVE_H = { 831, 1}, + .INSVE_W = { 832, 1}, + .INSVE_D = { 833, 1}, + .SHF_B = { 834, 1}, + .SHF_H = { 835, 1}, + .SHF_W = { 836, 1}, + .VSHF_B = { 837, 1}, + .VSHF_H = { 838, 1}, + .VSHF_W = { 839, 1}, + .VSHF_D = { 840, 1}, + .SLD_B = { 841, 1}, + .SLD_H = { 842, 1}, + .SLD_W = { 843, 1}, + .SLD_D = { 844, 1}, + .SLDI_B = { 845, 1}, + .SLDI_H = { 846, 1}, + .SLDI_W = { 847, 1}, + .SLDI_D = { 848, 1}, + .SPLAT_B = { 849, 1}, + .SPLAT_H = { 850, 1}, + .SPLAT_W = { 851, 1}, + .SPLAT_D = { 852, 1}, + .SPLATI_B = { 853, 1}, + .SPLATI_H = { 854, 1}, + .SPLATI_W = { 855, 1}, + .SPLATI_D = { 856, 1}, + .BZ_V = { 857, 1}, + .BNZ_V = { 858, 1}, + .BZ_B = { 859, 1}, + .BZ_H = { 860, 1}, + .BZ_W = { 861, 1}, + .BZ_D = { 862, 1}, + .BNZ_B = { 863, 1}, + .BNZ_H = { 864, 1}, + .BNZ_W = { 865, 1}, + .BNZ_D = { 866, 1}, + .NLOC_B = { 867, 1}, + .NLOC_H = { 868, 1}, + .NLOC_W = { 869, 1}, + .NLOC_D = { 870, 1}, + .NLZC_B = { 871, 1}, + .NLZC_H = { 872, 1}, + .NLZC_W = { 873, 1}, + .NLZC_D = { 874, 1}, + .PCNT_B = { 875, 1}, + .PCNT_H = { 876, 1}, + .PCNT_W = { 877, 1}, + .PCNT_D = { 878, 1}, + .VMOV_S = { 879, 1}, + .VMOV_P = { 880, 1}, + .VMOV_T = { 881, 1}, + .VMOV_Q = { 882, 1}, + .LV_S = { 883, 1}, + .LV_Q = { 884, 1}, + .SV_S = { 885, 1}, + .SV_Q = { 886, 1}, + .LVL_Q = { 887, 1}, + .LVR_Q = { 888, 1}, + .SVL_Q = { 889, 1}, + .SVR_Q = { 890, 1}, + .VIIM_S = { 891, 1}, + .VFIM_S = { 892, 1}, + .VADD_S = { 893, 1}, + .VADD_P = { 894, 1}, + .VADD_T = { 895, 1}, + .VADD_Q = { 896, 1}, + .VSUB_S = { 897, 1}, + .VSUB_P = { 898, 1}, + .VSUB_T = { 899, 1}, + .VSUB_Q = { 900, 1}, + .VMUL_S = { 901, 1}, + .VMUL_P = { 902, 1}, + .VMUL_T = { 903, 1}, + .VMUL_Q = { 904, 1}, + .VDIV_S = { 905, 1}, + .VDIV_P = { 906, 1}, + .VDIV_T = { 907, 1}, + .VDIV_Q = { 908, 1}, + .VABS_S = { 909, 1}, + .VABS_P = { 910, 1}, + .VABS_T = { 911, 1}, + .VABS_Q = { 912, 1}, + .VNEG_S = { 913, 1}, + .VNEG_P = { 914, 1}, + .VNEG_T = { 915, 1}, + .VNEG_Q = { 916, 1}, + .VSQRT_S = { 917, 1}, + .VRCP_S = { 918, 1}, + .VRCP_P = { 919, 1}, + .VRCP_T = { 920, 1}, + .VRCP_Q = { 921, 1}, + .VRSQ_S = { 922, 1}, + .VRSQ_P = { 923, 1}, + .VRSQ_T = { 924, 1}, + .VRSQ_Q = { 925, 1}, + .VDOT_P = { 926, 1}, + .VDOT_T = { 927, 1}, + .VDOT_Q = { 928, 1}, + .VSCL_P = { 929, 1}, + .VSCL_T = { 930, 1}, + .VSCL_Q = { 931, 1}, + .VHDP_P = { 932, 1}, + .VHDP_T = { 933, 1}, + .VHDP_Q = { 934, 1}, + .VAVG_P = { 935, 1}, + .VAVG_T = { 936, 1}, + .VAVG_Q = { 937, 1}, + .VFAD_P = { 938, 1}, + .VFAD_T = { 939, 1}, + .VFAD_Q = { 940, 1}, + .VMMUL_P = { 941, 1}, + .VMMUL_T = { 942, 1}, + .VMMUL_Q = { 943, 1}, + .VTFM2_P = { 944, 1}, + .VTFM3_T = { 945, 1}, + .VTFM4_Q = { 946, 1}, + .VHTFM2_P = { 947, 1}, + .VHTFM3_T = { 948, 1}, + .VHTFM4_Q = { 949, 1}, + .VMSCL_P = { 950, 1}, + .VMSCL_T = { 951, 1}, + .VMSCL_Q = { 952, 1}, + .VMMOV_P = { 953, 1}, + .VMMOV_T = { 954, 1}, + .VMMOV_Q = { 955, 1}, + .VMIDT_P = { 956, 1}, + .VMIDT_T = { 957, 1}, + .VMIDT_Q = { 958, 1}, + .VMZERO_P = { 959, 1}, + .VMZERO_T = { 960, 1}, + .VMZERO_Q = { 961, 1}, + .VMONE_P = { 962, 1}, + .VMONE_T = { 963, 1}, + .VMONE_Q = { 964, 1}, + .VCRS_T = { 965, 1}, + .VCRSP_T = { 966, 1}, + .VQMUL_Q = { 967, 1}, + .VCMP_S = { 968, 1}, + .VCMP_P = { 969, 1}, + .VCMP_T = { 970, 1}, + .VCMP_Q = { 971, 1}, + .VMIN_S = { 972, 1}, + .VMIN_P = { 973, 1}, + .VMIN_T = { 974, 1}, + .VMIN_Q = { 975, 1}, + .VMAX_S = { 976, 1}, + .VMAX_P = { 977, 1}, + .VMAX_T = { 978, 1}, + .VMAX_Q = { 979, 1}, + .VSIN_S = { 980, 1}, + .VCOS_S = { 981, 1}, + .VEXP2_S = { 982, 1}, + .VLOG2_S = { 983, 1}, + .VASIN_S = { 984, 1}, + .VNRCP_S = { 985, 1}, + .VNSIN_S = { 986, 1}, + .VREXP2_S = { 987, 1}, + .VSGN_S = { 988, 1}, + .VI2F_S = { 989, 1}, + .VI2F_P = { 990, 1}, + .VI2F_T = { 991, 1}, + .VI2F_Q = { 992, 1}, + .VF2IN_S = { 993, 1}, + .VF2IN_P = { 994, 1}, + .VF2IN_T = { 995, 1}, + .VF2IN_Q = { 996, 1}, + .VF2IZ_S = { 997, 1}, + .VF2IZ_P = { 998, 1}, + .VF2IZ_T = { 999, 1}, + .VF2IZ_Q = { 1000, 1}, + .VF2IU_S = { 1001, 1}, + .VF2IU_P = { 1002, 1}, + .VF2IU_T = { 1003, 1}, + .VF2IU_Q = { 1004, 1}, + .VF2ID_S = { 1005, 1}, + .VF2ID_P = { 1006, 1}, + .VF2ID_T = { 1007, 1}, + .VF2ID_Q = { 1008, 1}, + .VF2H_P = { 1009, 1}, + .VH2F_S = { 1010, 1}, + .VFLUSH = { 1011, 1}, + .VSYNC = { 1012, 1}, + .VNOP = { 1013, 1}, + .VPFXS = { 1014, 1}, + .VPFXT = { 1015, 1}, + .VPFXD = { 1016, 1}, + .VCST_S = { 1017, 1}, + .VCST_P = { 1018, 1}, + .VCST_T = { 1019, 1}, + .VCST_Q = { 1020, 1}, + .MFV = { 1021, 1}, + .MTV = { 1022, 1}, + .MFVC = { 1023, 1}, + .MTVC = { 1024, 1}, + .BVF = { 1025, 1}, + .BVT = { 1026, 1}, + .BVFL = { 1027, 1}, + .BVTL = { 1028, 1}, } diff --git a/core/rexcode/isa/mips/tables/mips.encode_forms.bin b/core/rexcode/isa/mips/tables/mips.encode_forms.bin index d3e55910b450a1aa517700fea52077c5147abb3c..270eeb81fdcec8b930c724c59fa4151b1628705c 100644 GIT binary patch literal 20580 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 WBr!&)7z>gZ6GV)e6-kU4Dh2>~&q^5p literal 20520 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 F0|4uWLHhsz diff --git a/core/rexcode/isa/mips/tables/mips.encode_runs.bin b/core/rexcode/isa/mips/tables/mips.encode_runs.bin index edf66744d434b487f0dc839ae44e19b0d36390d7..3fd0673e353fee9bef95786308aa1b6b5c8ea9d1 100644 GIT binary patch delta 32 ccmbQ?u)$%2gn|SU3j+fq0|NsylxBg_08@AZ;Q#;t delta 7 OcmdnsFvDSkgaQBzuL7|E diff --git a/core/rexcode/isa/mips/tables/mips.entries.bin b/core/rexcode/isa/mips/tables/mips.entries.bin index 204bb061ecac9c79176bdfc82121ea9fefd7cf2a..32ce70023443ad4f86da3e8731c7fc014a087da8 100644 GIT binary patch literal 20580 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 diff --git a/core/rexcode/isa/mips/tables/mips.idx_primary.bin b/core/rexcode/isa/mips/tables/mips.idx_primary.bin index 3a052bcc42176002a470b14e222f1de151970ce7..ef40620d5fd752abffa14688f9ed05eb1b2c469e 100644 GIT binary patch delta 202 zcmZo*YGA5oUmJJ&d9n#aPVnmywa-ALBEICrrH)yX~DA85)@x8Jd_G8Jd}y8QPc` z8QPic8ICbCGn`~*WjM#o#&Ct1k>M&cBf~XjW`>*0tPJ;Vqjz_W?*C} zVPIq^Wng3|V_;+`XJBNgU|?dXVi08LW|+hv%c#QO$SBAV#K_1H%*ew#mLW4$;il1#mLLh&RERwi;HUx z85vrb?HLX;Gcz1xW@R|d%*Jq$nUUcVGb6)gW@d(K%&ZKznWY)NF*7s#WM*af$IQY2 E0F(S7L;wH) diff --git a/core/rexcode/isa/mips/tables/mips.idx_regimm.bin b/core/rexcode/isa/mips/tables/mips.idx_regimm.bin index c9cd68d079b15c7fe0af406847d27e097ccca0d4..30b3fe2a193ea421fdbee6004d657644c7d8e81a 100644 GIT binary patch literal 128 zcmWG%U}T73U}T77U}T75U}S)SXec{|fsrAWfsrAOfsrAefsr8rDxL_XlNcBok{K8o eQWzK+QlVlnGtw9s8PXXT88VQ>GokD(C=CD_{s*4` literal 128 zcmWGxU}OkoU}OkmU}OkqU}S)S2q-&}fsrAKfsrAafsrAGfsr8=Djo-=;~5wk5*Qd6 e5*Zj7lAvNRGm;q?8B!P+8B&qN)1d5hC=CD!?gwK4 diff --git a/core/rexcode/isa/mips/tables/mips.idx_special.bin b/core/rexcode/isa/mips/tables/mips.idx_special.bin index 769b23b55921104dbf8b2e26919e81e88c9451d9..29fa1643ece875c1eccbea237a9c77ca2ce750dd 100644 GIT binary patch delta 80 zcmZo*YG9g>B+Ja8#K6p;%D~K^!NAO*&A`l{$H2^B$iU2C!oWPSJ5s}!fsw(Ffsw(V bfsp|O0vMPWf*2SXf}#8n1}26u21W(|XZ;6> delta 80 zcmZo*YG9g>q{+mf$iU2?!ob9!#=yj&!NAO*&A`l{$H2^B$iU2C!obL2%D~8A#=tnS hK2nB(fq}u7fr-JNfsrAAff2-I2xMSl2xeep002jT2M_=N diff --git a/core/rexcode/isa/mips/tables/mips.idx_special2.bin b/core/rexcode/isa/mips/tables/mips.idx_special2.bin index 9a052931a8f389f321c065fd8e853ddb9e1d29fc..79414583e9eaaad91ce328bc3131a7eb197f9dc4 100644 GIT binary patch literal 256 zcmeBTWMb%HWMb%JWMlw=enw`7NsLS&CKyj)lw?@TC b&rtRkMn;COP&TrLZ&0!CjEoFF7?~IVP0kln diff --git a/core/rexcode/isa/mips/tables/mips.idx_special3.bin b/core/rexcode/isa/mips/tables/mips.idx_special3.bin index bf6622b184de428dfb342983c1d61fcf461a8fb4..9c3a81d216aac0e01060c2c7f577aad8dde9c1eb 100644 GIT binary patch literal 256 zcmaFD#KiE7iIL$s6C=Y5CPs#rOpFY#m>3yeGchu}VPa%}fwxS|VCDxTv5!m~3_qE~ v82Fj_8RVD+8T6UOz-mY#T$x!>lzTC=pzsNC{FnvtDv3vuFJMOa2c`)C`_v84 literal 256 zcmaFJ#KiEJiIL$66C=Y@CPs#5OpFZAnHU*fFflT`WMX81fmck-VCGvSv3E=y4Bwc< v7