diff options
Diffstat (limited to 'compiler/utils/mips')
| -rw-r--r-- | compiler/utils/mips/assembler_mips.cc | 5 | ||||
| -rw-r--r-- | compiler/utils/mips/assembler_mips.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/compiler/utils/mips/assembler_mips.cc b/compiler/utils/mips/assembler_mips.cc index 42f21e603d..733ad2cc38 100644 --- a/compiler/utils/mips/assembler_mips.cc +++ b/compiler/utils/mips/assembler_mips.cc @@ -249,6 +249,11 @@ void MipsAssembler::MulR6(Register rd, Register rs, Register rt) { EmitR(0, rs, rt, rd, 2, 0x18); } +void MipsAssembler::MuhR6(Register rd, Register rs, Register rt) { + CHECK(IsR6()); + EmitR(0, rs, rt, rd, 3, 0x18); +} + void MipsAssembler::MuhuR6(Register rd, Register rs, Register rt) { CHECK(IsR6()); EmitR(0, rs, rt, rd, 3, 0x19); diff --git a/compiler/utils/mips/assembler_mips.h b/compiler/utils/mips/assembler_mips.h index d50b4f698e..62366f6a8b 100644 --- a/compiler/utils/mips/assembler_mips.h +++ b/compiler/utils/mips/assembler_mips.h @@ -119,6 +119,7 @@ class MipsAssembler FINAL : public Assembler { void DivuR2(Register rd, Register rs, Register rt); // R2 void ModuR2(Register rd, Register rs, Register rt); // R2 void MulR6(Register rd, Register rs, Register rt); // R6 + void MuhR6(Register rd, Register rs, Register rt); // R6 void MuhuR6(Register rd, Register rs, Register rt); // R6 void DivR6(Register rd, Register rs, Register rt); // R6 void ModR6(Register rd, Register rs, Register rt); // R6 |