• Clemens Backes's avatar
    [wasm][arm64] Fix zero-extention of i32.load8_s · 748ae7cb
    Clemens Backes authored
    InstructionSelector::ZeroExtendsWord32ToWord64 assumes that a
    Load[kRepWord8|kTypeInt32] generates a zero-extended value. This
    assumption makes sense, but was not fulfilled by the instruction
    selector which emitted an "ldrsb" instruction which sign-extended to the
    full 64-bit register.
    
    This CL fixes that by introducing a separate "LdrsbW" instruction which
    is selected if we are sign-extending an 8-bit value to 32-bit.
    
    R=ahaas@chromium.org, mslekova@chromium.org
    CC=v8-arm-ports@googlegroups.com
    
    Bug: chromium:1239116
    Change-Id: I2da1ad6062805acf5558f3e66b8db9a50e830302
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3094011
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#76283}
    748ae7cb
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
ppc Loading commit data...
riscv64 Loading commit data...
s390 Loading commit data...
x64 Loading commit data...
DIR_METADATA Loading commit data...
OWNERS Loading commit data...
code-generator-impl.h Loading commit data...
code-generator.cc Loading commit data...
code-generator.h Loading commit data...
frame-elider.cc Loading commit data...
frame-elider.h Loading commit data...
gap-resolver.cc Loading commit data...
gap-resolver.h Loading commit data...
instruction-codes.h Loading commit data...
instruction-scheduler.cc Loading commit data...
instruction-scheduler.h Loading commit data...
instruction-selector-impl.h Loading commit data...
instruction-selector.cc Loading commit data...
instruction-selector.h Loading commit data...
instruction.cc Loading commit data...
instruction.h Loading commit data...
jump-threading.cc Loading commit data...
jump-threading.h Loading commit data...
mid-tier-register-allocator.cc Loading commit data...
mid-tier-register-allocator.h Loading commit data...
move-optimizer.cc Loading commit data...
move-optimizer.h Loading commit data...
register-allocation.h Loading commit data...
register-allocator-verifier.cc Loading commit data...
register-allocator-verifier.h Loading commit data...
register-allocator.cc Loading commit data...
register-allocator.h Loading commit data...
spill-placer.cc Loading commit data...
spill-placer.h Loading commit data...
unwinding-info-writer.h Loading commit data...