• Clemens Hammacher's avatar
    [Liftoff] Implement i32 shift operations · ef2a4a08
    Clemens Hammacher authored
    This adds support for i32.shl, i32.shr_u and i32.shr_s.
    These are the first instructions implemented which have constraints on
    the registers they use (rcx in this case), so the implementation is a
    bit more involved. It's still worth trying to emit good code here, as
    shifts are quite common in our benchmarks.
    This code will later have to be extended to use i32 immediates directly
    instead of loading them into a register first. This will result in
    smaller code and better performance.
    
    R=titzer@chromium.org
    
    Bug: v8:6600
    Change-Id: I45b41ab062b58a9b2bc7e14a68663180307b900d
    Reviewed-on: https://chromium-review.googlesource.com/859761
    Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
    Reviewed-by: 's avatarBen Titzer <titzer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50481}
    ef2a4a08
liftoff-assembler-mips64.h 4.61 KB