| Index: src/compiler/ppc/code-generator-ppc.cc
 | 
| diff --git a/src/compiler/ppc/code-generator-ppc.cc b/src/compiler/ppc/code-generator-ppc.cc
 | 
| index 0cdbd5f6d0c4438791c2042361b4d7e5f8ea6c76..beb0c7669e2b34c77b499aa71e39629229fa0a16 100644
 | 
| --- a/src/compiler/ppc/code-generator-ppc.cc
 | 
| +++ b/src/compiler/ppc/code-generator-ppc.cc
 | 
| @@ -972,7 +972,11 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
 | 
|        break;
 | 
|  #endif
 | 
|      case kPPC_Push:
 | 
| -      __ Push(i.InputRegister(0));
 | 
| +      if (instr->InputAt(0)->IsDoubleRegister()) {
 | 
| +        __ stfdu(i.InputDoubleRegister(0), MemOperand(sp, -kDoubleSize));
 | 
| +      } else {
 | 
| +        __ Push(i.InputRegister(0));
 | 
| +      }
 | 
|        DCHECK_EQ(LeaveRC, i.OutputRCBit());
 | 
|        break;
 | 
|      case kPPC_PushFrame: {
 | 
| @@ -982,7 +986,11 @@ void CodeGenerator::AssembleArchInstruction(Instruction* instr) {
 | 
|      }
 | 
|      case kPPC_StoreToStackSlot: {
 | 
|        int slot = i.InputInt32(1);
 | 
| -      __ StoreP(i.InputRegister(0), MemOperand(sp, slot * kPointerSize));
 | 
| +      if (instr->InputAt(0)->IsDoubleRegister()) {
 | 
| +        __ stfd(i.InputDoubleRegister(0), MemOperand(sp, slot * kPointerSize));
 | 
| +      } else {
 | 
| +        __ StoreP(i.InputRegister(0), MemOperand(sp, slot * kPointerSize));
 | 
| +      }
 | 
|        break;
 | 
|      }
 | 
|      case kPPC_ExtendSignWord8:
 | 
| 
 |