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:
parent
d3d29c640c
commit
f644083c64
@ -2065,6 +2065,7 @@ void Assembler::mul_d(FPURegister fd, FPURegister fs, FPURegister ft) {
|
|||||||
|
|
||||||
void Assembler::madd_d(FPURegister fd, FPURegister fr, FPURegister fs,
|
void Assembler::madd_d(FPURegister fd, FPURegister fr, FPURegister fs,
|
||||||
FPURegister ft) {
|
FPURegister ft) {
|
||||||
|
DCHECK(IsMipsArchVariant(kMips32r2));
|
||||||
GenInstrRegister(COP1X, fr, ft, fs, fd, MADD_D);
|
GenInstrRegister(COP1X, fr, ft, fs, fd, MADD_D);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1517,7 +1517,7 @@ LInstruction* LChunkBuilder::DoMul(HMul* instr) {
|
|||||||
return DefineAsRegister(mul);
|
return DefineAsRegister(mul);
|
||||||
|
|
||||||
} else if (instr->representation().IsDouble()) {
|
} else if (instr->representation().IsDouble()) {
|
||||||
if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) {
|
if (IsMipsArchVariant(kMips32r2)) {
|
||||||
if (instr->HasOneUse() && instr->uses().value()->IsAdd()) {
|
if (instr->HasOneUse() && instr->uses().value()->IsAdd()) {
|
||||||
HAdd* add = HAdd::cast(instr->uses().value());
|
HAdd* add = HAdd::cast(instr->uses().value());
|
||||||
if (instr == add->left()) {
|
if (instr == add->left()) {
|
||||||
@ -1590,7 +1590,7 @@ LInstruction* LChunkBuilder::DoAdd(HAdd* instr) {
|
|||||||
LInstruction* result = DefineAsRegister(add);
|
LInstruction* result = DefineAsRegister(add);
|
||||||
return result;
|
return result;
|
||||||
} else if (instr->representation().IsDouble()) {
|
} else if (instr->representation().IsDouble()) {
|
||||||
if (IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)) {
|
if (IsMipsArchVariant(kMips32r2)) {
|
||||||
if (instr->left()->IsMul())
|
if (instr->left()->IsMul())
|
||||||
return DoMultiplyAdd(HMul::cast(instr->left()), instr->right());
|
return DoMultiplyAdd(HMul::cast(instr->left()), instr->right());
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user