• Andreas Haas's avatar
    [wasm] Change liftoff assembler interface for atomic binops · 6210bc82
    Andreas Haas authored
    The existing interface assumed that for atomic binop instructions, the
    value register and the result register are the same. However, for x64,
    this assumption is not always useful, and for platforms like arm, this
    assumption is even negative.
    
    The existing interface was originally introduced because ia32 lacks
    registers, and we wanted to avoid platform-specific code in
    liftoff-compiler.cc. However, by now the lack of registers on ia32
    required us to use platform-specific code also in other places, so
    we can also use it for atomic binops and thereby enable a better code
    generation.
    
    R=clemensb@chromium.org
    
    Bug: v8:10108
    Change-Id: If39cc5f49934422b632bb2a5793c7f5d5d2b65c0
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2150585Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67173}
    6210bc82
liftoff-assembler-ppc.h 39.9 KB