diff options
author | 2016-12-07 17:15:08 +0000 | |
---|---|---|
committer | 2016-12-07 17:15:08 +0000 | |
commit | b08265b2d61cd3923dd6fc01d6c82f73d5230e82 (patch) | |
tree | cebb0dd2570ed90265dc376d89c17768700fd90d /compiler/utils/mips/assembler_mips.cc | |
parent | b4ee681c21564ee9afe0202e1006cfa21019e88b (diff) | |
parent | 1b8464d17c2266763714ae18be7c4dc26e28bf61 (diff) |
Merge "MIPS32: Pass more arguments in registers."
Diffstat (limited to 'compiler/utils/mips/assembler_mips.cc')
-rw-r--r-- | compiler/utils/mips/assembler_mips.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/utils/mips/assembler_mips.cc b/compiler/utils/mips/assembler_mips.cc index b29974c238..3dcad6a6b9 100644 --- a/compiler/utils/mips/assembler_mips.cc +++ b/compiler/utils/mips/assembler_mips.cc @@ -3252,6 +3252,9 @@ void MipsAssembler::EmitLoad(ManagedRegister m_dst, Register src_register, int32 CHECK_EQ(kMipsDoublewordSize, size) << dst; LoadDFromOffset(dst.AsFRegister(), src_register, src_offset); } + } else if (dst.IsDRegister()) { + CHECK_EQ(kMipsDoublewordSize, size) << dst; + LoadDFromOffset(dst.AsOverlappingDRegisterLow(), src_register, src_offset); } } @@ -3396,6 +3399,9 @@ void MipsAssembler::Store(FrameOffset dest, ManagedRegister msrc, size_t size) { CHECK_EQ(kMipsDoublewordSize, size); StoreDToOffset(src.AsFRegister(), SP, dest.Int32Value()); } + } else if (src.IsDRegister()) { + CHECK_EQ(kMipsDoublewordSize, size); + StoreDToOffset(src.AsOverlappingDRegisterLow(), SP, dest.Int32Value()); } } |