MIPS[64]: Fix failing several Liftoff tests
Failing test are: cctest/cctest/test-run-wasm/RunWasmLiftoff*.
Test started to fail after this commit: 56b8ab5d07
This patch also fixes MIPS big endian build failure.
Change-Id: I333450f2a8f9c9a61db9aea18e5e973f48742d52
Reviewed-on: https://chromium-review.googlesource.com/c/1286348
Reviewed-by: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Commit-Queue: Ivica Bogosavljevic <ibogosavljevic@wavecomp.com>
Cr-Commit-Position: refs/heads/master@{#56742}
This commit is contained in:
parent
708be823a1
commit
221305e98f
@ -403,6 +403,9 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
|
||||
Register dst = no_reg;
|
||||
MemOperand dst_op = MemOperand(dst_addr, offset_imm);
|
||||
if (offset_reg != no_reg) {
|
||||
if (is_store_mem) {
|
||||
pinned.set(src);
|
||||
}
|
||||
dst = GetUnusedRegister(kGpReg, pinned).gp();
|
||||
emit_ptrsize_add(dst, dst_addr, offset_reg);
|
||||
dst_op = MemOperand(dst, offset_imm);
|
||||
@ -410,7 +413,7 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
|
||||
|
||||
#if defined(V8_TARGET_BIG_ENDIAN)
|
||||
if (is_store_mem) {
|
||||
pinned |= LiftoffRegList::ForRegs(dst_op.rm(), src);
|
||||
pinned = pinned | LiftoffRegList::ForRegs(dst_op.rm(), src);
|
||||
LiftoffRegister tmp = GetUnusedRegister(src.reg_class(), pinned);
|
||||
// Save original value.
|
||||
Move(tmp, src, type.value_type());
|
||||
|
@ -340,6 +340,9 @@ void LiftoffAssembler::Store(Register dst_addr, Register offset_reg,
|
||||
Register dst = no_reg;
|
||||
MemOperand dst_op = MemOperand(dst_addr, offset_imm);
|
||||
if (offset_reg != no_reg) {
|
||||
if (is_store_mem) {
|
||||
pinned.set(src);
|
||||
}
|
||||
dst = GetUnusedRegister(kGpReg, pinned).gp();
|
||||
emit_ptrsize_add(dst, dst_addr, offset_reg);
|
||||
dst_op = MemOperand(dst, offset_imm);
|
||||
|
Loading…
Reference in New Issue
Block a user