Commit bd9762dd authored by Milad Fa's avatar Milad Fa Committed by V8 LUCI CQ

PPC: Check if rb is valid when creating MemOperand

r0 is used to indicate a value of "0" in which case
only the ra() value gets used.

Change-Id: I5ea5c51c1a652d042137c2d940818b93dac52492
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3159668Reviewed-by: 's avatarJunliang Yan <junyan@redhat.com>
Commit-Queue: Milad Fa <mfarazma@redhat.com>
Cr-Commit-Position: refs/heads/main@{#76830}
parent 6f9cde1e
......@@ -3231,7 +3231,10 @@ void TurboAssembler::StoreSimd128(Simd128Register src, const MemOperand& mem) {
#define GenerateMemoryLEOperation(reg, mem, op) \
{ \
if (mem.offset() == 0) { \
op(reg, mem); \
if (mem.rb() != no_reg) \
op(reg, mem); \
else \
op(reg, MemOperand(r0, mem.ra())); \
} else if (is_int16(mem.offset())) { \
if (mem.rb() != no_reg) \
addi(scratch, mem.rb(), Operand(mem.offset())); \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment