Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(74)

Issue 2801183002: [WASM SIMD] Implement primitive shuffles. (Closed)

Created:
3 years, 8 months ago by bbudge
Modified:
3 years, 8 months ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, wasm-v8_google.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[WASM SIMD] Implement primitive shuffles. - Adds unary Reverse shuffles (swizzles): S32x2Reverse, S16x4Reverse, S16x2Reverse, S8x8Reverse, S8x4Reverse, S8x2Reverse. Reversals are done within the sub-vectors that prefix the opcode name, e.g. S8x2 reverses the 8 consecutive pairs in an S8x16 vector. - Adds binary Zip (interleave) left and right half-shuffles to return a single vector: S32x4ZipLeft, S32x4ZipRightS16x8ZipLeft, S16x8ZipRight, S8x16ZipLeft, S8x16ZipRight. - Adds binary Unzip (de-interleave) left and right half shuffles to return a single vector: S32x4UnzipLeft, S32x4UnzipRight, S16x8UnzipLeft, S16x8UnzipRight, S8x16UnzipLeft, S8x16UnzipRight. - Adds binary Transpose left and right half shuffles to return a single vector: S32x4TransposeLeft, S32x4TransposeRight, S16x8TransposeLeft, S16xTransposeRight, S8x16TransposeLeft, S8x16TransposeRight. - Adds binary Concat (concatenate) byte shuffle: S8x16Concat #bytes to paste two vectors together. LOG=N BUG=v8:6020 Review-Url: https://codereview.chromium.org/2801183002 Cr-Commit-Position: refs/heads/master@{#44734} Committed: https://chromium.googlesource.com/v8/v8/+/5806d86208c3845b94c8da6953830d428721c112

Patch Set 1 #

Patch Set 2 : All Zips and Unzips. #

Patch Set 3 : Add Transpose Left, Right. #

Patch Set 4 : Concat and tests. #

Patch Set 5 : Rebase. #

Patch Set 6 : Fix merge. #

Patch Set 7 : Fix merge(2). #

Patch Set 8 : Fix ARM release build. #

Total comments: 14

Patch Set 9 : Rebase. #

Patch Set 10 : Add comments, remove S64x2Reverse, as it's redundant. #

Total comments: 2

Patch Set 11 : Rebase. #

Patch Set 12 : Fix non-ARM build. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+872 lines, -224 lines) Patch
M src/arm/macro-assembler-arm.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -2 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -58 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +191 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-codes-arm.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +25 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-scheduler-arm.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +25 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +62 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +118 lines, -0 lines 0 comments Download
M src/compiler/machine-operator.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +26 lines, -6 lines 0 comments Download
M src/compiler/machine-operator.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +29 lines, -10 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +26 lines, -7 lines 0 comments Download
M src/compiler/wasm-compiler.h View 1 2 3 4 1 chunk +1 line, -2 lines 0 comments Download
M src/compiler/wasm-compiler.cc View 1 2 3 4 5 6 7 8 9 10 2 chunks +69 lines, -15 lines 0 comments Download
M src/wasm/function-body-decoder.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +28 lines, -0 lines 0 comments Download
M src/wasm/function-body-decoder-impl.h View 1 2 3 4 5 6 1 chunk +12 lines, -0 lines 0 comments Download
M src/wasm/wasm-opcodes.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +26 lines, -7 lines 0 comments Download
M src/wasm/wasm-opcodes.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +25 lines, -6 lines 0 comments Download
M test/cctest/test-macro-assembler-arm.cc View 1 chunk +0 lines, -111 lines 0 comments Download
M test/cctest/wasm/test-run-wasm-simd.cc View 1 2 3 4 5 6 7 8 9 10 3 chunks +209 lines, -0 lines 0 comments Download

Messages

Total messages: 52 (39 generated)
bbudge
+Martyn for ARM specific stuff. +Benedikt for compiler and anything else you want. +Brad for ...
3 years, 8 months ago (2017-04-07 16:30:52 UTC) #24
martyn.capewell
My replacement code generation sequences are untested, so I could've got them wrong, or misinterpreted ...
3 years, 8 months ago (2017-04-10 16:46:56 UTC) #25
bbudge
https://codereview.chromium.org/2801183002/diff/160001/src/compiler/arm/code-generator-arm.cc File src/compiler/arm/code-generator-arm.cc (right): https://codereview.chromium.org/2801183002/diff/160001/src/compiler/arm/code-generator-arm.cc#newcode2031 src/compiler/arm/code-generator-arm.cc:2031: case kArmS32x4ZipLeft: { On 2017/04/10 16:46:55, martyn.capewell wrote: > ...
3 years, 8 months ago (2017-04-10 23:26:47 UTC) #26
bbudge
Addressed some comments about semantics of these ops.
3 years, 8 months ago (2017-04-12 14:10:27 UTC) #27
martyn.capewell
Thanks for the comments - I obviously completely misunderstood what those shuffles were doing. Although ...
3 years, 8 months ago (2017-04-13 17:07:19 UTC) #28
bbudge
On 2017/04/13 17:07:19, martyn.capewell wrote: > Thanks for the comments - I obviously completely misunderstood ...
3 years, 8 months ago (2017-04-19 20:31:49 UTC) #38
bradnelson
lgtm We probably will need to visit this heavily with all the stakeholders, but seems ...
3 years, 8 months ago (2017-04-19 20:41:22 UTC) #39
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2801183002/240001
3 years, 8 months ago (2017-04-19 20:45:55 UTC) #42
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/39440)
3 years, 8 months ago (2017-04-19 20:50:27 UTC) #44
bbudge
+Mircea for compiler
3 years, 8 months ago (2017-04-19 20:54:15 UTC) #46
Mircea Trofin
On 2017/04/19 20:54:15, bbudge wrote: > +Mircea for compiler rubberstamp lgtm
3 years, 8 months ago (2017-04-19 22:13:42 UTC) #47
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2801183002/240001
3 years, 8 months ago (2017-04-19 22:16:30 UTC) #49
commit-bot: I haz the power
3 years, 8 months ago (2017-04-19 22:18:15 UTC) #52
Message was sent while issue was closed.
Committed patchset #12 (id:240001) as
https://chromium.googlesource.com/v8/v8/+/5806d86208c3845b94c8da6953830d42872...

Powered by Google App Engine
This is Rietveld 408576698