Chromium Code Reviews| Index: src/compiler/arm/code-generator-arm.cc |
| diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc |
| index cef16c2faa09ad8085c9110d7e34aae5a7000a8d..66b3b8e6cd9a5894cf48081db621fdd84f8fcb37 100644 |
| --- a/src/compiler/arm/code-generator-arm.cc |
| +++ b/src/compiler/arm/code-generator-arm.cc |
| @@ -1204,8 +1204,15 @@ CodeGenerator::CodeGenResult CodeGenerator::AssembleArchInstruction( |
| } |
| case kArmPush: |
| if (instr->InputAt(0)->IsFPRegister()) { |
| - __ vpush(i.InputDoubleRegister(0)); |
| - frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); |
| + LocationOperand* op = LocationOperand::cast(instr->InputAt(0)); |
| + if (op->representation() == MachineRepresentation::kFloat64) { |
| + __ vpush(i.InputFloat64Register(0)); |
| + frame_access_state()->IncreaseSPDelta(kDoubleSize / kPointerSize); |
| + } else { |
| + DCHECK(op->representation() == MachineRepresentation::kFloat32); |
|
Benedikt Meurer
2016/06/01 03:52:06
Nit: DCHECK_EQ(MachineRepresentation::kFloat32, op
bbudge
2016/06/01 17:13:04
Done.
|
| + __ vpush(i.InputFloat32Register(0)); |
| + frame_access_state()->IncreaseSPDelta(1); |
| + } |
| } else { |
| __ push(i.InputRegister(0)); |
| frame_access_state()->IncreaseSPDelta(1); |