| Index: src/mips64/assembler-mips64.cc | 
| diff --git a/src/mips64/assembler-mips64.cc b/src/mips64/assembler-mips64.cc | 
| index 0a8c1fb4726b036eb06433dcb06dcaf61e693134..853c8ebe9ef7462e84da21a24807bb32ab6c581b 100644 | 
| --- a/src/mips64/assembler-mips64.cc | 
| +++ b/src/mips64/assembler-mips64.cc | 
| @@ -2205,22 +2205,42 @@ void Assembler::pref(int32_t hint, const MemOperand& rs) { | 
|  | 
| // Load, store, move. | 
| void Assembler::lwc1(FPURegister fd, const MemOperand& src) { | 
| -  GenInstrImmediate(LWC1, src.rm(), fd, src.offset_); | 
| +  if (is_int16(src.offset_)) { | 
| +    GenInstrImmediate(LWC1, src.rm(), fd, src.offset_); | 
| +  } else {  // Offset > 16 bits, use multiple instructions to load. | 
| +    LoadRegPlusOffsetToAt(src); | 
| +    GenInstrImmediate(LWC1, at, fd, 0); | 
| +  } | 
| } | 
|  | 
|  | 
| void Assembler::ldc1(FPURegister fd, const MemOperand& src) { | 
| -  GenInstrImmediate(LDC1, src.rm(), fd, src.offset_); | 
| +  if (is_int16(src.offset_)) { | 
| +    GenInstrImmediate(LDC1, src.rm(), fd, src.offset_); | 
| +  } else {  // Offset > 16 bits, use multiple instructions to load. | 
| +    LoadRegPlusOffsetToAt(src); | 
| +    GenInstrImmediate(LDC1, at, fd, 0); | 
| +  } | 
| } | 
|  | 
|  | 
| void Assembler::swc1(FPURegister fd, const MemOperand& src) { | 
| -  GenInstrImmediate(SWC1, src.rm(), fd, src.offset_); | 
| +  if (is_int16(src.offset_)) { | 
| +    GenInstrImmediate(SWC1, src.rm(), fd, src.offset_); | 
| +  } else {  // Offset > 16 bits, use multiple instructions to load. | 
| +    LoadRegPlusOffsetToAt(src); | 
| +    GenInstrImmediate(SWC1, at, fd, 0); | 
| +  } | 
| } | 
|  | 
|  | 
| void Assembler::sdc1(FPURegister fd, const MemOperand& src) { | 
| -  GenInstrImmediate(SDC1, src.rm(), fd, src.offset_); | 
| +  if (is_int16(src.offset_)) { | 
| +    GenInstrImmediate(SDC1, src.rm(), fd, src.offset_); | 
| +  } else {  // Offset > 16 bits, use multiple instructions to load. | 
| +    LoadRegPlusOffsetToAt(src); | 
| +    GenInstrImmediate(SDC1, at, fd, 0); | 
| +  } | 
| } | 
|  | 
|  | 
|  |