Index: src/mips64/assembler-mips64.cc |
diff --git a/src/mips64/assembler-mips64.cc b/src/mips64/assembler-mips64.cc |
index 5d51e6354be0f02f81ca18c14aa62f9a1e4d3944..b8f582131c143459c76bd74c53367345d3369fcb 100644 |
--- a/src/mips64/assembler-mips64.cc |
+++ b/src/mips64/assembler-mips64.cc |
@@ -2192,6 +2192,14 @@ void Assembler::ext_(Register rt, Register rs, uint16_t pos, uint16_t size) { |
} |
+void Assembler::dext_(Register rt, Register rs, uint16_t pos, uint16_t size) { |
+ // Should be called via MacroAssembler::Ext. |
+ // Dext instr has 'rt' field as dest, and two uint5: msb, lsb. |
+ DCHECK(kArchVariant == kMips64r2 || kArchVariant == kMips64r6); |
+ GenInstrRegister(SPECIAL3, rs, rt, size - 1, pos, DEXT); |
+} |
+ |
+ |
void Assembler::pref(int32_t hint, const MemOperand& rs) { |
DCHECK(is_uint5(hint) && is_uint16(rs.offset_)); |
Instr instr = PREF | (rs.rm().code() << kRsShift) | (hint << kRtShift) |