Index: src/mips/assembler-mips.cc |
diff --git a/src/mips/assembler-mips.cc b/src/mips/assembler-mips.cc |
index 87abbe1b4d1ea6ba01a2d7f697d5042baa7bb73c..7fa4d5d66a5c2fe2c97f67c480811c189c6e99d0 100644 |
--- a/src/mips/assembler-mips.cc |
+++ b/src/mips/assembler-mips.cc |
@@ -61,6 +61,28 @@ |
#endif |
return answer; |
+} |
+ |
+ |
+const char* DoubleRegister::AllocationIndexToString(int index) { |
+ DCHECK(index >= 0 && index < kMaxNumAllocatableRegisters); |
+ const char* const names[] = { |
+ "f0", |
+ "f2", |
+ "f4", |
+ "f6", |
+ "f8", |
+ "f10", |
+ "f12", |
+ "f14", |
+ "f16", |
+ "f18", |
+ "f20", |
+ "f22", |
+ "f24", |
+ "f26" |
+ }; |
+ return names[index]; |
} |
@@ -228,31 +250,31 @@ |
static const int kNegOffset = 0x00008000; |
// addiu(sp, sp, 4) aka Pop() operation or part of Pop(r) |
// operations as post-increment of sp. |
-const Instr kPopInstruction = ADDIU | (Register::kCode_sp << kRsShift) | |
- (Register::kCode_sp << kRtShift) | |
- (kPointerSize & kImm16Mask); // NOLINT |
+const Instr kPopInstruction = ADDIU | (kRegister_sp_Code << kRsShift) |
+ | (kRegister_sp_Code << kRtShift) |
+ | (kPointerSize & kImm16Mask); // NOLINT |
// addiu(sp, sp, -4) part of Push(r) operation as pre-decrement of sp. |
-const Instr kPushInstruction = ADDIU | (Register::kCode_sp << kRsShift) | |
- (Register::kCode_sp << kRtShift) | |
- (-kPointerSize & kImm16Mask); // NOLINT |
+const Instr kPushInstruction = ADDIU | (kRegister_sp_Code << kRsShift) |
+ | (kRegister_sp_Code << kRtShift) |
+ | (-kPointerSize & kImm16Mask); // NOLINT |
// sw(r, MemOperand(sp, 0)) |
-const Instr kPushRegPattern = |
- SW | (Register::kCode_sp << kRsShift) | (0 & kImm16Mask); // NOLINT |
+const Instr kPushRegPattern = SW | (kRegister_sp_Code << kRsShift) |
+ | (0 & kImm16Mask); // NOLINT |
// lw(r, MemOperand(sp, 0)) |
-const Instr kPopRegPattern = |
- LW | (Register::kCode_sp << kRsShift) | (0 & kImm16Mask); // NOLINT |
- |
-const Instr kLwRegFpOffsetPattern = |
- LW | (Register::kCode_fp << kRsShift) | (0 & kImm16Mask); // NOLINT |
- |
-const Instr kSwRegFpOffsetPattern = |
- SW | (Register::kCode_fp << kRsShift) | (0 & kImm16Mask); // NOLINT |
- |
-const Instr kLwRegFpNegOffsetPattern = LW | (Register::kCode_fp << kRsShift) | |
- (kNegOffset & kImm16Mask); // NOLINT |
- |
-const Instr kSwRegFpNegOffsetPattern = SW | (Register::kCode_fp << kRsShift) | |
- (kNegOffset & kImm16Mask); // NOLINT |
+const Instr kPopRegPattern = LW | (kRegister_sp_Code << kRsShift) |
+ | (0 & kImm16Mask); // NOLINT |
+ |
+const Instr kLwRegFpOffsetPattern = LW | (kRegister_fp_Code << kRsShift) |
+ | (0 & kImm16Mask); // NOLINT |
+ |
+const Instr kSwRegFpOffsetPattern = SW | (kRegister_fp_Code << kRsShift) |
+ | (0 & kImm16Mask); // NOLINT |
+ |
+const Instr kLwRegFpNegOffsetPattern = LW | (kRegister_fp_Code << kRsShift) |
+ | (kNegOffset & kImm16Mask); // NOLINT |
+ |
+const Instr kSwRegFpNegOffsetPattern = SW | (kRegister_fp_Code << kRsShift) |
+ | (kNegOffset & kImm16Mask); // NOLINT |
// A mask for the Rt register for push, pop, lw, sw instructions. |
const Instr kRtMask = kRtFieldMask; |
const Instr kLwSwInstrTypeMask = 0xffe00000; |
@@ -312,21 +334,21 @@ |
Register Assembler::GetRtReg(Instr instr) { |
Register rt; |
- rt.reg_code = (instr & kRtFieldMask) >> kRtShift; |
+ rt.code_ = (instr & kRtFieldMask) >> kRtShift; |
return rt; |
} |
Register Assembler::GetRsReg(Instr instr) { |
Register rs; |
- rs.reg_code = (instr & kRsFieldMask) >> kRsShift; |
+ rs.code_ = (instr & kRsFieldMask) >> kRsShift; |
return rs; |
} |
Register Assembler::GetRdReg(Instr instr) { |
Register rd; |
- rd.reg_code = (instr & kRdFieldMask) >> kRdShift; |
+ rd.code_ = (instr & kRdFieldMask) >> kRdShift; |
return rd; |
} |
@@ -1920,14 +1942,14 @@ |
void Assembler::movt(Register rd, Register rs, uint16_t cc) { |
Register rt; |
- rt.reg_code = (cc & 0x0007) << 2 | 1; |
+ rt.code_ = (cc & 0x0007) << 2 | 1; |
GenInstrRegister(SPECIAL, rs, rt, rd, 0, MOVCI); |
} |
void Assembler::movf(Register rd, Register rs, uint16_t cc) { |
Register rt; |
- rt.reg_code = (cc & 0x0007) << 2 | 0; |
+ rt.code_ = (cc & 0x0007) << 2 | 0; |
GenInstrRegister(SPECIAL, rs, rt, rd, 0, MOVCI); |
} |
@@ -2211,7 +2233,7 @@ |
void Assembler::movt_s(FPURegister fd, FPURegister fs, uint16_t cc) { |
DCHECK(IsMipsArchVariant(kMips32r2)); |
FPURegister ft; |
- ft.reg_code = (cc & 0x0007) << 2 | 1; |
+ ft.code_ = (cc & 0x0007) << 2 | 1; |
GenInstrRegister(COP1, S, ft, fs, fd, MOVF); |
} |
@@ -2219,7 +2241,7 @@ |
void Assembler::movt_d(FPURegister fd, FPURegister fs, uint16_t cc) { |
DCHECK(IsMipsArchVariant(kMips32r2)); |
FPURegister ft; |
- ft.reg_code = (cc & 0x0007) << 2 | 1; |
+ ft.code_ = (cc & 0x0007) << 2 | 1; |
GenInstrRegister(COP1, D, ft, fs, fd, MOVF); |
} |
@@ -2227,7 +2249,7 @@ |
void Assembler::movf_s(FPURegister fd, FPURegister fs, uint16_t cc) { |
DCHECK(IsMipsArchVariant(kMips32r2)); |
FPURegister ft; |
- ft.reg_code = (cc & 0x0007) << 2 | 0; |
+ ft.code_ = (cc & 0x0007) << 2 | 0; |
GenInstrRegister(COP1, S, ft, fs, fd, MOVF); |
} |
@@ -2235,7 +2257,7 @@ |
void Assembler::movf_d(FPURegister fd, FPURegister fs, uint16_t cc) { |
DCHECK(IsMipsArchVariant(kMips32r2)); |
FPURegister ft; |
- ft.reg_code = (cc & 0x0007) << 2 | 0; |
+ ft.code_ = (cc & 0x0007) << 2 | 0; |
GenInstrRegister(COP1, D, ft, fs, fd, MOVF); |
} |