• Andreas Haas's avatar
    [x64] Introduce negb and negw instructions · 911f38c4
    Andreas Haas authored
    This CL introduces the negb and negw instructions (8-bit and 16-bit
    versions of neg) in the x64 assembler. These instructions are needed to
    implement I32AtomicSub8U and similar WebAssembly instructions
    efficiently.
    
    The existing implementation was embedded in a generic macro, and it was
    difficult to change it without introducing also the 8-bit and 16-bit
    versions of many other instructions. This would have introduced a lot
    of dead code. Instead this CL extracted the neg instructions from the
    macro and implements them directly. This should be fine because the
    assembler does not change much, and approachability of the code is
    improved.
    
    R=clemensb@chromium.org
    
    Bug: v8:10108
    Change-Id: I46099bbebd47f864311a67da3ba8ddc4fe4cd35d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2019165
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#65989}
    911f38c4
assembler-x64.h 83.8 KB