| Index: src/mips/simulator-mips.cc
 | 
| diff --git a/src/mips/simulator-mips.cc b/src/mips/simulator-mips.cc
 | 
| index 97339bcd3c36f478f8322034bf449687a626f474..0a2f075cf737b4c0107b56ccc58be2712242dffc 100644
 | 
| --- a/src/mips/simulator-mips.cc
 | 
| +++ b/src/mips/simulator-mips.cc
 | 
| @@ -1098,7 +1098,7 @@ void Simulator::GetFpArgs(double* x, double* y, int32_t* z) {
 | 
|    if (!IsMipsSoftFloatABI) {
 | 
|      *x = get_fpu_register_double(12);
 | 
|      *y = get_fpu_register_double(14);
 | 
| -    *z = registers_[1];
 | 
| +    *z = get_register(a2);
 | 
|    } else {
 | 
|      // We use a char buffer to get around the strict-aliasing rules which
 | 
|      // otherwise allow the compiler to optimize away the copy.
 | 
| @@ -1114,12 +1114,8 @@ void Simulator::GetFpArgs(double* x, double* y, int32_t* z) {
 | 
|      reg_buffer[1] = get_register(a3);
 | 
|      memcpy(y, buffer, sizeof(buffer));
 | 
|      // Register 2 -> z.
 | 
| -    memcpy(buffer, registers_ + 2, sizeof(*z));
 | 
| -    memcpy(z, buffer, sizeof(*z));
 | 
| -
 | 
| -    // Register 2 -> y.
 | 
|      reg_buffer[0] = get_register(a2);
 | 
| -    memcpy(y, buffer, sizeof(*y));
 | 
| +    memcpy(z, buffer, sizeof(*z));
 | 
|    }
 | 
|  }
 | 
|  
 | 
| 
 |