Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index 17f3325b754c3449f682425313062cf438c8d581..c7bb6ec9a6491281b7bd0836ed9e6e911a081ebf 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -1311,6 +1311,20 @@ LInstruction* LChunkBuilder::DoMul(HMul* instr) { |
} |
+LInstruction* LChunkBuilder::DoMultiplyAddD(HMultiplyAddD* instr) { |
+ ASSERT(instr->representation().IsDouble()); |
+ ASSERT(instr->a()->representation().IsDouble()); |
+ ASSERT(instr->b()->representation().IsDouble()); |
+ ASSERT(instr->c()->representation().IsDouble()); |
+ |
+ LOperand* a = UseRegisterAtStart(instr->a()); |
+ LOperand* b = UseRegisterAtStart(instr->b()); |
+ LOperand* c = UseRegisterAtStart(instr->c()); |
+ LMultiplyAddD* result = new(zone()) LMultiplyAddD(c, a, b); |
+ return DefineSameAsFirst(result); |
+} |
+ |
+ |
LInstruction* LChunkBuilder::DoSub(HSub* instr) { |
if (instr->representation().IsInteger32()) { |
ASSERT(instr->left()->representation().IsInteger32()); |