MIPS: Remove madd.d usage for r6.

TEST=/benchmarks/octane/crypto
BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/688693002

Cr-Commit-Position: refs/heads/master@{#24988}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
dusan.milosavljevic@imgtec.com 2014-10-29 16:16:03 +00:00
parent d3d29c640c
commit f644083c64
2 changed files with 3 additions and 2 deletions

View File

@ -2065,6 +2065,7 @@ void Assembler::mul_d(FPURegister fd, FPURegister fs, FPURegister ft) {
void Assembler::madd_d(FPURegister fd, FPURegister fr, FPURegister fs,
FPURegister ft) {
DCHECK(IsMipsArchVariant(kMips32r2));
GenInstrRegister(COP1X, fr, ft, fs, fd, MADD_D);
}

View File

@ -1517,7 +1517,7 @@ LInstruction* LChunkBuilder::DoMul(HMul* instr) {
return DefineAsRegister(mul);
} else if (instr->representation().IsDouble()) {
if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) {
if (IsMipsArchVariant(kMips32r2)) {
if (instr->HasOneUse() && instr->uses().value()->IsAdd()) {
HAdd* add = HAdd::cast(instr->uses().value());
if (instr == add->left()) {
@ -1590,7 +1590,7 @@ LInstruction* LChunkBuilder::DoAdd(HAdd* instr) {
LInstruction* result = DefineAsRegister(add);
return result;
} else if (instr->representation().IsDouble()) {
if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) {
if (IsMipsArchVariant(kMips32r2)) {
if (instr->left()->IsMul())
return DoMultiplyAdd(HMul::cast(instr->left()), instr->right());