• Deepti Gandluri's avatar
    [wasm-simd] Add ExtractLaneU operations · df546bd1
    Deepti Gandluri authored
    This CL implements i8x16.extract_lane_u, i16x8.extract_lane_u operations by
    changing the default narrow extract operations to be unsigned. The
    sign-extended extracts are implemented on top of the unsigned extracts
    with an additional extend compiler node.
    For IA32/X64, the codegen effectively remains the same -
    
    0x389332bc32a3    63  660f3a14c900   pextrb rcx,xmm1,0
    0x389332bc32a9    69  0fbec9         movsxbl rcx,rcx
    
    0x389332bc32a3    63  660f3a14c900   pextrb rcx,xmm1,0
    0x389332bc32a9    69  0fbec9         movsxbl rcx,rcx
    
    On ARM, this adds an additional sxt instruction for the signed extracts.
    
    Bug: v8:8460
    Change-Id: I67f14b2b860ff8cc86ffbb2f65c7ef7de32da83f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1846711Reviewed-by: 's avatarZhi An Ng <zhin@chromium.org>
    Reviewed-by: 's avatarBill Budge <bbudge@chromium.org>
    Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#64172}
    df546bd1
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...
s390 Loading commit data...
x64 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...
live-range-separator.cc Loading commit data...
live-range-separator.h Loading commit data...
move-optimizer.cc Loading commit data...
move-optimizer.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...
unwinding-info-writer.h Loading commit data...