diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /capstone/suite/MC/Mips | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'capstone/suite/MC/Mips')
52 files changed, 1261 insertions, 0 deletions
diff --git a/capstone/suite/MC/Mips/hilo-addressing.s.cs b/capstone/suite/MC/Mips/hilo-addressing.s.cs new file mode 100644 index 000000000..2d99128b6 --- /dev/null +++ b/capstone/suite/MC/Mips/hilo-addressing.s.cs @@ -0,0 +1,4 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +// 0x3c,0x04,0xde,0xae = lui $a0, %hi(addr) +0x03,0xe0,0x00,0x08 = jr $ra +// 0x80,0x82,0xbe,0xef = lb $v0, %lo(addr)($a0) diff --git a/capstone/suite/MC/Mips/micromips-alu-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-alu-instructions-EB.s.cs new file mode 100644 index 000000000..f4dbe7a8c --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-alu-instructions-EB.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN+CS_MODE_MICRO, None +0x00,0xe6,0x49,0x10 = add $t1, $a2, $a3 +0x11,0x26,0x45,0x67 = addi $t1, $a2, 17767 +0x31,0x26,0xc5,0x67 = addiu $t1, $a2, -15001 +0x11,0x26,0x45,0x67 = addi $t1, $a2, 17767 +0x31,0x26,0xc5,0x67 = addiu $t1, $a2, -15001 +0x00,0xe6,0x49,0x50 = addu $t1, $a2, $a3 +0x00,0xe6,0x49,0x90 = sub $t1, $a2, $a3 +0x00,0xa3,0x21,0xd0 = subu $a0, $v1, $a1 +0x00,0xe0,0x31,0x90 = sub $a2, $zero, $a3 +0x00,0xe0,0x31,0xd0 = subu $a2, $zero, $a3 +0x00,0x08,0x39,0x50 = addu $a3, $t0, $zero +0x00,0xa3,0x1b,0x50 = slt $v1, $v1, $a1 +0x90,0x63,0x00,0x67 = slti $v1, $v1, 103 +0x90,0x63,0x00,0x67 = slti $v1, $v1, 103 +0xb0,0x63,0x00,0x67 = sltiu $v1, $v1, 103 +0x00,0xa3,0x1b,0x90 = sltu $v1, $v1, $a1 +0x41,0xa9,0x45,0x67 = lui $t1, 17767 +0x00,0xe6,0x4a,0x50 = and $t1, $a2, $a3 +0xd1,0x26,0x45,0x67 = andi $t1, $a2, 17767 +0xd1,0x26,0x45,0x67 = andi $t1, $a2, 17767 +0x00,0xa4,0x1a,0x90 = or $v1, $a0, $a1 +0x51,0x26,0x45,0x67 = ori $t1, $a2, 17767 +0x00,0xa3,0x1b,0x10 = xor $v1, $v1, $a1 +0x71,0x26,0x45,0x67 = xori $t1, $a2, 17767 +0x71,0x26,0x45,0x67 = xori $t1, $a2, 17767 +0x00,0xe6,0x4a,0xd0 = nor $t1, $a2, $a3 +0x00,0x08,0x3a,0xd0 = not $a3, $t0 +0x00,0xe6,0x4a,0x10 = mul $t1, $a2, $a3 +0x00,0xe9,0x8b,0x3c = mult $t1, $a3 +0x00,0xe9,0x9b,0x3c = multu $t1, $a3 +0x00,0xe9,0xab,0x3c = div $zero, $t1, $a3 +0x00,0xe9,0xbb,0x3c = divu $zero, $t1, $a3 diff --git a/capstone/suite/MC/Mips/micromips-alu-instructions.s.cs b/capstone/suite/MC/Mips/micromips-alu-instructions.s.cs new file mode 100644 index 000000000..81fe6438c --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-alu-instructions.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0xe6,0x00,0x10,0x49 = add $t1, $a2, $a3 +0x26,0x11,0x67,0x45 = addi $t1, $a2, 17767 +0x26,0x31,0x67,0xc5 = addiu $t1, $a2, -15001 +0x26,0x11,0x67,0x45 = addi $t1, $a2, 17767 +0x26,0x31,0x67,0xc5 = addiu $t1, $a2, -15001 +0xe6,0x00,0x50,0x49 = addu $t1, $a2, $a3 +0xe6,0x00,0x90,0x49 = sub $t1, $a2, $a3 +0xa3,0x00,0xd0,0x21 = subu $a0, $v1, $a1 +0xe0,0x00,0x90,0x31 = sub $a2, $zero, $a3 +0xe0,0x00,0xd0,0x31 = subu $a2, $zero, $a3 +0x08,0x00,0x50,0x39 = addu $a3, $t0, $zero +0xa3,0x00,0x50,0x1b = slt $v1, $v1, $a1 +0x63,0x90,0x67,0x00 = slti $v1, $v1, 103 +0x63,0x90,0x67,0x00 = slti $v1, $v1, 103 +0x63,0xb0,0x67,0x00 = sltiu $v1, $v1, 103 +0xa3,0x00,0x90,0x1b = sltu $v1, $v1, $a1 +0xa9,0x41,0x67,0x45 = lui $t1, 17767 +0xe6,0x00,0x50,0x4a = and $t1, $a2, $a3 +0x26,0xd1,0x67,0x45 = andi $t1, $a2, 17767 +0x26,0xd1,0x67,0x45 = andi $t1, $a2, 17767 +0xa4,0x00,0x90,0x1a = or $v1, $a0, $a1 +0x26,0x51,0x67,0x45 = ori $t1, $a2, 17767 +0xa3,0x00,0x10,0x1b = xor $v1, $v1, $a1 +0x26,0x71,0x67,0x45 = xori $t1, $a2, 17767 +0x26,0x71,0x67,0x45 = xori $t1, $a2, 17767 +0xe6,0x00,0xd0,0x4a = nor $t1, $a2, $a3 +0x08,0x00,0xd0,0x3a = not $a3, $t0 +0xe6,0x00,0x10,0x4a = mul $t1, $a2, $a3 +0xe9,0x00,0x3c,0x8b = mult $t1, $a3 +0xe9,0x00,0x3c,0x9b = multu $t1, $a3 +0xe9,0x00,0x3c,0xab = div $zero, $t1, $a3 +0xe9,0x00,0x3c,0xbb = divu $zero, $t1, $a3 diff --git a/capstone/suite/MC/Mips/micromips-branch-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-branch-instructions-EB.s.cs new file mode 100644 index 000000000..947ea2500 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-branch-instructions-EB.s.cs @@ -0,0 +1,11 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +0x94,0x00,0x02,0x9a = b 1332 +0x94,0xc9,0x02,0x9a = beq $t1, $a2, 1332 +0x40,0x46,0x02,0x9a = bgez $a2, 1332 +0x40,0x66,0x02,0x9a = bgezal $a2, 1332 +0x40,0x26,0x02,0x9a = bltzal $a2, 1332 +0x40,0xc6,0x02,0x9a = bgtz $a2, 1332 +0x40,0x86,0x02,0x9a = blez $a2, 1332 +0xb4,0xc9,0x02,0x9a = bne $t1, $a2, 1332 +// 0x40,0x60,0x02,0x9a = bal 1332 +0x40,0x06,0x02,0x9a = bltz $a2, 1332 diff --git a/capstone/suite/MC/Mips/micromips-branch-instructions.s.cs b/capstone/suite/MC/Mips/micromips-branch-instructions.s.cs new file mode 100644 index 000000000..286bc0d94 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-branch-instructions.s.cs @@ -0,0 +1,11 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0x00,0x94,0x9a,0x02 = b 1332 +0xc9,0x94,0x9a,0x02 = beq $t1, $a2, 1332 +0x46,0x40,0x9a,0x02 = bgez $a2, 1332 +0x66,0x40,0x9a,0x02 = bgezal $a2, 1332 +0x26,0x40,0x9a,0x02 = bltzal $a2, 1332 +0xc6,0x40,0x9a,0x02 = bgtz $a2, 1332 +0x86,0x40,0x9a,0x02 = blez $a2, 1332 +0xc9,0xb4,0x9a,0x02 = bne $t1, $a2, 1332 +// 0x60,0x40,0x9a,0x02 = bal 1332 +0x06,0x40,0x9a,0x02 = bltz $a2, 1332 diff --git a/capstone/suite/MC/Mips/micromips-expansions.s.cs b/capstone/suite/MC/Mips/micromips-expansions.s.cs new file mode 100644 index 000000000..b16331bb2 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-expansions.s.cs @@ -0,0 +1,20 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0xa0,0x50,0x7b,0x00 = ori $a1, $zero, 123 +0xc0,0x30,0xd7,0xf6 = addiu $a2, $zero, -2345 +0xa7,0x41,0x01,0x00 = lui $a3, 1 +0xe7,0x50,0x02,0x00 = ori $a3, $a3, 2 +0x80,0x30,0x14,0x00 = addiu $a0, $zero, 20 +0xa7,0x41,0x01,0x00 = lui $a3, 1 +0xe7,0x50,0x02,0x00 = ori $a3, $a3, 2 +0x85,0x30,0x14,0x00 = addiu $a0, $a1, 20 +0xa7,0x41,0x01,0x00 = lui $a3, 1 +0xe7,0x50,0x02,0x00 = ori $a3, $a3, 2 +0x07,0x01,0x50,0x39 = addu $a3, $a3, $t0 +0x8a,0x00,0x50,0x51 = addu $t2, $t2, $a0 +0x21,0x01,0x50,0x09 = addu $at, $at, $t1 +0xaa,0x41,0x0a,0x00 = lui $t2, 10 +0x8a,0x00,0x50,0x51 = addu $t2, $t2, $a0 +0x4a,0xfd,0x7b,0x00 = lw $t2, 123($t2) +0xa1,0x41,0x02,0x00 = lui $at, 2 +0x21,0x01,0x50,0x09 = addu $at, $at, $t1 +// 0x41,0xf9,0x40,0xe2 = sw $t2, 57920($at) diff --git a/capstone/suite/MC/Mips/micromips-jump-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-jump-instructions-EB.s.cs new file mode 100644 index 000000000..7f9ee60f4 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-jump-instructions-EB.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +0xd4,0x00,0x02,0x98 = j 1328 +0xf4,0x00,0x02,0x98 = jal 1328 +// 0x03,0xe6,0x0f,0x3c = jalr $a2 +0x00,0x07,0x0f,0x3c = jr $a3 diff --git a/capstone/suite/MC/Mips/micromips-jump-instructions.s.cs b/capstone/suite/MC/Mips/micromips-jump-instructions.s.cs new file mode 100644 index 000000000..b23d8d73a --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-jump-instructions.s.cs @@ -0,0 +1,6 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0x00,0xd4,0x98,0x02 = j 1328 +0x00,0xf4,0x98,0x02 = jal 1328 +// 0xe6,0x03,0x3c,0x0f = jalr $a2 +0x07,0x00,0x3c,0x0f = jr $a3 +0x07,0x00,0x3c,0x0f = jr $a3 diff --git a/capstone/suite/MC/Mips/micromips-loadstore-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-loadstore-instructions-EB.s.cs new file mode 100644 index 000000000..57958f438 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-loadstore-instructions-EB.s.cs @@ -0,0 +1,9 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +0x1c,0xa4,0x00,0x08 = lb $a1, 8($a0) +0x14,0xc4,0x00,0x08 = lbu $a2, 8($a0) +0x3c,0x44,0x00,0x08 = lh $v0, 8($a0) +0x34,0x82,0x00,0x08 = lhu $a0, 8($v0) +0xfc,0xc5,0x00,0x04 = lw $a2, 4($a1) +0x18,0xa4,0x00,0x08 = sb $a1, 8($a0) +0x38,0x44,0x00,0x08 = sh $v0, 8($a0) +0xf8,0xa6,0x00,0x04 = sw $a1, 4($a2) diff --git a/capstone/suite/MC/Mips/micromips-loadstore-instructions.s.cs b/capstone/suite/MC/Mips/micromips-loadstore-instructions.s.cs new file mode 100644 index 000000000..561c819d2 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-loadstore-instructions.s.cs @@ -0,0 +1,9 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0xa4,0x1c,0x08,0x00 = lb $a1, 8($a0) +0xc4,0x14,0x08,0x00 = lbu $a2, 8($a0) +0x44,0x3c,0x08,0x00 = lh $v0, 8($a0) +0x82,0x34,0x08,0x00 = lhu $a0, 8($v0) +0xc5,0xfc,0x04,0x00 = lw $a2, 4($a1) +0xa4,0x18,0x08,0x00 = sb $a1, 8($a0) +0x44,0x38,0x08,0x00 = sh $v0, 8($a0) +0xa6,0xf8,0x04,0x00 = sw $a1, 4($a2) diff --git a/capstone/suite/MC/Mips/micromips-loadstore-unaligned-EB.s.cs b/capstone/suite/MC/Mips/micromips-loadstore-unaligned-EB.s.cs new file mode 100644 index 000000000..9e2a3ae39 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-loadstore-unaligned-EB.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +0x60,0x85,0x00,0x10 = lwl $a0, 16($a1) +0x60,0x85,0x10,0x10 = lwr $a0, 16($a1) +0x60,0x85,0x80,0x10 = swl $a0, 16($a1) +0x60,0x85,0x90,0x10 = swr $a0, 16($a1) diff --git a/capstone/suite/MC/Mips/micromips-loadstore-unaligned.s.cs b/capstone/suite/MC/Mips/micromips-loadstore-unaligned.s.cs new file mode 100644 index 000000000..855b4dd9f --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-loadstore-unaligned.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0x85,0x60,0x10,0x00 = lwl $a0, 16($a1) +0x85,0x60,0x10,0x10 = lwr $a0, 16($a1) +0x85,0x60,0x10,0x80 = swl $a0, 16($a1) +0x85,0x60,0x10,0x90 = swr $a0, 16($a1) diff --git a/capstone/suite/MC/Mips/micromips-movcond-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-movcond-instructions-EB.s.cs new file mode 100644 index 000000000..4351e68a5 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-movcond-instructions-EB.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +0x00,0xe6,0x48,0x58 = movz $t1, $a2, $a3 +0x00,0xe6,0x48,0x18 = movn $t1, $a2, $a3 +0x55,0x26,0x09,0x7b = movt $t1, $a2, $fcc0 +0x55,0x26,0x01,0x7b = movf $t1, $a2, $fcc0 diff --git a/capstone/suite/MC/Mips/micromips-movcond-instructions.s.cs b/capstone/suite/MC/Mips/micromips-movcond-instructions.s.cs new file mode 100644 index 000000000..b64cdd247 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-movcond-instructions.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0xe6,0x00,0x58,0x48 = movz $t1, $a2, $a3 +0xe6,0x00,0x18,0x48 = movn $t1, $a2, $a3 +0x26,0x55,0x7b,0x09 = movt $t1, $a2, $fcc0 +0x26,0x55,0x7b,0x01 = movf $t1, $a2, $fcc0 diff --git a/capstone/suite/MC/Mips/micromips-multiply-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-multiply-instructions-EB.s.cs new file mode 100644 index 000000000..f04522a0c --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-multiply-instructions-EB.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +0x00,0xa4,0xcb,0x3c = madd $a0, $a1 +0x00,0xa4,0xdb,0x3c = maddu $a0, $a1 +0x00,0xa4,0xeb,0x3c = msub $a0, $a1 +0x00,0xa4,0xfb,0x3c = msubu $a0, $a1 diff --git a/capstone/suite/MC/Mips/micromips-multiply-instructions.s.cs b/capstone/suite/MC/Mips/micromips-multiply-instructions.s.cs new file mode 100644 index 000000000..30adb5a93 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-multiply-instructions.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0xa4,0x00,0x3c,0xcb = madd $a0, $a1 +0xa4,0x00,0x3c,0xdb = maddu $a0, $a1 +0xa4,0x00,0x3c,0xeb = msub $a0, $a1 +0xa4,0x00,0x3c,0xfb = msubu $a0, $a1 diff --git a/capstone/suite/MC/Mips/micromips-shift-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-shift-instructions-EB.s.cs new file mode 100644 index 000000000..d09bee0e4 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-shift-instructions-EB.s.cs @@ -0,0 +1,9 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +0x00,0x83,0x38,0x00 = sll $a0, $v1, 7 +0x00,0x65,0x10,0x10 = sllv $v0, $v1, $a1 +0x00,0x83,0x38,0x80 = sra $a0, $v1, 7 +0x00,0x65,0x10,0x90 = srav $v0, $v1, $a1 +0x00,0x83,0x38,0x40 = srl $a0, $v1, 7 +0x00,0x65,0x10,0x50 = srlv $v0, $v1, $a1 +0x01,0x26,0x38,0xc0 = rotr $t1, $a2, 7 +0x00,0xc7,0x48,0xd0 = rotrv $t1, $a2, $a3 diff --git a/capstone/suite/MC/Mips/micromips-shift-instructions.s.cs b/capstone/suite/MC/Mips/micromips-shift-instructions.s.cs new file mode 100644 index 000000000..3353e91a8 --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-shift-instructions.s.cs @@ -0,0 +1,9 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +0x83,0x00,0x00,0x38 = sll $a0, $v1, 7 +0x65,0x00,0x10,0x10 = sllv $v0, $v1, $a1 +0x83,0x00,0x80,0x38 = sra $a0, $v1, 7 +0x65,0x00,0x90,0x10 = srav $v0, $v1, $a1 +0x83,0x00,0x40,0x38 = srl $a0, $v1, 7 +0x65,0x00,0x50,0x10 = srlv $v0, $v1, $a1 +0x26,0x01,0xc0,0x38 = rotr $t1, $a2, 7 +0xc7,0x00,0xd0,0x48 = rotrv $t1, $a2, $a3 diff --git a/capstone/suite/MC/Mips/micromips-trap-instructions-EB.s.cs b/capstone/suite/MC/Mips/micromips-trap-instructions-EB.s.cs new file mode 100644 index 000000000..385db92aa --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-trap-instructions-EB.s.cs @@ -0,0 +1,13 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO+CS_MODE_BIG_ENDIAN, None +// 0x01,0x28,0x00,0x3c = teq $t0, $t1 +// 0x01,0x28,0x02,0x3c = tge $t0, $t1 +// 0x01,0x28,0x04,0x3c = tgeu $t0, $t1 +// 0x01,0x28,0x08,0x3c = tlt $t0, $t1 +// 0x01,0x28,0x0a,0x3c = tltu $t0, $t1 +// 0x01,0x28,0x0c,0x3c = tne $t0, $t1 +0x41,0xc9,0x45,0x67 = teqi $t1, 17767 +0x41,0x29,0x45,0x67 = tgei $t1, 17767 +0x41,0x69,0x45,0x67 = tgeiu $t1, 17767 +0x41,0x09,0x45,0x67 = tlti $t1, 17767 +0x41,0x49,0x45,0x67 = tltiu $t1, 17767 +0x41,0x89,0x45,0x67 = tnei $t1, 17767 diff --git a/capstone/suite/MC/Mips/micromips-trap-instructions.s.cs b/capstone/suite/MC/Mips/micromips-trap-instructions.s.cs new file mode 100644 index 000000000..814f8da3c --- /dev/null +++ b/capstone/suite/MC/Mips/micromips-trap-instructions.s.cs @@ -0,0 +1,13 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_MICRO, None +// 0x28,0x01,0x3c,0x00 = teq $t0, $t1 +// 0x28,0x01,0x3c,0x02 = tge $t0, $t1 +// 0x28,0x01,0x3c,0x04 = tgeu $t0, $t1 +// 0x28,0x01,0x3c,0x08 = tlt $t0, $t1 +// 0x28,0x01,0x3c,0x0a = tltu $t0, $t1 +// 0x28,0x01,0x3c,0x0c = tne $t0, $t1 +0xc9,0x41,0x67,0x45 = teqi $t1, 17767 +0x29,0x41,0x67,0x45 = tgei $t1, 17767 +0x69,0x41,0x67,0x45 = tgeiu $t1, 17767 +0x09,0x41,0x67,0x45 = tlti $t1, 17767 +0x49,0x41,0x67,0x45 = tltiu $t1, 17767 +0x89,0x41,0x67,0x45 = tnei $t1, 17767 diff --git a/capstone/suite/MC/Mips/mips-alu-instructions.s.cs b/capstone/suite/MC/Mips/mips-alu-instructions.s.cs new file mode 100644 index 000000000..1ee3337f2 --- /dev/null +++ b/capstone/suite/MC/Mips/mips-alu-instructions.s.cs @@ -0,0 +1,53 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32, None +0x24,0x48,0xc7,0x00 = and $t1, $a2, $a3 +0x67,0x45,0xc9,0x30 = andi $t1, $a2, 17767 +0x67,0x45,0xc9,0x30 = andi $t1, $a2, 17767 +0x67,0x45,0x29,0x31 = andi $t1, $t1, 17767 +0x21,0x30,0xe6,0x70 = clo $a2, $a3 +0x20,0x30,0xe6,0x70 = clz $a2, $a3 +0x84,0x61,0x33,0x7d = ins $s3, $t1, 6, 7 +0x27,0x48,0xc7,0x00 = nor $t1, $a2, $a3 +0x25,0x18,0x65,0x00 = or $v1, $v1, $a1 +0x67,0x45,0xa4,0x34 = ori $a0, $a1, 17767 +0x67,0x45,0xc9,0x34 = ori $t1, $a2, 17767 +0x80,0x00,0x6b,0x35 = ori $t3, $t3, 128 +0xc2,0x49,0x26,0x00 = rotr $t1, $a2, 7 +0x46,0x48,0xe6,0x00 = rotrv $t1, $a2, $a3 +0xc0,0x21,0x03,0x00 = sll $a0, $v1, 7 +0x04,0x10,0xa3,0x00 = sllv $v0, $v1, $a1 +0x2a,0x18,0x65,0x00 = slt $v1, $v1, $a1 +0x67,0x00,0x63,0x28 = slti $v1, $v1, 103 +0x67,0x00,0x63,0x28 = slti $v1, $v1, 103 +0x67,0x00,0x63,0x2c = sltiu $v1, $v1, 103 +0x2b,0x18,0x65,0x00 = sltu $v1, $v1, $a1 +0xc3,0x21,0x03,0x00 = sra $a0, $v1, 7 +0x07,0x10,0xa3,0x00 = srav $v0, $v1, $a1 +0xc2,0x21,0x03,0x00 = srl $a0, $v1, 7 +0x06,0x10,0xa3,0x00 = srlv $v0, $v1, $a1 +0x26,0x18,0x65,0x00 = xor $v1, $v1, $a1 +0x67,0x45,0xc9,0x38 = xori $t1, $a2, 17767 +0x67,0x45,0xc9,0x38 = xori $t1, $a2, 17767 +0x0c,0x00,0x6b,0x39 = xori $t3, $t3, 12 +0xa0,0x30,0x07,0x7c = wsbh $a2, $a3 +0x27,0x38,0x00,0x01 = not $a3, $t0 +0x20,0x48,0xc7,0x00 = add $t1, $a2, $a3 +0x67,0x45,0xc9,0x20 = addi $t1, $a2, 17767 +0x67,0xc5,0xc9,0x24 = addiu $t1, $a2, -15001 +0x67,0x45,0xc9,0x20 = addi $t1, $a2, 17767 +0x67,0x45,0x29,0x21 = addi $t1, $t1, 17767 +0x67,0xc5,0xc9,0x24 = addiu $t1, $a2, -15001 +0x28,0x00,0x6b,0x25 = addiu $t3, $t3, 40 +0x21,0x48,0xc7,0x00 = addu $t1, $a2, $a3 +0x00,0x00,0xc7,0x70 = madd $a2, $a3 +0x01,0x00,0xc7,0x70 = maddu $a2, $a3 +0x04,0x00,0xc7,0x70 = msub $a2, $a3 +0x05,0x00,0xc7,0x70 = msubu $a2, $a3 +0x18,0x00,0x65,0x00 = mult $v1, $a1 +0x19,0x00,0x65,0x00 = multu $v1, $a1 +0x22,0x48,0xc7,0x00 = sub $t1, $a2, $a3 +0xc8,0xff,0xbd,0x23 = addi $sp, $sp, -56 +0x23,0x20,0x65,0x00 = subu $a0, $v1, $a1 +0xd8,0xff,0xbd,0x27 = addiu $sp, $sp, -40 +0x22,0x30,0x07,0x00 = neg $a2, $a3 +0x23,0x30,0x07,0x00 = negu $a2, $a3 +0x21,0x38,0x00,0x01 = move $a3, $t0 diff --git a/capstone/suite/MC/Mips/mips-control-instructions-64.s.cs b/capstone/suite/MC/Mips/mips-control-instructions-64.s.cs new file mode 100644 index 000000000..c3478da19 --- /dev/null +++ b/capstone/suite/MC/Mips/mips-control-instructions-64.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS64+CS_MODE_BIG_ENDIAN, None +0x00,0x00,0x00,0x0d = break +// 0x00,0x07,0x00,0x0d = break 7, 0 +0x00,0x07,0x01,0x4d = break 7, 5 +0x00,0x00,0x00,0x0c = syscall +0x00,0x0d,0x15,0x0c = syscall 13396 +0x42,0x00,0x00,0x18 = eret +0x42,0x00,0x00,0x1f = deret +0x41,0x60,0x60,0x00 = di +0x41,0x60,0x60,0x00 = di +0x41,0x6a,0x60,0x00 = di $t2 +0x41,0x60,0x60,0x20 = ei +0x41,0x60,0x60,0x20 = ei +0x41,0x6a,0x60,0x20 = ei $t2 +0x42,0x00,0x00,0x20 = wait +0x00,0x03,0x00,0x34 = teq $zero, $v1 +0x00,0x03,0x00,0x74 = teq $zero, $v1, 1 +0x04,0x6c,0x00,0x01 = teqi $v1, 1 +0x00,0x03,0x00,0x30 = tge $zero, $v1 +0x00,0x03,0x00,0xf0 = tge $zero, $v1, 3 +0x04,0x68,0x00,0x03 = tgei $v1, 3 +0x00,0x03,0x00,0x31 = tgeu $zero, $v1 +0x00,0x03,0x01,0xf1 = tgeu $zero, $v1, 7 +0x04,0x69,0x00,0x07 = tgeiu $v1, 7 +0x00,0x03,0x00,0x32 = tlt $zero, $v1 +0x00,0x03,0x07,0xf2 = tlt $zero, $v1, 31 +0x04,0x6a,0x00,0x1f = tlti $v1, 31 +0x00,0x03,0x00,0x33 = tltu $zero, $v1 +0x00,0x03,0x3f,0xf3 = tltu $zero, $v1, 255 +0x04,0x6b,0x00,0xff = tltiu $v1, 255 +0x00,0x03,0x00,0x36 = tne $zero, $v1 +0x00,0x03,0xff,0xf6 = tne $zero, $v1, 1023 +0x04,0x6e,0x03,0xff = tnei $v1, 1023 diff --git a/capstone/suite/MC/Mips/mips-control-instructions.s.cs b/capstone/suite/MC/Mips/mips-control-instructions.s.cs new file mode 100644 index 000000000..86c4ad82e --- /dev/null +++ b/capstone/suite/MC/Mips/mips-control-instructions.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x00,0x00,0x00,0x0d = break +// 0x00,0x07,0x00,0x0d = break 7, 0 +0x00,0x07,0x01,0x4d = break 7, 5 +0x00,0x00,0x00,0x0c = syscall +0x00,0x0d,0x15,0x0c = syscall 13396 +0x42,0x00,0x00,0x18 = eret +0x42,0x00,0x00,0x1f = deret +0x41,0x60,0x60,0x00 = di +0x41,0x60,0x60,0x00 = di +0x41,0x6a,0x60,0x00 = di $t2 +0x41,0x60,0x60,0x20 = ei +0x41,0x60,0x60,0x20 = ei +0x41,0x6a,0x60,0x20 = ei $t2 +0x42,0x00,0x00,0x20 = wait +0x00,0x03,0x00,0x34 = teq $zero, $v1 +0x00,0x03,0x00,0x74 = teq $zero, $v1, 1 +0x04,0x6c,0x00,0x01 = teqi $v1, 1 +0x00,0x03,0x00,0x30 = tge $zero, $v1 +0x00,0x03,0x00,0xf0 = tge $zero, $v1, 3 +0x04,0x68,0x00,0x03 = tgei $v1, 3 +0x00,0x03,0x00,0x31 = tgeu $zero, $v1 +0x00,0x03,0x01,0xf1 = tgeu $zero, $v1, 7 +0x04,0x69,0x00,0x07 = tgeiu $v1, 7 +0x00,0x03,0x00,0x32 = tlt $zero, $v1 +0x00,0x03,0x07,0xf2 = tlt $zero, $v1, 31 +0x04,0x6a,0x00,0x1f = tlti $v1, 31 +0x00,0x03,0x00,0x33 = tltu $zero, $v1 +0x00,0x03,0x3f,0xf3 = tltu $zero, $v1, 255 +0x04,0x6b,0x00,0xff = tltiu $v1, 255 +0x00,0x03,0x00,0x36 = tne $zero, $v1 +0x00,0x03,0xff,0xf6 = tne $zero, $v1, 1023 +0x04,0x6e,0x03,0xff = tnei $v1, 1023 diff --git a/capstone/suite/MC/Mips/mips-coprocessor-encodings.s.cs b/capstone/suite/MC/Mips/mips-coprocessor-encodings.s.cs new file mode 100644 index 000000000..d14ddc3ba --- /dev/null +++ b/capstone/suite/MC/Mips/mips-coprocessor-encodings.s.cs @@ -0,0 +1,17 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS64+CS_MODE_BIG_ENDIAN, None +0x40,0xac,0x80,0x02 = dmtc0 $t4, $s0, 2 +0x40,0xac,0x80,0x00 = dmtc0 $t4, $s0, 0 +0x40,0x8c,0x80,0x02 = mtc0 $t4, $s0, 2 +0x40,0x8c,0x80,0x00 = mtc0 $t4, $s0, 0 +0x40,0x2c,0x80,0x02 = dmfc0 $t4, $s0, 2 +0x40,0x2c,0x80,0x00 = dmfc0 $t4, $s0, 0 +0x40,0x0c,0x80,0x02 = mfc0 $t4, $s0, 2 +0x40,0x0c,0x80,0x00 = mfc0 $t4, $s0, 0 +0x48,0xac,0x80,0x02 = dmtc2 $t4, $s0, 2 +0x48,0xac,0x80,0x00 = dmtc2 $t4, $s0, 0 +0x48,0x8c,0x80,0x02 = mtc2 $t4, $s0, 2 +0x48,0x8c,0x80,0x00 = mtc2 $t4, $s0, 0 +0x48,0x2c,0x80,0x02 = dmfc2 $t4, $s0, 2 +0x48,0x2c,0x80,0x00 = dmfc2 $t4, $s0, 0 +0x48,0x0c,0x80,0x02 = mfc2 $t4, $s0, 2 +0x48,0x0c,0x80,0x00 = mfc2 $t4, $s0, 0 diff --git a/capstone/suite/MC/Mips/mips-dsp-instructions.s.cs b/capstone/suite/MC/Mips/mips-dsp-instructions.s.cs new file mode 100644 index 000000000..ec152951d --- /dev/null +++ b/capstone/suite/MC/Mips/mips-dsp-instructions.s.cs @@ -0,0 +1,43 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x7e,0x32,0x83,0x11 = precrq.qb.ph $s0, $s1, $s2 +0x7e,0x53,0x8d,0x11 = precrq.ph.w $s1, $s2, $s3 +0x7e,0x74,0x95,0x51 = precrq_rs.ph.w $s2, $s3, $s4 +0x7e,0x95,0x9b,0xd1 = precrqu_s.qb.ph $s3, $s4, $s5 +0x7c,0x15,0xa3,0x12 = preceq.w.phl $s4, $s5 +0x7c,0x16,0xab,0x52 = preceq.w.phr $s5, $s6 +0x7c,0x17,0xb1,0x12 = precequ.ph.qbl $s6, $s7 +0x7c,0x18,0xb9,0x52 = precequ.ph.qbr $s7, $t8 +0x7c,0x19,0xc1,0x92 = precequ.ph.qbla $t8, $t9 +0x7c,0x1a,0xc9,0xd2 = precequ.ph.qbra $t9, $k0 +0x7c,0x1b,0xd7,0x12 = preceu.ph.qbl $k0, $k1 +0x7c,0x1c,0xdf,0x52 = preceu.ph.qbr $k1, $gp +0x7c,0x1d,0xe7,0x92 = preceu.ph.qbla $gp, $sp +0x7c,0x1e,0xef,0xd2 = preceu.ph.qbra $sp, $fp +0x7f,0x19,0xbb,0x51 = precr.qb.ph $s7, $t8, $t9 +0x7f,0x38,0x07,0x91 = precr_sra.ph.w $t8, $t9, 0 +0x7f,0x38,0xff,0x91 = precr_sra.ph.w $t8, $t9, 31 +0x7f,0x59,0x07,0xd1 = precr_sra_r.ph.w $t9, $k0, 0 +0x7f,0x59,0xff,0xd1 = precr_sra_r.ph.w $t9, $k0, 31 +0x7f,0x54,0x51,0x8a = lbux $t2, $s4($k0) +0x7f,0x75,0x59,0x0a = lhx $t3, $s5($k1) +0x7f,0x96,0x60,0x0a = lwx $t4, $s6($gp) +0x00,0x43,0x18,0x18 = mult $ac3, $v0, $v1 +0x00,0x85,0x10,0x19 = multu $ac2, $a0, $a1 +0x70,0xc7,0x08,0x00 = madd $ac1, $a2, $a3 +// 0x71,0x09,0x00,0x01 = maddu $ac0, $t0, $t1 +0x71,0x4b,0x18,0x04 = msub $ac3, $t2, $t3 +0x71,0x8d,0x10,0x05 = msubu $ac2, $t4, $t5 +0x00,0x20,0x70,0x10 = mfhi $t6, $ac1 +// 0x00,0x00,0x78,0x12 = mflo $t7, $ac0 +0x02,0x00,0x18,0x11 = mthi $s0, $ac3 +0x02,0x20,0x10,0x13 = mtlo $s1, $ac2 +0x00,0x43,0x00,0x18 = mult $v0, $v1 +0x00,0x85,0x00,0x19 = multu $a0, $a1 +0x70,0xc7,0x00,0x00 = madd $a2, $a3 +// 0x71,0x09,0x00,0x01 = maddu $t0, $t1 +0x71,0x4b,0x00,0x04 = msub $t2, $t3 +0x71,0x8d,0x00,0x05 = msubu $t4, $t5 +0x00,0x00,0x70,0x10 = mfhi $t6 +// 0x00,0x00,0x78,0x12 = mflo $t7 +0x02,0x00,0x00,0x11 = mthi $s0 +0x02,0x20,0x00,0x13 = mtlo $s1 diff --git a/capstone/suite/MC/Mips/mips-expansions.s.cs b/capstone/suite/MC/Mips/mips-expansions.s.cs new file mode 100644 index 000000000..2aeca0cde --- /dev/null +++ b/capstone/suite/MC/Mips/mips-expansions.s.cs @@ -0,0 +1,19 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32, None +0x7b,0x00,0x05,0x34 = ori $a1, $zero, 123 +0xd7,0xf6,0x06,0x24 = addiu $a2, $zero, -2345 +0x01,0x00,0x07,0x3c = lui $a3, 1 +0x02,0x00,0xe7,0x34 = ori $a3, $a3, 2 +0x14,0x00,0x04,0x24 = addiu $a0, $zero, 20 +0x01,0x00,0x07,0x3c = lui $a3, 1 +0x02,0x00,0xe7,0x34 = ori $a3, $a3, 2 +0x14,0x00,0xa4,0x24 = addiu $a0, $a1, 20 +0x01,0x00,0x07,0x3c = lui $a3, 1 +0x02,0x00,0xe7,0x34 = ori $a3, $a3, 2 +0x21,0x38,0xe8,0x00 = addu $a3, $a3, $t0 +0x21,0x50,0x44,0x01 = addu $t2, $t2, $a0 +0x21,0x08,0x29,0x00 = addu $at, $at, $t1 +0x0a,0x00,0x0a,0x3c = lui $t2, 10 +0x7b,0x00,0x4a,0x8d = lw $t2, 123($t2) +0x02,0x00,0x01,0x3c = lui $at, 2 +0x21,0x08,0x29,0x00 = addu $at, $at, $t1 +// 0x40,0xe2,0x2a,0xac = sw $t2, 57920($at) diff --git a/capstone/suite/MC/Mips/mips-fpu-instructions.s.cs b/capstone/suite/MC/Mips/mips-fpu-instructions.s.cs new file mode 100644 index 000000000..335cd0f2e --- /dev/null +++ b/capstone/suite/MC/Mips/mips-fpu-instructions.s.cs @@ -0,0 +1,93 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32, None +0x05,0x73,0x20,0x46 = abs.d $f12, $f14 +0x85,0x39,0x00,0x46 = abs.s $f6, $f7 +0x00,0x62,0x2e,0x46 = add.d $f8, $f12, $f14 +0x40,0x32,0x07,0x46 = add.s $f9, $f6, $f7 +0x0f,0x73,0x20,0x46 = floor.w.d $f12, $f14 +0x8f,0x39,0x00,0x46 = floor.w.s $f6, $f7 +0x0e,0x73,0x20,0x46 = ceil.w.d $f12, $f14 +0x8e,0x39,0x00,0x46 = ceil.w.s $f6, $f7 +0x02,0x62,0x2e,0x46 = mul.d $f8, $f12, $f14 +0x42,0x32,0x07,0x46 = mul.s $f9, $f6, $f7 +0x07,0x73,0x20,0x46 = neg.d $f12, $f14 +0x87,0x39,0x00,0x46 = neg.s $f6, $f7 +0x0c,0x73,0x20,0x46 = round.w.d $f12, $f14 +0x8c,0x39,0x00,0x46 = round.w.s $f6, $f7 +0x04,0x73,0x20,0x46 = sqrt.d $f12, $f14 +0x84,0x39,0x00,0x46 = sqrt.s $f6, $f7 +0x01,0x62,0x2e,0x46 = sub.d $f8, $f12, $f14 +0x41,0x32,0x07,0x46 = sub.s $f9, $f6, $f7 +0x0d,0x73,0x20,0x46 = trunc.w.d $f12, $f14 +0x8d,0x39,0x00,0x46 = trunc.w.s $f6, $f7 +0x32,0x60,0x2e,0x46 = c.eq.d $f12, $f14 +0x32,0x30,0x07,0x46 = c.eq.s $f6, $f7 +0x30,0x60,0x2e,0x46 = c.f.d $f12, $f14 +0x30,0x30,0x07,0x46 = c.f.s $f6, $f7 +0x3e,0x60,0x2e,0x46 = c.le.d $f12, $f14 +0x3e,0x30,0x07,0x46 = c.le.s $f6, $f7 +0x3c,0x60,0x2e,0x46 = c.lt.d $f12, $f14 +0x3c,0x30,0x07,0x46 = c.lt.s $f6, $f7 +0x3d,0x60,0x2e,0x46 = c.nge.d $f12, $f14 +0x3d,0x30,0x07,0x46 = c.nge.s $f6, $f7 +0x3b,0x60,0x2e,0x46 = c.ngl.d $f12, $f14 +0x3b,0x30,0x07,0x46 = c.ngl.s $f6, $f7 +0x39,0x60,0x2e,0x46 = c.ngle.d $f12, $f14 +0x39,0x30,0x07,0x46 = c.ngle.s $f6, $f7 +0x3f,0x60,0x2e,0x46 = c.ngt.d $f12, $f14 +0x3f,0x30,0x07,0x46 = c.ngt.s $f6, $f7 +0x36,0x60,0x2e,0x46 = c.ole.d $f12, $f14 +0x36,0x30,0x07,0x46 = c.ole.s $f6, $f7 +0x34,0x60,0x2e,0x46 = c.olt.d $f12, $f14 +0x34,0x30,0x07,0x46 = c.olt.s $f6, $f7 +0x3a,0x60,0x2e,0x46 = c.seq.d $f12, $f14 +0x3a,0x30,0x07,0x46 = c.seq.s $f6, $f7 +0x38,0x60,0x2e,0x46 = c.sf.d $f12, $f14 +0x38,0x30,0x07,0x46 = c.sf.s $f6, $f7 +0x33,0x60,0x2e,0x46 = c.ueq.d $f12, $f14 +0x33,0xe0,0x12,0x46 = c.ueq.s $f28, $f18 +0x37,0x60,0x2e,0x46 = c.ule.d $f12, $f14 +0x37,0x30,0x07,0x46 = c.ule.s $f6, $f7 +0x35,0x60,0x2e,0x46 = c.ult.d $f12, $f14 +0x35,0x30,0x07,0x46 = c.ult.s $f6, $f7 +0x31,0x60,0x2e,0x46 = c.un.d $f12, $f14 +0x31,0x30,0x07,0x46 = c.un.s $f6, $f7 +0xa1,0x39,0x00,0x46 = cvt.d.s $f6, $f7 +0x21,0x73,0x80,0x46 = cvt.d.w $f12, $f14 +0x20,0x73,0x20,0x46 = cvt.s.d $f12, $f14 +0xa0,0x39,0x80,0x46 = cvt.s.w $f6, $f7 +0x24,0x73,0x20,0x46 = cvt.w.d $f12, $f14 +0xa4,0x39,0x00,0x46 = cvt.w.s $f6, $f7 +0x00,0x00,0x46,0x44 = cfc1 $a2, $0 +0x00,0xf8,0xca,0x44 = ctc1 $t2, $31 +0x00,0x38,0x06,0x44 = mfc1 $a2, $f7 +0x10,0x28,0x00,0x00 = mfhi $a1 +0x12,0x28,0x00,0x00 = mflo $a1 +0x86,0x41,0x20,0x46 = mov.d $f6, $f8 +0x86,0x39,0x00,0x46 = mov.s $f6, $f7 +0x00,0x38,0x86,0x44 = mtc1 $a2, $f7 +0x11,0x00,0xe0,0x00 = mthi $a3 +0x13,0x00,0xe0,0x00 = mtlo $a3 +0xc6,0x23,0xe9,0xe4 = swc1 $f9, 9158($a3) +0x00,0x38,0x06,0x40 = mfc0 $a2, $a3, 0 +0x00,0x40,0x89,0x40 = mtc0 $t1, $t0, 0 +0x00,0x38,0x05,0x48 = mfc2 $a1, $a3, 0 +0x00,0x20,0x89,0x48 = mtc2 $t1, $a0, 0 +0x02,0x38,0x06,0x40 = mfc0 $a2, $a3, 2 +0x03,0x40,0x89,0x40 = mtc0 $t1, $t0, 3 +0x04,0x38,0x05,0x48 = mfc2 $a1, $a3, 4 +0x05,0x20,0x89,0x48 = mtc2 $t1, $a0, 5 +0x01,0x10,0x20,0x00 = movf $v0, $at, $fcc0 +0x01,0x10,0x21,0x00 = movt $v0, $at, $fcc0 +0x01,0x20,0xb1,0x00 = movt $a0, $a1, $fcc4 +0x11,0x31,0x28,0x46 = movf.d $f4, $f6, $fcc2 +0x11,0x31,0x14,0x46 = movf.s $f4, $f6, $fcc5 +0x05,0x00,0xa6,0x4c = luxc1 $f0, $a2($a1) +0x0d,0x20,0xb8,0x4c = suxc1 $f4, $t8($a1) +0x00,0x05,0xcc,0x4d = lwxc1 $f20, $t4($t6) +0x08,0xd0,0xd2,0x4e = swxc1 $f26, $s2($s6) +0x00,0x20,0x71,0x44 = mfhc1 $s1, $f4 +0x00,0x30,0xf1,0x44 = mthc1 $s1, $f6 +0x10,0x00,0xa4,0xeb = swc2 $4, 16($sp) +0x10,0x00,0xa4,0xfb = sdc2 $4, 16($sp) +0x0c,0x00,0xeb,0xcb = lwc2 $11, 12($ra) +0x0c,0x00,0xeb,0xdb = ldc2 $11, 12($ra) diff --git a/capstone/suite/MC/Mips/mips-jump-instructions.s.cs b/capstone/suite/MC/Mips/mips-jump-instructions.s.cs new file mode 100644 index 000000000..5e741fc3e --- /dev/null +++ b/capstone/suite/MC/Mips/mips-jump-instructions.s.cs @@ -0,0 +1 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32, None diff --git a/capstone/suite/MC/Mips/mips-memory-instructions.s.cs b/capstone/suite/MC/Mips/mips-memory-instructions.s.cs new file mode 100644 index 000000000..ac5b3605c --- /dev/null +++ b/capstone/suite/MC/Mips/mips-memory-instructions.s.cs @@ -0,0 +1,17 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32, None +0x10,0x00,0xa4,0xa0 = sb $a0, 16($a1) +0x10,0x00,0xa4,0xe0 = sc $a0, 16($a1) +0x10,0x00,0xa4,0xa4 = sh $a0, 16($a1) +0x10,0x00,0xa4,0xac = sw $a0, 16($a1) +0x00,0x00,0xa7,0xac = sw $a3, ($a1) +0x10,0x00,0xa2,0xe4 = swc1 $f2, 16($a1) +0x10,0x00,0xa4,0xa8 = swl $a0, 16($a1) +0x04,0x00,0xa4,0x80 = lb $a0, 4($a1) +0x04,0x00,0xa4,0x8c = lw $a0, 4($a1) +0x04,0x00,0xa4,0x90 = lbu $a0, 4($a1) +0x04,0x00,0xa4,0x84 = lh $a0, 4($a1) +0x04,0x00,0xa4,0x94 = lhu $a0, 4($a1) +0x04,0x00,0xa4,0xc0 = ll $a0, 4($a1) +0x04,0x00,0xa4,0x8c = lw $a0, 4($a1) +0x00,0x00,0xe7,0x8c = lw $a3, ($a3) +0x10,0x00,0xa2,0x8f = lw $v0, 16($sp) diff --git a/capstone/suite/MC/Mips/mips-register-names.s.cs b/capstone/suite/MC/Mips/mips-register-names.s.cs new file mode 100644 index 000000000..fb7cd8962 --- /dev/null +++ b/capstone/suite/MC/Mips/mips-register-names.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x24,0x00,0x00,0x00 = addiu $zero, $zero, 0 +0x24,0x01,0x00,0x00 = addiu $at, $zero, 0 +0x24,0x02,0x00,0x00 = addiu $v0, $zero, 0 +0x24,0x03,0x00,0x00 = addiu $v1, $zero, 0 +0x24,0x04,0x00,0x00 = addiu $a0, $zero, 0 +0x24,0x05,0x00,0x00 = addiu $a1, $zero, 0 +0x24,0x06,0x00,0x00 = addiu $a2, $zero, 0 +0x24,0x07,0x00,0x00 = addiu $a3, $zero, 0 +0x24,0x08,0x00,0x00 = addiu $t0, $zero, 0 +0x24,0x09,0x00,0x00 = addiu $t1, $zero, 0 +0x24,0x0a,0x00,0x00 = addiu $t2, $zero, 0 +0x24,0x0b,0x00,0x00 = addiu $t3, $zero, 0 +0x24,0x0c,0x00,0x00 = addiu $t4, $zero, 0 +0x24,0x0d,0x00,0x00 = addiu $t5, $zero, 0 +0x24,0x0e,0x00,0x00 = addiu $t6, $zero, 0 +0x24,0x0f,0x00,0x00 = addiu $t7, $zero, 0 +0x24,0x10,0x00,0x00 = addiu $s0, $zero, 0 +0x24,0x11,0x00,0x00 = addiu $s1, $zero, 0 +0x24,0x12,0x00,0x00 = addiu $s2, $zero, 0 +0x24,0x13,0x00,0x00 = addiu $s3, $zero, 0 +0x24,0x14,0x00,0x00 = addiu $s4, $zero, 0 +0x24,0x15,0x00,0x00 = addiu $s5, $zero, 0 +0x24,0x16,0x00,0x00 = addiu $s6, $zero, 0 +0x24,0x17,0x00,0x00 = addiu $s7, $zero, 0 +0x24,0x18,0x00,0x00 = addiu $t8, $zero, 0 +0x24,0x19,0x00,0x00 = addiu $t9, $zero, 0 +0x24,0x1a,0x00,0x00 = addiu $k0, $zero, 0 +0x24,0x1b,0x00,0x00 = addiu $k1, $zero, 0 +0x24,0x1c,0x00,0x00 = addiu $gp, $zero, 0 +0x24,0x1d,0x00,0x00 = addiu $sp, $zero, 0 +0x24,0x1e,0x00,0x00 = addiu $fp, $zero, 0 +// 0x24,0x1f,0x00,0x00 = addiu $sp, $zero, 0 diff --git a/capstone/suite/MC/Mips/mips64-alu-instructions.s.cs b/capstone/suite/MC/Mips/mips64-alu-instructions.s.cs new file mode 100644 index 000000000..eeac44e5e --- /dev/null +++ b/capstone/suite/MC/Mips/mips64-alu-instructions.s.cs @@ -0,0 +1,47 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS64, None +0x24,0x48,0xc7,0x00 = and $t1, $a2, $a3 +0x67,0x45,0xc9,0x30 = andi $t1, $a2, 17767 +0x67,0x45,0xc9,0x30 = andi $t1, $a2, 17767 +0x21,0x30,0xe6,0x70 = clo $a2, $a3 +0x20,0x30,0xe6,0x70 = clz $a2, $a3 +0x84,0x61,0x33,0x7d = ins $s3, $t1, 6, 7 +0x27,0x48,0xc7,0x00 = nor $t1, $a2, $a3 +0x25,0x18,0x65,0x00 = or $v1, $v1, $a1 +0x67,0x45,0xa4,0x34 = ori $a0, $a1, 17767 +0x67,0x45,0xc9,0x34 = ori $t1, $a2, 17767 +0xc2,0x49,0x26,0x00 = rotr $t1, $a2, 7 +0x46,0x48,0xe6,0x00 = rotrv $t1, $a2, $a3 +0xc0,0x21,0x03,0x00 = sll $a0, $v1, 7 +0x04,0x10,0xa3,0x00 = sllv $v0, $v1, $a1 +0x2a,0x18,0x65,0x00 = slt $v1, $v1, $a1 +0x67,0x00,0x63,0x28 = slti $v1, $v1, 103 +0x67,0x00,0x63,0x28 = slti $v1, $v1, 103 +0x67,0x00,0x63,0x2c = sltiu $v1, $v1, 103 +0x2b,0x18,0x65,0x00 = sltu $v1, $v1, $a1 +0xc3,0x21,0x03,0x00 = sra $a0, $v1, 7 +0x07,0x10,0xa3,0x00 = srav $v0, $v1, $a1 +0xc2,0x21,0x03,0x00 = srl $a0, $v1, 7 +0x06,0x10,0xa3,0x00 = srlv $v0, $v1, $a1 +0x26,0x18,0x65,0x00 = xor $v1, $v1, $a1 +0x67,0x45,0xc9,0x38 = xori $t1, $a2, 17767 +0x67,0x45,0xc9,0x38 = xori $t1, $a2, 17767 +0xa0,0x30,0x07,0x7c = wsbh $a2, $a3 +0x27,0x38,0x00,0x01 = not $a3, $t0 +0x2c,0x48,0xc7,0x00 = dadd $t1, $a2, $a3 +0x67,0x45,0xc9,0x60 = daddi $t1, $a2, 17767 +0x67,0xc5,0xc9,0x64 = daddiu $t1, $a2, -15001 +0x67,0x45,0xc9,0x60 = daddi $t1, $a2, 17767 +0x67,0x45,0x29,0x61 = daddi $t1, $t1, 17767 +0x67,0xc5,0xc9,0x64 = daddiu $t1, $a2, -15001 +0x67,0xc5,0x29,0x65 = daddiu $t1, $t1, -15001 +0x2d,0x48,0xc7,0x00 = daddu $t1, $a2, $a3 +0x3a,0x4d,0x26,0x00 = drotr $t1, $a2, 20 +// 0x3e,0x4d,0x26,0x00 = drotr32 $t1, $a2, 52 +0x00,0x00,0xc7,0x70 = madd $a2, $a3 +0x01,0x00,0xc7,0x70 = maddu $a2, $a3 +0x04,0x00,0xc7,0x70 = msub $a2, $a3 +0x05,0x00,0xc7,0x70 = msubu $a2, $a3 +0x18,0x00,0x65,0x00 = mult $v1, $a1 +0x19,0x00,0x65,0x00 = multu $v1, $a1 +0x2f,0x20,0x65,0x00 = dsubu $a0, $v1, $a1 +0x2d,0x38,0x00,0x01 = move $a3, $t0 diff --git a/capstone/suite/MC/Mips/mips64-instructions.s.cs b/capstone/suite/MC/Mips/mips64-instructions.s.cs new file mode 100644 index 000000000..be7cc23a1 --- /dev/null +++ b/capstone/suite/MC/Mips/mips64-instructions.s.cs @@ -0,0 +1,3 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS64, None +0x81,0x00,0x42,0x4d = ldxc1 $f2, $v0($t2) +0x09,0x40,0x24,0x4f = sdxc1 $f8, $a0($t9) diff --git a/capstone/suite/MC/Mips/mips64-register-names.s.cs b/capstone/suite/MC/Mips/mips64-register-names.s.cs new file mode 100644 index 000000000..24f59f8b4 --- /dev/null +++ b/capstone/suite/MC/Mips/mips64-register-names.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS64+CS_MODE_BIG_ENDIAN, None +0x64,0x00,0x00,0x00 = daddiu $zero, $zero, 0 +0x64,0x01,0x00,0x00 = daddiu $at, $zero, 0 +0x64,0x02,0x00,0x00 = daddiu $v0, $zero, 0 +0x64,0x03,0x00,0x00 = daddiu $v1, $zero, 0 +0x64,0x04,0x00,0x00 = daddiu $a0, $zero, 0 +0x64,0x05,0x00,0x00 = daddiu $a1, $zero, 0 +0x64,0x06,0x00,0x00 = daddiu $a2, $zero, 0 +// 0x64,0x07,0x00,0x00 = daddiu $a2, $zero, 0 +// 0x64,0x08,0x00,0x00 = daddiu $a4, $zero, 0 +// 0x64,0x09,0x00,0x00 = daddiu $a5, $zero, 0 +// 0x64,0x0a,0x00,0x00 = daddiu $a6, $zero, 0 +// 0x64,0x0b,0x00,0x00 = daddiu $a7, $zero, 0 +0x64,0x0c,0x00,0x00 = daddiu $t4, $zero, 0 +0x64,0x0d,0x00,0x00 = daddiu $t5, $zero, 0 +0x64,0x0e,0x00,0x00 = daddiu $t6, $zero, 0 +0x64,0x0f,0x00,0x00 = daddiu $t7, $zero, 0 +0x64,0x10,0x00,0x00 = daddiu $s0, $zero, 0 +0x64,0x11,0x00,0x00 = daddiu $s1, $zero, 0 +0x64,0x12,0x00,0x00 = daddiu $s2, $zero, 0 +0x64,0x13,0x00,0x00 = daddiu $s3, $zero, 0 +0x64,0x14,0x00,0x00 = daddiu $s4, $zero, 0 +0x64,0x15,0x00,0x00 = daddiu $s5, $zero, 0 +0x64,0x16,0x00,0x00 = daddiu $s6, $zero, 0 +0x64,0x17,0x00,0x00 = daddiu $s7, $zero, 0 +0x64,0x18,0x00,0x00 = daddiu $t8, $zero, 0 +0x64,0x19,0x00,0x00 = daddiu $t9, $zero, 0 +// 0x64,0x1a,0x00,0x00 = daddiu $kt0, $zero, 0 +// 0x64,0x1b,0x00,0x00 = daddiu $kt1, $zero, 0 +0x64,0x1c,0x00,0x00 = daddiu $gp, $zero, 0 +0x64,0x1d,0x00,0x00 = daddiu $sp, $zero, 0 +// 0x64,0x1e,0x00,0x00 = daddiu $s8, $zero, 0 +0x64,0x1f,0x00,0x00 = daddiu $ra, $zero, 0 diff --git a/capstone/suite/MC/Mips/mips_directives.s.cs b/capstone/suite/MC/Mips/mips_directives.s.cs new file mode 100644 index 000000000..07d10c971 --- /dev/null +++ b/capstone/suite/MC/Mips/mips_directives.s.cs @@ -0,0 +1,12 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x10,0x00,0x01,0x4d = b 1336 +0x08,0x00,0x01,0x4c = j 1328 +0x0c,0x00,0x01,0x4c = jal 1328 +0x10,0x00,0x01,0x4d = b 1336 +0x00,0x00,0x00,0x00 = nop +0x08,0x00,0x01,0x4c = j 1328 +0x00,0x00,0x00,0x00 = nop +0x0c,0x00,0x01,0x4c = jal 1328 +0x00,0x00,0x00,0x00 = nop +0x46,0x00,0x39,0x85 = abs.s $f6, $f7 +0x01,0xef,0x18,0x24 = and $v1, $t7, $t7 diff --git a/capstone/suite/MC/Mips/nabi-regs.s.cs b/capstone/suite/MC/Mips/nabi-regs.s.cs new file mode 100644 index 000000000..0d14e2935 --- /dev/null +++ b/capstone/suite/MC/Mips/nabi-regs.s.cs @@ -0,0 +1,12 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS64+CS_MODE_BIG_ENDIAN, None +0x02,0x04,0x80,0x20 = add $s0, $s0, $a0 +0x02,0x06,0x80,0x20 = add $s0, $s0, $a2 +0x02,0x07,0x80,0x20 = add $s0, $s0, $a3 +0x02,0x08,0x80,0x20 = add $s0, $s0, $t0 +0x02,0x09,0x80,0x20 = add $s0, $s0, $t1 +0x02,0x0a,0x80,0x20 = add $s0, $s0, $t2 +0x02,0x0b,0x80,0x20 = add $s0, $s0, $t3 +0x02,0x0c,0x80,0x20 = add $s0, $s0, $t4 +0x02,0x0d,0x80,0x20 = add $s0, $s0, $t5 +0x02,0x0e,0x80,0x20 = add $s0, $s0, $t6 +0x02,0x0f,0x80,0x20 = add $s0, $s0, $t7 diff --git a/capstone/suite/MC/Mips/set-at-directive.s.cs b/capstone/suite/MC/Mips/set-at-directive.s.cs new file mode 100644 index 000000000..f01a43a78 --- /dev/null +++ b/capstone/suite/MC/Mips/set-at-directive.s.cs @@ -0,0 +1,6 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32, None +0x08,0x00,0x60,0x00 = jr $v1 +0x08,0x00,0x80,0x03 = jr $gp +0x08,0x00,0xc0,0x03 = jr $fp +0x08,0x00,0xa0,0x03 = jr $sp +0x08,0x00,0xe0,0x03 = jr $ra diff --git a/capstone/suite/MC/Mips/test_2r.s.cs b/capstone/suite/MC/Mips/test_2r.s.cs new file mode 100644 index 000000000..94b37bc8e --- /dev/null +++ b/capstone/suite/MC/Mips/test_2r.s.cs @@ -0,0 +1,16 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x7b,0x00,0x4f,0x9e = fill.b $w30, $t1 +0x7b,0x01,0xbf,0xde = fill.h $w31, $s7 +0x7b,0x02,0xc4,0x1e = fill.w $w16, $t8 +0x7b,0x08,0x05,0x5e = nloc.b $w21, $w0 +0x7b,0x09,0xfc,0x9e = nloc.h $w18, $w31 +0x7b,0x0a,0xb8,0x9e = nloc.w $w2, $w23 +0x7b,0x0b,0x51,0x1e = nloc.d $w4, $w10 +0x7b,0x0c,0x17,0xde = nlzc.b $w31, $w2 +0x7b,0x0d,0xb6,0xde = nlzc.h $w27, $w22 +0x7b,0x0e,0xea,0x9e = nlzc.w $w10, $w29 +0x7b,0x0f,0x4e,0x5e = nlzc.d $w25, $w9 +0x7b,0x04,0x95,0x1e = pcnt.b $w20, $w18 +0x7b,0x05,0x40,0x1e = pcnt.h $w0, $w8 +0x7b,0x06,0x4d,0xde = pcnt.w $w23, $w9 +0x7b,0x07,0xc5,0x5e = pcnt.d $w21, $w24 diff --git a/capstone/suite/MC/Mips/test_2rf.s.cs b/capstone/suite/MC/Mips/test_2rf.s.cs new file mode 100644 index 000000000..2e9560638 --- /dev/null +++ b/capstone/suite/MC/Mips/test_2rf.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x7b,0x20,0x66,0x9e = fclass.w $w26, $w12 +0x7b,0x21,0x8e,0x1e = fclass.d $w24, $w17 +0x7b,0x30,0x02,0x1e = fexupl.w $w8, $w0 +0x7b,0x31,0xec,0x5e = fexupl.d $w17, $w29 +0x7b,0x32,0x23,0x5e = fexupr.w $w13, $w4 +0x7b,0x33,0x11,0x5e = fexupr.d $w5, $w2 +0x7b,0x3c,0xed,0x1e = ffint_s.w $w20, $w29 +0x7b,0x3d,0x7b,0x1e = ffint_s.d $w12, $w15 +0x7b,0x3e,0xd9,0xde = ffint_u.w $w7, $w27 +0x7b,0x3f,0x84,0xde = ffint_u.d $w19, $w16 +0x7b,0x34,0x6f,0xde = ffql.w $w31, $w13 +0x7b,0x35,0x6b,0x1e = ffql.d $w12, $w13 +0x7b,0x36,0xf6,0xde = ffqr.w $w27, $w30 +0x7b,0x37,0x7f,0x9e = ffqr.d $w30, $w15 +0x7b,0x2e,0xfe,0x5e = flog2.w $w25, $w31 +0x7b,0x2f,0x54,0x9e = flog2.d $w18, $w10 +0x7b,0x2c,0x79,0xde = frint.w $w7, $w15 +0x7b,0x2d,0xb5,0x5e = frint.d $w21, $w22 +0x7b,0x2a,0x04,0xde = frcp.w $w19, $w0 +0x7b,0x2b,0x71,0x1e = frcp.d $w4, $w14 +0x7b,0x28,0x8b,0x1e = frsqrt.w $w12, $w17 +0x7b,0x29,0x5d,0xde = frsqrt.d $w23, $w11 +0x7b,0x26,0x58,0x1e = fsqrt.w $w0, $w11 +0x7b,0x27,0x63,0xde = fsqrt.d $w15, $w12 +0x7b,0x38,0x2f,0x9e = ftint_s.w $w30, $w5 +0x7b,0x39,0xb9,0x5e = ftint_s.d $w5, $w23 +0x7b,0x3a,0x75,0x1e = ftint_u.w $w20, $w14 +0x7b,0x3b,0xad,0xde = ftint_u.d $w23, $w21 +0x7b,0x22,0x8f,0x5e = ftrunc_s.w $w29, $w17 +0x7b,0x23,0xdb,0x1e = ftrunc_s.d $w12, $w27 +0x7b,0x24,0x7c,0x5e = ftrunc_u.w $w17, $w15 +0x7b,0x25,0xd9,0x5e = ftrunc_u.d $w5, $w27 diff --git a/capstone/suite/MC/Mips/test_3r.s.cs b/capstone/suite/MC/Mips/test_3r.s.cs new file mode 100644 index 000000000..99f5de917 --- /dev/null +++ b/capstone/suite/MC/Mips/test_3r.s.cs @@ -0,0 +1,243 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x78,0x04,0x4e,0x90 = add_a.b $w26, $w9, $w4 +0x78,0x3f,0xdd,0xd0 = add_a.h $w23, $w27, $w31 +0x78,0x56,0x32,0xd0 = add_a.w $w11, $w6, $w22 +0x78,0x60,0x51,0x90 = add_a.d $w6, $w10, $w0 +0x78,0x93,0xc4,0xd0 = adds_a.b $w19, $w24, $w19 +0x78,0xa4,0x36,0x50 = adds_a.h $w25, $w6, $w4 +0x78,0xdb,0x8e,0x50 = adds_a.w $w25, $w17, $w27 +0x78,0xfa,0x93,0xd0 = adds_a.d $w15, $w18, $w26 +0x79,0x13,0x5f,0x50 = adds_s.b $w29, $w11, $w19 +0x79,0x3a,0xb9,0x50 = adds_s.h $w5, $w23, $w26 +0x79,0x4d,0x74,0x10 = adds_s.w $w16, $w14, $w13 +0x79,0x7c,0x70,0x90 = adds_s.d $w2, $w14, $w28 +0x79,0x8e,0x88,0xd0 = adds_u.b $w3, $w17, $w14 +0x79,0xa4,0xf2,0x90 = adds_u.h $w10, $w30, $w4 +0x79,0xd4,0x93,0xd0 = adds_u.w $w15, $w18, $w20 +0x79,0xe9,0x57,0x90 = adds_u.d $w30, $w10, $w9 +0x78,0x15,0xa6,0x0e = addv.b $w24, $w20, $w21 +0x78,0x3b,0x69,0x0e = addv.h $w4, $w13, $w27 +0x78,0x4e,0x5c,0xce = addv.w $w19, $w11, $w14 +0x78,0x7f,0xa8,0x8e = addv.d $w2, $w21, $w31 +0x7a,0x03,0x85,0xd1 = asub_s.b $w23, $w16, $w3 +0x7a,0x39,0x8d,0x91 = asub_s.h $w22, $w17, $w25 +0x7a,0x49,0x0e,0x11 = asub_s.w $w24, $w1, $w9 +0x7a,0x6c,0x63,0x51 = asub_s.d $w13, $w12, $w12 +0x7a,0x8b,0xea,0x91 = asub_u.b $w10, $w29, $w11 +0x7a,0xaf,0x4c,0x91 = asub_u.h $w18, $w9, $w15 +0x7a,0xdf,0x9a,0x91 = asub_u.w $w10, $w19, $w31 +0x7a,0xe0,0x54,0x51 = asub_u.d $w17, $w10, $w0 +0x7a,0x01,0x28,0x90 = ave_s.b $w2, $w5, $w1 +0x7a,0x29,0x9c,0x10 = ave_s.h $w16, $w19, $w9 +0x7a,0x45,0xfc,0x50 = ave_s.w $w17, $w31, $w5 +0x7a,0x6a,0xce,0xd0 = ave_s.d $w27, $w25, $w10 +0x7a,0x89,0x9c,0x10 = ave_u.b $w16, $w19, $w9 +0x7a,0xab,0xe7,0x10 = ave_u.h $w28, $w28, $w11 +0x7a,0xcb,0x62,0xd0 = ave_u.w $w11, $w12, $w11 +0x7a,0xfc,0x9f,0x90 = ave_u.d $w30, $w19, $w28 +0x7b,0x02,0x86,0x90 = aver_s.b $w26, $w16, $w2 +0x7b,0x3b,0xdf,0xd0 = aver_s.h $w31, $w27, $w27 +0x7b,0x59,0x97,0x10 = aver_s.w $w28, $w18, $w25 +0x7b,0x7b,0xaf,0x50 = aver_s.d $w29, $w21, $w27 +0x7b,0x83,0xd7,0x50 = aver_u.b $w29, $w26, $w3 +0x7b,0xa9,0x94,0x90 = aver_u.h $w18, $w18, $w9 +0x7b,0xdd,0xcc,0x50 = aver_u.w $w17, $w25, $w29 +0x7b,0xf3,0xb5,0x90 = aver_u.d $w22, $w22, $w19 +0x79,0x9d,0x78,0x8d = bclr.b $w2, $w15, $w29 +0x79,0xbc,0xac,0x0d = bclr.h $w16, $w21, $w28 +0x79,0xc9,0x14,0xcd = bclr.w $w19, $w2, $w9 +0x79,0xe4,0xfe,0xcd = bclr.d $w27, $w31, $w4 +0x7b,0x18,0x81,0x4d = binsl.b $w5, $w16, $w24 +0x7b,0x2a,0x2f,0x8d = binsl.h $w30, $w5, $w10 +0x7b,0x4d,0x7b,0x8d = binsl.w $w14, $w15, $w13 +0x7b,0x6c,0xa5,0xcd = binsl.d $w23, $w20, $w12 +0x7b,0x82,0x5d,0x8d = binsr.b $w22, $w11, $w2 +0x7b,0xa6,0xd0,0x0d = binsr.h $w0, $w26, $w6 +0x7b,0xdc,0x1e,0x8d = binsr.w $w26, $w3, $w28 +0x7b,0xf5,0x00,0x0d = binsr.d $w0, $w0, $w21 +0x7a,0x98,0x58,0x0d = bneg.b $w0, $w11, $w24 +0x7a,0xa4,0x87,0x0d = bneg.h $w28, $w16, $w4 +0x7a,0xd3,0xd0,0xcd = bneg.w $w3, $w26, $w19 +0x7a,0xef,0xeb,0x4d = bneg.d $w13, $w29, $w15 +0x7a,0x1f,0x2f,0xcd = bset.b $w31, $w5, $w31 +0x7a,0x26,0x63,0x8d = bset.h $w14, $w12, $w6 +0x7a,0x4c,0x4f,0xcd = bset.w $w31, $w9, $w12 +0x7a,0x65,0xb1,0x4d = bset.d $w5, $w22, $w5 +0x78,0x12,0xff,0xcf = ceq.b $w31, $w31, $w18 +0x78,0x29,0xda,0x8f = ceq.h $w10, $w27, $w9 +0x78,0x4e,0x2a,0x4f = ceq.w $w9, $w5, $w14 +0x78,0x60,0x89,0x4f = ceq.d $w5, $w17, $w0 +0x7a,0x09,0x25,0xcf = cle_s.b $w23, $w4, $w9 +0x7a,0x33,0xdd,0x8f = cle_s.h $w22, $w27, $w19 +0x7a,0x4a,0xd7,0x8f = cle_s.w $w30, $w26, $w10 +0x7a,0x6a,0x2c,0x8f = cle_s.d $w18, $w5, $w10 +0x7a,0x80,0xc8,0x4f = cle_u.b $w1, $w25, $w0 +0x7a,0xbd,0x01,0xcf = cle_u.h $w7, $w0, $w29 +0x7a,0xc1,0x96,0x4f = cle_u.w $w25, $w18, $w1 +0x7a,0xfe,0x01,0x8f = cle_u.d $w6, $w0, $w30 +0x79,0x15,0x16,0x4f = clt_s.b $w25, $w2, $w21 +0x79,0x29,0x98,0x8f = clt_s.h $w2, $w19, $w9 +0x79,0x50,0x45,0xcf = clt_s.w $w23, $w8, $w16 +0x79,0x6c,0xf1,0xcf = clt_s.d $w7, $w30, $w12 +0x79,0x8d,0xf8,0x8f = clt_u.b $w2, $w31, $w13 +0x79,0xb7,0xfc,0x0f = clt_u.h $w16, $w31, $w23 +0x79,0xc9,0xc0,0xcf = clt_u.w $w3, $w24, $w9 +0x79,0xe1,0x01,0xcf = clt_u.d $w7, $w0, $w1 +0x7a,0x12,0x1f,0x52 = div_s.b $w29, $w3, $w18 +0x7a,0x2d,0x84,0x52 = div_s.h $w17, $w16, $w13 +0x7a,0x5e,0xc9,0x12 = div_s.w $w4, $w25, $w30 +0x7a,0x74,0x4f,0xd2 = div_s.d $w31, $w9, $w20 +0x7a,0x8a,0xe9,0x92 = div_u.b $w6, $w29, $w10 +0x7a,0xae,0xae,0x12 = div_u.h $w24, $w21, $w14 +0x7a,0xd9,0x77,0x52 = div_u.w $w29, $w14, $w25 +0x7a,0xf5,0x0f,0xd2 = div_u.d $w31, $w1, $w21 +0x78,0x39,0xb5,0xd3 = dotp_s.h $w23, $w22, $w25 +0x78,0x45,0x75,0x13 = dotp_s.w $w20, $w14, $w5 +0x78,0x76,0x14,0x53 = dotp_s.d $w17, $w2, $w22 +0x78,0xa6,0x13,0x53 = dotp_u.h $w13, $w2, $w6 +0x78,0xd5,0xb3,0xd3 = dotp_u.w $w15, $w22, $w21 +0x78,0xfa,0x81,0x13 = dotp_u.d $w4, $w16, $w26 +0x79,0x36,0xe0,0x53 = dpadd_s.h $w1, $w28, $w22 +0x79,0x4c,0x0a,0x93 = dpadd_s.w $w10, $w1, $w12 +0x79,0x7b,0xa8,0xd3 = dpadd_s.d $w3, $w21, $w27 +0x79,0xb4,0x2c,0x53 = dpadd_u.h $w17, $w5, $w20 +0x79,0xd0,0x46,0x13 = dpadd_u.w $w24, $w8, $w16 +0x79,0xf0,0xeb,0xd3 = dpadd_u.d $w15, $w29, $w16 +0x7a,0x2c,0x59,0x13 = dpsub_s.h $w4, $w11, $w12 +0x7a,0x46,0x39,0x13 = dpsub_s.w $w4, $w7, $w6 +0x7a,0x7c,0x67,0xd3 = dpsub_s.d $w31, $w12, $w28 +0x7a,0xb1,0xc9,0x13 = dpsub_u.h $w4, $w25, $w17 +0x7a,0xd0,0xcc,0xd3 = dpsub_u.w $w19, $w25, $w16 +0x7a,0xfa,0x51,0xd3 = dpsub_u.d $w7, $w10, $w26 +0x7a,0x22,0xc7,0x15 = hadd_s.h $w28, $w24, $w2 +0x7a,0x4b,0x8e,0x15 = hadd_s.w $w24, $w17, $w11 +0x7a,0x74,0x7c,0x55 = hadd_s.d $w17, $w15, $w20 +0x7a,0xb1,0xeb,0x15 = hadd_u.h $w12, $w29, $w17 +0x7a,0xc6,0x2a,0x55 = hadd_u.w $w9, $w5, $w6 +0x7a,0xe6,0xa0,0x55 = hadd_u.d $w1, $w20, $w6 +0x7b,0x3d,0x74,0x15 = hsub_s.h $w16, $w14, $w29 +0x7b,0x4b,0x6a,0x55 = hsub_s.w $w9, $w13, $w11 +0x7b,0x6e,0x97,0x95 = hsub_s.d $w30, $w18, $w14 +0x7b,0xae,0x61,0xd5 = hsub_u.h $w7, $w12, $w14 +0x7b,0xc5,0x2d,0x55 = hsub_u.w $w21, $w5, $w5 +0x7b,0xff,0x62,0xd5 = hsub_u.d $w11, $w12, $w31 +0x7b,0x1e,0x84,0x94 = ilvev.b $w18, $w16, $w30 +0x7b,0x2d,0x03,0x94 = ilvev.h $w14, $w0, $w13 +0x7b,0x56,0xcb,0x14 = ilvev.w $w12, $w25, $w22 +0x7b,0x63,0xdf,0x94 = ilvev.d $w30, $w27, $w3 +0x7a,0x15,0x1f,0x54 = ilvl.b $w29, $w3, $w21 +0x7a,0x31,0x56,0xd4 = ilvl.h $w27, $w10, $w17 +0x7a,0x40,0x09,0x94 = ilvl.w $w6, $w1, $w0 +0x7a,0x78,0x80,0xd4 = ilvl.d $w3, $w16, $w24 +0x7b,0x94,0x2a,0xd4 = ilvod.b $w11, $w5, $w20 +0x7b,0xbf,0x6c,0x94 = ilvod.h $w18, $w13, $w31 +0x7b,0xd8,0x87,0x54 = ilvod.w $w29, $w16, $w24 +0x7b,0xfd,0x65,0x94 = ilvod.d $w22, $w12, $w29 +0x7a,0x86,0xf1,0x14 = ilvr.b $w4, $w30, $w6 +0x7a,0xbd,0x9f,0x14 = ilvr.h $w28, $w19, $w29 +0x7a,0xd5,0xa4,0x94 = ilvr.w $w18, $w20, $w21 +0x7a,0xec,0xf5,0xd4 = ilvr.d $w23, $w30, $w12 +0x78,0x9d,0xfc,0x52 = maddv.b $w17, $w31, $w29 +0x78,0xa9,0xc1,0xd2 = maddv.h $w7, $w24, $w9 +0x78,0xd4,0xb5,0x92 = maddv.w $w22, $w22, $w20 +0x78,0xf4,0xd7,0x92 = maddv.d $w30, $w26, $w20 +0x7b,0x17,0x5d,0xce = max_a.b $w23, $w11, $w23 +0x7b,0x3e,0x2d,0x0e = max_a.h $w20, $w5, $w30 +0x7b,0x5e,0x91,0xce = max_a.w $w7, $w18, $w30 +0x7b,0x7f,0x42,0x0e = max_a.d $w8, $w8, $w31 +0x79,0x13,0x0a,0x8e = max_s.b $w10, $w1, $w19 +0x79,0x31,0xeb,0xce = max_s.h $w15, $w29, $w17 +0x79,0x4e,0xeb,0xce = max_s.w $w15, $w29, $w14 +0x79,0x63,0xc6,0x4e = max_s.d $w25, $w24, $w3 +0x79,0x85,0xc3,0x0e = max_u.b $w12, $w24, $w5 +0x79,0xa7,0x31,0x4e = max_u.h $w5, $w6, $w7 +0x79,0xc7,0x24,0x0e = max_u.w $w16, $w4, $w7 +0x79,0xf8,0x66,0x8e = max_u.d $w26, $w12, $w24 +0x7b,0x81,0xd1,0x0e = min_a.b $w4, $w26, $w1 +0x7b,0xbf,0x6b,0x0e = min_a.h $w12, $w13, $w31 +0x7b,0xc0,0xa7,0x0e = min_a.w $w28, $w20, $w0 +0x7b,0xf3,0xa3,0x0e = min_a.d $w12, $w20, $w19 +0x7a,0x0e,0x1c,0xce = min_s.b $w19, $w3, $w14 +0x7a,0x28,0xae,0xce = min_s.h $w27, $w21, $w8 +0x7a,0x5e,0x70,0x0e = min_s.w $w0, $w14, $w30 +0x7a,0x75,0x41,0x8e = min_s.d $w6, $w8, $w21 +0x7a,0x88,0xd5,0x8e = min_u.b $w22, $w26, $w8 +0x7a,0xac,0xd9,0xce = min_u.h $w7, $w27, $w12 +0x7a,0xce,0xa2,0x0e = min_u.w $w8, $w20, $w14 +0x7a,0xef,0x76,0x8e = min_u.d $w26, $w14, $w15 +0x7b,0x1a,0x0c,0x92 = mod_s.b $w18, $w1, $w26 +0x7b,0x3c,0xf7,0xd2 = mod_s.h $w31, $w30, $w28 +0x7b,0x4d,0x30,0x92 = mod_s.w $w2, $w6, $w13 +0x7b,0x76,0xdd,0x52 = mod_s.d $w21, $w27, $w22 +0x7b,0x8d,0x3c,0x12 = mod_u.b $w16, $w7, $w13 +0x7b,0xa7,0x46,0x12 = mod_u.h $w24, $w8, $w7 +0x7b,0xd1,0x17,0x92 = mod_u.w $w30, $w2, $w17 +0x7b,0xf9,0x17,0xd2 = mod_u.d $w31, $w2, $w25 +0x79,0x0c,0x2b,0x92 = msubv.b $w14, $w5, $w12 +0x79,0x3e,0x39,0x92 = msubv.h $w6, $w7, $w30 +0x79,0x55,0x13,0x52 = msubv.w $w13, $w2, $w21 +0x79,0x7b,0x74,0x12 = msubv.d $w16, $w14, $w27 +0x78,0x0d,0x1d,0x12 = mulv.b $w20, $w3, $w13 +0x78,0x2e,0xd6,0xd2 = mulv.h $w27, $w26, $w14 +0x78,0x43,0xea,0x92 = mulv.w $w10, $w29, $w3 +0x78,0x7d,0x99,0xd2 = mulv.d $w7, $w19, $w29 +0x79,0x07,0xd9,0x54 = pckev.b $w5, $w27, $w7 +0x79,0x3b,0x20,0x54 = pckev.h $w1, $w4, $w27 +0x79,0x40,0xa7,0x94 = pckev.w $w30, $w20, $w0 +0x79,0x6f,0x09,0x94 = pckev.d $w6, $w1, $w15 +0x79,0x9e,0xe4,0x94 = pckod.b $w18, $w28, $w30 +0x79,0xa8,0x2e,0x94 = pckod.h $w26, $w5, $w8 +0x79,0xc2,0x22,0x54 = pckod.w $w9, $w4, $w2 +0x79,0xf4,0xb7,0x94 = pckod.d $w30, $w22, $w20 +0x78,0x0c,0xb9,0x54 = sld.b $w5, $w23[$t4] +0x78,0x23,0xb8,0x54 = sld.h $w1, $w23[$v1] +0x78,0x49,0x45,0x14 = sld.w $w20, $w8[$t1] +0x78,0x7e,0xb9,0xd4 = sld.d $w7, $w23[$fp] +0x78,0x11,0x00,0xcd = sll.b $w3, $w0, $w17 +0x78,0x23,0xdc,0x4d = sll.h $w17, $w27, $w3 +0x78,0x46,0x3c,0x0d = sll.w $w16, $w7, $w6 +0x78,0x7a,0x02,0x4d = sll.d $w9, $w0, $w26 +0x78,0x81,0x0f,0x14 = splat.b $w28, $w1[$at] +0x78,0xab,0x58,0x94 = splat.h $w2, $w11[$t3] +0x78,0xcb,0x05,0x94 = splat.w $w22, $w0[$t3] +0x78,0xe2,0x00,0x14 = splat.d $w0, $w0[$v0] +0x78,0x91,0x27,0x0d = sra.b $w28, $w4, $w17 +0x78,0xa3,0x4b,0x4d = sra.h $w13, $w9, $w3 +0x78,0xd3,0xae,0xcd = sra.w $w27, $w21, $w19 +0x78,0xf7,0x47,0x8d = sra.d $w30, $w8, $w23 +0x78,0x92,0x94,0xd5 = srar.b $w19, $w18, $w18 +0x78,0xa8,0xb9,0xd5 = srar.h $w7, $w23, $w8 +0x78,0xc2,0x60,0x55 = srar.w $w1, $w12, $w2 +0x78,0xee,0x3d,0x55 = srar.d $w21, $w7, $w14 +0x79,0x13,0x1b,0x0d = srl.b $w12, $w3, $w19 +0x79,0x34,0xfd,0xcd = srl.h $w23, $w31, $w20 +0x79,0x4b,0xdc,0x8d = srl.w $w18, $w27, $w11 +0x79,0x7a,0x60,0xcd = srl.d $w3, $w12, $w26 +0x79,0x0b,0xab,0xd5 = srlr.b $w15, $w21, $w11 +0x79,0x33,0x6d,0x55 = srlr.h $w21, $w13, $w19 +0x79,0x43,0xf1,0x95 = srlr.w $w6, $w30, $w3 +0x79,0x6e,0x10,0x55 = srlr.d $w1, $w2, $w14 +0x78,0x01,0x7e,0x51 = subs_s.b $w25, $w15, $w1 +0x78,0x36,0xcf,0x11 = subs_s.h $w28, $w25, $w22 +0x78,0x55,0x62,0x91 = subs_s.w $w10, $w12, $w21 +0x78,0x72,0xa1,0x11 = subs_s.d $w4, $w20, $w18 +0x78,0x99,0x35,0x51 = subs_u.b $w21, $w6, $w25 +0x78,0xa7,0x50,0xd1 = subs_u.h $w3, $w10, $w7 +0x78,0xca,0x7a,0x51 = subs_u.w $w9, $w15, $w10 +0x78,0xea,0x99,0xd1 = subs_u.d $w7, $w19, $w10 +0x79,0x0c,0x39,0x91 = subsus_u.b $w6, $w7, $w12 +0x79,0x33,0xe9,0x91 = subsus_u.h $w6, $w29, $w19 +0x79,0x47,0x79,0xd1 = subsus_u.w $w7, $w15, $w7 +0x79,0x6f,0x1a,0x51 = subsus_u.d $w9, $w3, $w15 +0x79,0x9f,0x1d,0x91 = subsuu_s.b $w22, $w3, $w31 +0x79,0xb6,0xbc,0xd1 = subsuu_s.h $w19, $w23, $w22 +0x79,0xcd,0x52,0x51 = subsuu_s.w $w9, $w10, $w13 +0x79,0xe0,0x31,0x51 = subsuu_s.d $w5, $w6, $w0 +0x78,0x93,0x69,0x8e = subv.b $w6, $w13, $w19 +0x78,0xac,0xc9,0x0e = subv.h $w4, $w25, $w12 +0x78,0xcb,0xde,0xce = subv.w $w27, $w27, $w11 +0x78,0xea,0xc2,0x4e = subv.d $w9, $w24, $w10 +0x78,0x05,0x80,0xd5 = vshf.b $w3, $w16, $w5 +0x78,0x28,0x9d,0x15 = vshf.h $w20, $w19, $w8 +0x78,0x59,0xf4,0x15 = vshf.w $w16, $w30, $w25 +0x78,0x6f,0x5c,0xd5 = vshf.d $w19, $w11, $w15 diff --git a/capstone/suite/MC/Mips/test_3rf.s.cs b/capstone/suite/MC/Mips/test_3rf.s.cs new file mode 100644 index 000000000..491162d48 --- /dev/null +++ b/capstone/suite/MC/Mips/test_3rf.s.cs @@ -0,0 +1,83 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x78,0x1c,0x9f,0x1b = fadd.w $w28, $w19, $w28 +0x78,0x3d,0x13,0x5b = fadd.d $w13, $w2, $w29 +0x78,0x19,0x5b,0x9a = fcaf.w $w14, $w11, $w25 +0x78,0x33,0x08,0x5a = fcaf.d $w1, $w1, $w19 +0x78,0x90,0xb8,0x5a = fceq.w $w1, $w23, $w16 +0x78,0xb0,0x40,0x1a = fceq.d $w0, $w8, $w16 +0x79,0x98,0x4c,0x1a = fcle.w $w16, $w9, $w24 +0x79,0xa1,0x76,0xda = fcle.d $w27, $w14, $w1 +0x79,0x08,0x47,0x1a = fclt.w $w28, $w8, $w8 +0x79,0x2b,0xcf,0x9a = fclt.d $w30, $w25, $w11 +0x78,0xd7,0x90,0x9c = fcne.w $w2, $w18, $w23 +0x78,0xef,0xa3,0x9c = fcne.d $w14, $w20, $w15 +0x78,0x59,0x92,0x9c = fcor.w $w10, $w18, $w25 +0x78,0x6b,0xcc,0x5c = fcor.d $w17, $w25, $w11 +0x78,0xd5,0x13,0x9a = fcueq.w $w14, $w2, $w21 +0x78,0xe7,0x1f,0x5a = fcueq.d $w29, $w3, $w7 +0x79,0xc3,0x2c,0x5a = fcule.w $w17, $w5, $w3 +0x79,0xfe,0x0f,0xda = fcule.d $w31, $w1, $w30 +0x79,0x49,0xc9,0x9a = fcult.w $w6, $w25, $w9 +0x79,0x71,0x46,0xda = fcult.d $w27, $w8, $w17 +0x78,0x48,0xa1,0x1a = fcun.w $w4, $w20, $w8 +0x78,0x63,0x5f,0x5a = fcun.d $w29, $w11, $w3 +0x78,0x93,0x93,0x5c = fcune.w $w13, $w18, $w19 +0x78,0xb5,0xd4,0x1c = fcune.d $w16, $w26, $w21 +0x78,0xc2,0xc3,0x5b = fdiv.w $w13, $w24, $w2 +0x78,0xf9,0x24,0xdb = fdiv.d $w19, $w4, $w25 +0x7a,0x10,0x02,0x1b = fexdo.h $w8, $w0, $w16 +0x7a,0x3b,0x68,0x1b = fexdo.w $w0, $w13, $w27 +0x79,0xc3,0x04,0x5b = fexp2.w $w17, $w0, $w3 +0x79,0xea,0x05,0x9b = fexp2.d $w22, $w0, $w10 +0x79,0x17,0x37,0x5b = fmadd.w $w29, $w6, $w23 +0x79,0x35,0xe2,0xdb = fmadd.d $w11, $w28, $w21 +0x7b,0x8d,0xb8,0x1b = fmax.w $w0, $w23, $w13 +0x7b,0xa8,0x96,0x9b = fmax.d $w26, $w18, $w8 +0x7b,0xca,0x82,0x9b = fmax_a.w $w10, $w16, $w10 +0x7b,0xf6,0x4f,0x9b = fmax_a.d $w30, $w9, $w22 +0x7b,0x1e,0x0e,0x1b = fmin.w $w24, $w1, $w30 +0x7b,0x2a,0xde,0xdb = fmin.d $w27, $w27, $w10 +0x7b,0x54,0xea,0x9b = fmin_a.w $w10, $w29, $w20 +0x7b,0x78,0xf3,0x5b = fmin_a.d $w13, $w30, $w24 +0x79,0x40,0xcc,0x5b = fmsub.w $w17, $w25, $w0 +0x79,0x70,0x92,0x1b = fmsub.d $w8, $w18, $w16 +0x78,0x8f,0x78,0xdb = fmul.w $w3, $w15, $w15 +0x78,0xaa,0xf2,0x5b = fmul.d $w9, $w30, $w10 +0x7a,0x0a,0x2e,0x5a = fsaf.w $w25, $w5, $w10 +0x7a,0x3d,0x1e,0x5a = fsaf.d $w25, $w3, $w29 +0x7a,0x8d,0x8a,0xda = fseq.w $w11, $w17, $w13 +0x7a,0xbf,0x07,0x5a = fseq.d $w29, $w0, $w31 +0x7b,0x9f,0xff,0x9a = fsle.w $w30, $w31, $w31 +0x7b,0xb8,0xbc,0x9a = fsle.d $w18, $w23, $w24 +0x7b,0x06,0x2b,0x1a = fslt.w $w12, $w5, $w6 +0x7b,0x35,0xd4,0x1a = fslt.d $w16, $w26, $w21 +0x7a,0xcc,0x0f,0x9c = fsne.w $w30, $w1, $w12 +0x7a,0xf7,0x6b,0x9c = fsne.d $w14, $w13, $w23 +0x7a,0x5b,0x6e,0xdc = fsor.w $w27, $w13, $w27 +0x7a,0x6b,0xc3,0x1c = fsor.d $w12, $w24, $w11 +0x78,0x41,0xd7,0xdb = fsub.w $w31, $w26, $w1 +0x78,0x7b,0x8c,0xdb = fsub.d $w19, $w17, $w27 +0x7a,0xd9,0xc4,0x1a = fsueq.w $w16, $w24, $w25 +0x7a,0xee,0x74,0x9a = fsueq.d $w18, $w14, $w14 +0x7b,0xcd,0xf5,0xda = fsule.w $w23, $w30, $w13 +0x7b,0xfa,0x58,0x9a = fsule.d $w2, $w11, $w26 +0x7b,0x56,0xd2,0xda = fsult.w $w11, $w26, $w22 +0x7b,0x7e,0xb9,0x9a = fsult.d $w6, $w23, $w30 +0x7a,0x5c,0x90,0xda = fsun.w $w3, $w18, $w28 +0x7a,0x73,0x5c,0x9a = fsun.d $w18, $w11, $w19 +0x7a,0x82,0xfc,0x1c = fsune.w $w16, $w31, $w2 +0x7a,0xb1,0xd0,0xdc = fsune.d $w3, $w26, $w17 +0x7a,0x98,0x24,0x1b = ftq.h $w16, $w4, $w24 +0x7a,0xb9,0x29,0x5b = ftq.w $w5, $w5, $w25 +0x79,0x4a,0xa4,0x1c = madd_q.h $w16, $w20, $w10 +0x79,0x69,0x17,0x1c = madd_q.w $w28, $w2, $w9 +0x7b,0x49,0x92,0x1c = maddr_q.h $w8, $w18, $w9 +0x7b,0x70,0x67,0x5c = maddr_q.w $w29, $w12, $w16 +0x79,0x8a,0xd6,0x1c = msub_q.h $w24, $w26, $w10 +0x79,0xbc,0xf3,0x5c = msub_q.w $w13, $w30, $w28 +0x7b,0x8b,0xab,0x1c = msubr_q.h $w12, $w21, $w11 +0x7b,0xb4,0x70,0x5c = msubr_q.w $w1, $w14, $w20 +0x79,0x1e,0x81,0x9c = mul_q.h $w6, $w16, $w30 +0x79,0x24,0x0c,0x1c = mul_q.w $w16, $w1, $w4 +0x7b,0x13,0xa1,0x9c = mulr_q.h $w6, $w20, $w19 +0x7b,0x34,0x0e,0xdc = mulr_q.w $w27, $w1, $w20 diff --git a/capstone/suite/MC/Mips/test_bit.s.cs b/capstone/suite/MC/Mips/test_bit.s.cs new file mode 100644 index 000000000..882cd9020 --- /dev/null +++ b/capstone/suite/MC/Mips/test_bit.s.cs @@ -0,0 +1,49 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x79,0xf2,0xf5,0x49 = bclri.b $w21, $w30, 2 +0x79,0xe0,0xae,0x09 = bclri.h $w24, $w21, 0 +0x79,0xc3,0xf5,0xc9 = bclri.w $w23, $w30, 3 +0x79,0x80,0x5a,0x49 = bclri.d $w9, $w11, 0 +0x7b,0x71,0x66,0x49 = binsli.b $w25, $w12, 1 +0x7b,0x60,0xb5,0x49 = binsli.h $w21, $w22, 0 +0x7b,0x40,0x25,0x89 = binsli.w $w22, $w4, 0 +0x7b,0x06,0x11,0x89 = binsli.d $w6, $w2, 6 +0x7b,0xf0,0x9b,0xc9 = binsri.b $w15, $w19, 0 +0x7b,0xe1,0xf2,0x09 = binsri.h $w8, $w30, 1 +0x7b,0xc5,0x98,0x89 = binsri.w $w2, $w19, 5 +0x7b,0x81,0xa4,0x89 = binsri.d $w18, $w20, 1 +0x7a,0xf0,0x9e,0x09 = bnegi.b $w24, $w19, 0 +0x7a,0xe3,0x5f,0x09 = bnegi.h $w28, $w11, 3 +0x7a,0xc5,0xd8,0x49 = bnegi.w $w1, $w27, 5 +0x7a,0x81,0xa9,0x09 = bnegi.d $w4, $w21, 1 +0x7a,0x70,0x44,0x89 = bseti.b $w18, $w8, 0 +0x7a,0x62,0x76,0x09 = bseti.h $w24, $w14, 2 +0x7a,0x44,0x92,0x49 = bseti.w $w9, $w18, 4 +0x7a,0x01,0x79,0xc9 = bseti.d $w7, $w15, 1 +0x78,0x72,0xff,0xca = sat_s.b $w31, $w31, 2 +0x78,0x60,0x9c,0xca = sat_s.h $w19, $w19, 0 +0x78,0x40,0xec,0xca = sat_s.w $w19, $w29, 0 +0x78,0x00,0xb2,0xca = sat_s.d $w11, $w22, 0 +0x78,0xf3,0x68,0x4a = sat_u.b $w1, $w13, 3 +0x78,0xe4,0xc7,0x8a = sat_u.h $w30, $w24, 4 +0x78,0xc0,0x6f,0xca = sat_u.w $w31, $w13, 0 +0x78,0x85,0x87,0x4a = sat_u.d $w29, $w16, 5 +0x78,0x71,0x55,0xc9 = slli.b $w23, $w10, 1 +0x78,0x61,0x92,0x49 = slli.h $w9, $w18, 1 +0x78,0x44,0xea,0xc9 = slli.w $w11, $w29, 4 +0x78,0x01,0xa6,0x49 = slli.d $w25, $w20, 1 +0x78,0xf1,0xee,0x09 = srai.b $w24, $w29, 1 +0x78,0xe0,0x30,0x49 = srai.h $w1, $w6, 0 +0x78,0xc1,0xd1,0xc9 = srai.w $w7, $w26, 1 +0x78,0x83,0xcd,0x09 = srai.d $w20, $w25, 3 +0x79,0x70,0xc9,0x4a = srari.b $w5, $w25, 0 +0x79,0x64,0x31,0xca = srari.h $w7, $w6, 4 +0x79,0x45,0x5c,0x4a = srari.w $w17, $w11, 5 +0x79,0x05,0xcd,0x4a = srari.d $w21, $w25, 5 +0x79,0x72,0x00,0x89 = srli.b $w2, $w0, 2 +0x79,0x62,0xff,0xc9 = srli.h $w31, $w31, 2 +0x79,0x44,0x49,0x49 = srli.w $w5, $w9, 4 +0x79,0x05,0xd6,0xc9 = srli.d $w27, $w26, 5 +0x79,0xf0,0x1c,0x8a = srlri.b $w18, $w3, 0 +0x79,0xe3,0x10,0x4a = srlri.h $w1, $w2, 3 +0x79,0xc2,0xb2,0xca = srlri.w $w11, $w22, 2 +0x79,0x86,0x56,0x0a = srlri.d $w24, $w10, 6 diff --git a/capstone/suite/MC/Mips/test_cbranch.s.cs b/capstone/suite/MC/Mips/test_cbranch.s.cs new file mode 100644 index 000000000..92e7cdb04 --- /dev/null +++ b/capstone/suite/MC/Mips/test_cbranch.s.cs @@ -0,0 +1,11 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +// 0x47,0x80,0x00,0x01 = bnz.b $w0, 4 +// 0x47,0xa1,0x00,0x04 = bnz.h $w1, 16 +// 0x47,0xc2,0x00,0x20 = bnz.w $w2, 128 +// 0x47,0xe3,0xff,0xe0 = bnz.d $w3, -128 +// 0x45,0xe0,0x00,0x01 = bnz.v $w0, 4 +// 0x47,0x00,0x00,0x20 = bz.b $w0, 128 +// 0x47,0x21,0x00,0x40 = bz.h $w1, 256 +// 0x47,0x42,0x00,0x80 = bz.w $w2, 512 +// 0x47,0x63,0xff,0x00 = bz.d $w3, -1024 +// 0x45,0x60,0x00,0x01 = bz.v $w0, 4 diff --git a/capstone/suite/MC/Mips/test_ctrlregs.s.cs b/capstone/suite/MC/Mips/test_ctrlregs.s.cs new file mode 100644 index 000000000..fb587a75f --- /dev/null +++ b/capstone/suite/MC/Mips/test_ctrlregs.s.cs @@ -0,0 +1,33 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x78,0x7e,0x00,0x59 = cfcmsa $at, $0 +0x78,0x7e,0x00,0x59 = cfcmsa $at, $0 +0x78,0x7e,0x08,0x99 = cfcmsa $v0, $1 +0x78,0x7e,0x08,0x99 = cfcmsa $v0, $1 +0x78,0x7e,0x10,0xd9 = cfcmsa $v1, $2 +0x78,0x7e,0x10,0xd9 = cfcmsa $v1, $2 +0x78,0x7e,0x19,0x19 = cfcmsa $a0, $3 +0x78,0x7e,0x19,0x19 = cfcmsa $a0, $3 +0x78,0x7e,0x21,0x59 = cfcmsa $a1, $4 +0x78,0x7e,0x21,0x59 = cfcmsa $a1, $4 +0x78,0x7e,0x29,0x99 = cfcmsa $a2, $5 +0x78,0x7e,0x29,0x99 = cfcmsa $a2, $5 +0x78,0x7e,0x31,0xd9 = cfcmsa $a3, $6 +0x78,0x7e,0x31,0xd9 = cfcmsa $a3, $6 +0x78,0x7e,0x3a,0x19 = cfcmsa $t0, $7 +0x78,0x7e,0x3a,0x19 = cfcmsa $t0, $7 +0x78,0x3e,0x08,0x19 = ctcmsa $0, $at +0x78,0x3e,0x08,0x19 = ctcmsa $0, $at +0x78,0x3e,0x10,0x59 = ctcmsa $1, $v0 +0x78,0x3e,0x10,0x59 = ctcmsa $1, $v0 +0x78,0x3e,0x18,0x99 = ctcmsa $2, $v1 +0x78,0x3e,0x18,0x99 = ctcmsa $2, $v1 +0x78,0x3e,0x20,0xd9 = ctcmsa $3, $a0 +0x78,0x3e,0x20,0xd9 = ctcmsa $3, $a0 +0x78,0x3e,0x29,0x19 = ctcmsa $4, $a1 +0x78,0x3e,0x29,0x19 = ctcmsa $4, $a1 +0x78,0x3e,0x31,0x59 = ctcmsa $5, $a2 +0x78,0x3e,0x31,0x59 = ctcmsa $5, $a2 +0x78,0x3e,0x39,0x99 = ctcmsa $6, $a3 +0x78,0x3e,0x39,0x99 = ctcmsa $6, $a3 +0x78,0x3e,0x41,0xd9 = ctcmsa $7, $t0 +0x78,0x3e,0x41,0xd9 = ctcmsa $7, $t0 diff --git a/capstone/suite/MC/Mips/test_elm.s.cs b/capstone/suite/MC/Mips/test_elm.s.cs new file mode 100644 index 000000000..c2ba95257 --- /dev/null +++ b/capstone/suite/MC/Mips/test_elm.s.cs @@ -0,0 +1,16 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x78,0x82,0x43,0x59 = copy_s.b $t5, $w8[2] +0x78,0xa0,0xc8,0x59 = copy_s.h $at, $w25[0] +0x78,0xb1,0x2d,0x99 = copy_s.w $s6, $w5[1] +0x78,0xc4,0xa5,0x99 = copy_u.b $s6, $w20[4] +0x78,0xe0,0x25,0x19 = copy_u.h $s4, $w4[0] +0x78,0xf2,0x6f,0x99 = copy_u.w $fp, $w13[2] +0x78,0x04,0xe8,0x19 = sldi.b $w0, $w29[4] +0x78,0x20,0x8a,0x19 = sldi.h $w8, $w17[0] +0x78,0x32,0xdd,0x19 = sldi.w $w20, $w27[2] +0x78,0x38,0x61,0x19 = sldi.d $w4, $w12[0] +0x78,0x42,0x1e,0x59 = splati.b $w25, $w3[2] +0x78,0x61,0xe6,0x19 = splati.h $w24, $w28[1] +0x78,0x70,0x93,0x59 = splati.w $w13, $w18[0] +0x78,0x78,0x0f,0x19 = splati.d $w28, $w1[0] +0x78,0xbe,0xc5,0xd9 = move.v $w23, $w24 diff --git a/capstone/suite/MC/Mips/test_elm_insert.s.cs b/capstone/suite/MC/Mips/test_elm_insert.s.cs new file mode 100644 index 000000000..c9edc8e5e --- /dev/null +++ b/capstone/suite/MC/Mips/test_elm_insert.s.cs @@ -0,0 +1,4 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x79,0x03,0xed,0xd9 = insert.b $w23[3], $sp +0x79,0x22,0x2d,0x19 = insert.h $w20[2], $a1 +0x79,0x32,0x7a,0x19 = insert.w $w8[2], $t7 diff --git a/capstone/suite/MC/Mips/test_elm_insve.s.cs b/capstone/suite/MC/Mips/test_elm_insve.s.cs new file mode 100644 index 000000000..7657969b7 --- /dev/null +++ b/capstone/suite/MC/Mips/test_elm_insve.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x79,0x43,0x4e,0x59 = insve.b $w25[3], $w9[0] +0x79,0x62,0x16,0x19 = insve.h $w24[2], $w2[0] +0x79,0x72,0x68,0x19 = insve.w $w0[2], $w13[0] +0x79,0x78,0x90,0xd9 = insve.d $w3[0], $w18[0] diff --git a/capstone/suite/MC/Mips/test_i10.s.cs b/capstone/suite/MC/Mips/test_i10.s.cs new file mode 100644 index 000000000..ba799f9d7 --- /dev/null +++ b/capstone/suite/MC/Mips/test_i10.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x7b,0x06,0x32,0x07 = ldi.b $w8, 198 +0x7b,0x29,0xcd,0x07 = ldi.h $w20, 313 +0x7b,0x4f,0x66,0x07 = ldi.w $w24, 492 +// 0x7b,0x7a,0x66,0xc7 = ldi.d $w27, -180 diff --git a/capstone/suite/MC/Mips/test_i5.s.cs b/capstone/suite/MC/Mips/test_i5.s.cs new file mode 100644 index 000000000..57192231b --- /dev/null +++ b/capstone/suite/MC/Mips/test_i5.s.cs @@ -0,0 +1,45 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x78,0x1e,0xf8,0xc6 = addvi.b $w3, $w31, 30 +0x78,0x3a,0x6e,0x06 = addvi.h $w24, $w13, 26 +0x78,0x5a,0xa6,0x86 = addvi.w $w26, $w20, 26 +0x78,0x75,0x0c,0x06 = addvi.d $w16, $w1, 21 +// 0x78,0x18,0xae,0x07 = ceqi.b $w24, $w21, -8 +0x78,0x22,0x7f,0xc7 = ceqi.h $w31, $w15, 2 +// 0x78,0x5f,0x0b,0x07 = ceqi.w $w12, $w1, -1 +0x78,0x67,0xb6,0x07 = ceqi.d $w24, $w22, 7 +0x7a,0x01,0x83,0x07 = clei_s.b $w12, $w16, 1 +// 0x7a,0x37,0x50,0x87 = clei_s.h $w2, $w10, -9 +// 0x7a,0x56,0x59,0x07 = clei_s.w $w4, $w11, -10 +// 0x7a,0x76,0xe8,0x07 = clei_s.d $w0, $w29, -10 +0x7a,0x83,0x8d,0x47 = clei_u.b $w21, $w17, 3 +0x7a,0xb1,0x3f,0x47 = clei_u.h $w29, $w7, 17 +0x7a,0xc2,0x08,0x47 = clei_u.w $w1, $w1, 2 +0x7a,0xfd,0xde,0xc7 = clei_u.d $w27, $w27, 29 +// 0x79,0x19,0x6c,0xc7 = clti_s.b $w19, $w13, -7 +// 0x79,0x34,0x53,0xc7 = clti_s.h $w15, $w10, -12 +0x79,0x4b,0x63,0x07 = clti_s.w $w12, $w12, 11 +// 0x79,0x71,0xa7,0x47 = clti_s.d $w29, $w20, -15 +0x79,0x9d,0x4b,0x87 = clti_u.b $w14, $w9, 29 +0x79,0xb9,0xce,0x07 = clti_u.h $w24, $w25, 25 +0x79,0xd6,0x08,0x47 = clti_u.w $w1, $w1, 22 +0x79,0xe1,0xcd,0x47 = clti_u.d $w21, $w25, 1 +0x79,0x01,0xad,0x86 = maxi_s.b $w22, $w21, 1 +// 0x79,0x38,0x2f,0x46 = maxi_s.h $w29, $w5, -8 +// 0x79,0x54,0x50,0x46 = maxi_s.w $w1, $w10, -12 +// 0x79,0x70,0xeb,0x46 = maxi_s.d $w13, $w29, -16 +0x79,0x8c,0x05,0x06 = maxi_u.b $w20, $w0, 12 +0x79,0xa3,0x70,0x46 = maxi_u.h $w1, $w14, 3 +0x79,0xcb,0xb6,0xc6 = maxi_u.w $w27, $w22, 11 +0x79,0xe4,0x36,0x86 = maxi_u.d $w26, $w6, 4 +0x7a,0x01,0x09,0x06 = mini_s.b $w4, $w1, 1 +// 0x7a,0x37,0xde,0xc6 = mini_s.h $w27, $w27, -9 +0x7a,0x49,0x5f,0x06 = mini_s.w $w28, $w11, 9 +0x7a,0x6a,0x52,0xc6 = mini_s.d $w11, $w10, 10 +0x7a,0x9b,0xbc,0x86 = mini_u.b $w18, $w23, 27 +0x7a,0xb2,0xd1,0xc6 = mini_u.h $w7, $w26, 18 +0x7a,0xda,0x62,0xc6 = mini_u.w $w11, $w12, 26 +0x7a,0xe2,0x7a,0xc6 = mini_u.d $w11, $w15, 2 +0x78,0x93,0xa6,0x06 = subvi.b $w24, $w20, 19 +0x78,0xa4,0x9a,0xc6 = subvi.h $w11, $w19, 4 +0x78,0xcb,0x53,0x06 = subvi.w $w12, $w10, 11 +0x78,0xe7,0x84,0xc6 = subvi.d $w19, $w16, 7 diff --git a/capstone/suite/MC/Mips/test_i8.s.cs b/capstone/suite/MC/Mips/test_i8.s.cs new file mode 100644 index 000000000..0b08f63aa --- /dev/null +++ b/capstone/suite/MC/Mips/test_i8.s.cs @@ -0,0 +1,11 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x78,0x30,0xe8,0x80 = andi.b $w2, $w29, 48 +0x78,0x7e,0xb1,0x81 = bmnzi.b $w6, $w22, 126 +0x79,0x58,0x0e,0xc1 = bmzi.b $w27, $w1, 88 +0x7a,0xbd,0x1f,0x41 = bseli.b $w29, $w3, 189 +0x7a,0x38,0x88,0x40 = nori.b $w1, $w17, 56 +0x79,0x87,0xa6,0x80 = ori.b $w26, $w20, 135 +0x78,0x69,0xf4,0xc2 = shf.b $w19, $w30, 105 +0x79,0x4c,0x44,0x42 = shf.h $w17, $w8, 76 +0x7a,0x5d,0x1b,0x82 = shf.w $w14, $w3, 93 +0x7b,0x14,0x54,0x00 = xori.b $w16, $w10, 20 diff --git a/capstone/suite/MC/Mips/test_lsa.s.cs b/capstone/suite/MC/Mips/test_lsa.s.cs new file mode 100644 index 000000000..098775c04 --- /dev/null +++ b/capstone/suite/MC/Mips/test_lsa.s.cs @@ -0,0 +1,5 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x01,0x2a,0x40,0x05 = lsa $t0, $t1, $t2, 1 +0x01,0x2a,0x40,0x45 = lsa $t0, $t1, $t2, 2 +0x01,0x2a,0x40,0x85 = lsa $t0, $t1, $t2, 3 +0x01,0x2a,0x40,0xc5 = lsa $t0, $t1, $t2, 4 diff --git a/capstone/suite/MC/Mips/test_mi10.s.cs b/capstone/suite/MC/Mips/test_mi10.s.cs new file mode 100644 index 000000000..54d62c469 --- /dev/null +++ b/capstone/suite/MC/Mips/test_mi10.s.cs @@ -0,0 +1,24 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x7a,0x00,0x08,0x20 = ld.b $w0, -512($at) +0x78,0x00,0x10,0x60 = ld.b $w1, ($v0) +0x79,0xff,0x18,0xa0 = ld.b $w2, 511($v1) +0x7a,0x00,0x20,0xe1 = ld.h $w3, -1024($a0) +0x7b,0x00,0x29,0x21 = ld.h $w4, -512($a1) +0x78,0x00,0x31,0x61 = ld.h $w5, ($a2) +0x79,0x00,0x39,0xa1 = ld.h $w6, 512($a3) +0x79,0xff,0x41,0xe1 = ld.h $w7, 1022($t0) +0x7a,0x00,0x4a,0x22 = ld.w $w8, -2048($t1) +0x7b,0x00,0x52,0x62 = ld.w $w9, -1024($t2) +0x7b,0x80,0x5a,0xa2 = ld.w $w10, -512($t3) +0x78,0x80,0x62,0xe2 = ld.w $w11, 512($t4) +0x79,0x00,0x6b,0x22 = ld.w $w12, 1024($t5) +0x79,0xff,0x73,0x62 = ld.w $w13, 2044($t6) +0x7a,0x00,0x7b,0xa3 = ld.d $w14, -4096($t7) +0x7b,0x00,0x83,0xe3 = ld.d $w15, -2048($s0) +0x7b,0x80,0x8c,0x23 = ld.d $w16, -1024($s1) +0x7b,0xc0,0x94,0x63 = ld.d $w17, -512($s2) +0x78,0x00,0x9c,0xa3 = ld.d $w18, ($s3) +0x78,0x40,0xa4,0xe3 = ld.d $w19, 512($s4) +0x78,0x80,0xad,0x23 = ld.d $w20, 1024($s5) +0x79,0x00,0xb5,0x63 = ld.d $w21, 2048($s6) +0x79,0xff,0xbd,0xa3 = ld.d $w22, 4088($s7) diff --git a/capstone/suite/MC/Mips/test_vec.s.cs b/capstone/suite/MC/Mips/test_vec.s.cs new file mode 100644 index 000000000..930386823 --- /dev/null +++ b/capstone/suite/MC/Mips/test_vec.s.cs @@ -0,0 +1,8 @@ +# CS_ARCH_MIPS, CS_MODE_MIPS32+CS_MODE_BIG_ENDIAN, None +0x78,0x1b,0xa6,0x5e = and.v $w25, $w20, $w27 +0x78,0x87,0x34,0x5e = bmnz.v $w17, $w6, $w7 +0x78,0xa9,0x88,0xde = bmz.v $w3, $w17, $w9 +0x78,0xce,0x02,0x1e = bsel.v $w8, $w0, $w14 +0x78,0x40,0xf9,0xde = nor.v $w7, $w31, $w0 +0x78,0x3e,0xd6,0x1e = or.v $w24, $w26, $w30 +0x78,0x6f,0xd9,0xde = xor.v $w7, $w27, $w15 |