v8/src
Deepti Gandluri df546bd15f [wasm-simd] Add ExtractLaneU operations
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/+/1846711
Reviewed-by: Zhi An Ng <zhin@chromium.org>
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64172}
2019-10-09 00:58:04 +00:00
..
api [wasm] Pretend that DWARF section is a fake source map 2019-10-08 10:54:09 +00:00
asmjs [wasm] Rename {Get,Set}Global to Global{Get,Set} 2019-10-08 14:27:50 +00:00
ast [parser] Delete unresolved variables created for labels 2019-10-04 10:41:31 +00:00
base Fix Android ARM/PPC build for cpu detection 2019-10-01 10:38:19 +00:00
builtins [builtins] Port RegExp StringIteratorNext to Torque 2019-10-08 17:45:45 +00:00
codegen Fix typo in PendingOptimizationTable::MarkedForOptimization 2019-10-08 20:46:11 +00:00
common [ptr-compr] Set isolate root to the beginning of a 4Gb reservation 2019-10-07 17:26:30 +00:00
compiler [wasm-simd] Add ExtractLaneU operations 2019-10-09 00:58:04 +00:00
compiler-dispatcher Replace base::make_unique by std::make_unique 2019-09-10 11:21:51 +00:00
d8 Remove JS natives support, step 1 2019-10-02 10:21:12 +00:00
date Avoid a FixedArray allocation in date parser 2019-08-02 10:33:58 +00:00
debug [wasm] Pretend that DWARF section is a fake source map 2019-10-08 10:54:09 +00:00
deoptimizer [ptr-compr], [s390x] kPointerSize changed to kSystemPointerSize in src to 2019-09-30 18:53:18 +00:00
diagnostics [cleanup][torque] Use @generateCppClass in some simple cases, part 3 2019-10-07 16:17:06 +00:00
execution Add full heap dump crash key trigger and use it for crashes under ScavengePage. 2019-10-08 16:20:54 +00:00
extensions GCExtension: Provide fast path when called with no arguments 2019-10-07 17:30:40 +00:00
flags [regalloc] Enable control-flow aware allocation 2019-10-08 08:50:06 +00:00
handles [api, heap] Implement TracedReference 2019-10-07 22:34:54 +00:00
heap Add full heap dump crash key trigger and use it for crashes under ScavengePage. 2019-10-08 16:20:54 +00:00
ic [strings] Introduce "is not integer index" bit 2019-10-08 16:12:52 +00:00
init [ptr-compr] Set isolate root to the beginning of a 4Gb reservation 2019-10-07 17:26:30 +00:00
inspector [wasm] Pretend that DWARF section is a fake source map 2019-10-08 10:54:09 +00:00
interpreter [cleanup] Another round of semi-automatic TNodification 2019-10-01 10:55:20 +00:00
json [json] Fix DCHECKs in json-parser 2019-10-02 15:49:34 +00:00
libplatform Fix two warnings issued by g++ 2019-09-16 12:23:41 +00:00
libsampler [iwyu] Add missing includes of <memory> for std::unique_ptr 2019-09-13 17:13:36 +00:00
logging [log] report code relocation through CodeEventHandler 2019-09-24 10:50:05 +00:00
numbers Rename clemensh to clemensb in OWNERS 2019-09-26 08:44:44 +00:00
objects [strings] Introduce "is not integer index" bit 2019-10-08 16:12:52 +00:00
parsing [parser] Fix preparsing of modules containing labels 2019-10-07 10:18:14 +00:00
profiler [iwyu] Add missing includes of <memory> for std::unique_ptr 2019-09-13 17:13:36 +00:00
protobuf
regexp [regexp] Fix UB (signed left shift) in peephole optimizer 2019-10-08 08:34:26 +00:00
roots [protectors] Migrate another batch of protectors 2019-09-23 15:32:21 +00:00
runtime [cleanup] Remove dead code related to side-effect checks 2019-10-07 12:11:49 +00:00
sanitizer Rename clemensh to clemensb in OWNERS 2019-09-26 08:44:44 +00:00
snapshot [ptr-compr][csa] Preparing for smi-corrupting decompression 2019-09-26 15:08:51 +00:00
strings [strings] Introduce "is not integer index" bit 2019-10-08 16:12:52 +00:00
tasks Rename clemensh to clemensb in OWNERS 2019-09-26 08:44:44 +00:00
third_party Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00
torque [torque] allow untagged builtin parameters 2019-10-07 22:32:44 +00:00
tracing [tracing] Separate tracing implementations and add perfetto tests 2019-07-18 15:40:12 +00:00
trap-handler Remove 'set noparent' from OWNERS files where reasonable 2019-06-03 10:18:22 +00:00
utils [strings] Introduce "is not integer index" bit 2019-10-08 16:12:52 +00:00
wasm [wasm-simd] Add ExtractLaneU operations 2019-10-09 00:58:04 +00:00
zone Rename clemensh to clemensb in OWNERS 2019-09-26 08:44:44 +00:00
DEPS [tracing] Use the new perfetto client API 2019-07-08 13:37:16 +00:00
OWNERS Use relative paths to OWNERS files 2019-08-12 13:52:52 +00:00