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

Issue 2874403002: [wasm] Swap the implementation of SIMD compare ops using Gt/Ge insteas of Lt/Le (Closed)

Created:
3 years, 7 months ago by gdeepti
Modified:
3 years, 7 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] Swap the implementation of SIMD compare ops using Gt/Ge insteas of Lt/Le Currently SIMD integer comparison ops are implemented using Lt/Le, this is sub-optimal on Intel, because all compares are done using pcmpgt(d/w/b) that clobber the destination register, and will need additional instructions to when using Lt/Le as the base implementation. This CL proposes moving to Gt/Ge as the underlying implementation as this will only require swapping operands on MIPS and is consistent with x86/ARM instructions. BUG=v8:6020 R=bbudge@chromium.org, bmeurer@chromium.org, bradnelson@chromium.org Review-Url: https://codereview.chromium.org/2874403002 Cr-Commit-Position: refs/heads/master@{#45440} Committed: https://chromium.googlesource.com/v8/v8/+/eeefc74a1189aeed19228f728b60b0f187b5b1bd

Patch Set 1 #

Patch Set 2 : Fix Mips #

Patch Set 3 : Rebase #

Patch Set 4 : Rebase #

Patch Set 5 : Fix mips #

Patch Set 6 : Fix mips #

Patch Set 7 : Disable Simd lowering Compare ops test for ARM64 #

Patch Set 8 : Rebase #

Patch Set 9 : Rebase correctly #

Patch Set 10 : Add Todo with bug reference #

Unified diffs Side-by-side diffs Delta from patch set Stats (+280 lines, -277 lines) Patch
M src/compiler/arm/code-generator-arm.cc View 1 2 6 chunks +36 lines, -36 lines 0 comments Download
M src/compiler/arm/instruction-codes-arm.h View 4 chunks +12 lines, -12 lines 0 comments Download
M src/compiler/arm/instruction-scheduler-arm.cc View 4 chunks +12 lines, -12 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 1 2 3 chunks +12 lines, -12 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 2 3 10 chunks +36 lines, -36 lines 0 comments Download
M src/compiler/machine-operator.h View 1 2 6 chunks +12 lines, -12 lines 0 comments Download
M src/compiler/machine-operator.cc View 1 2 4 chunks +12 lines, -12 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 3 4 3 chunks +24 lines, -24 lines 0 comments Download
M src/compiler/mips/instruction-codes-mips.h View 1 2 3 4 5 2 chunks +8 lines, -8 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 2 3 4 3 chunks +16 lines, -16 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 2 3 4 5 3 chunks +24 lines, -24 lines 0 comments Download
M src/compiler/mips64/instruction-codes-mips64.h View 1 2 3 4 5 2 chunks +8 lines, -8 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 2 3 4 5 3 chunks +16 lines, -16 lines 0 comments Download
M src/compiler/wasm-compiler.cc View 1 2 6 chunks +48 lines, -48 lines 0 comments Download
M test/cctest/wasm/test-run-wasm-simd.cc View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -1 line 0 comments Download

Messages

Total messages: 51 (42 generated)
gdeepti
3 years, 7 months ago (2017-05-12 06:23:33 UTC) #7
bbudge
lgtm
3 years, 7 months ago (2017-05-16 19:38:32 UTC) #10
gdeepti
+mtrofin for OWNERS in src/compiler
3 years, 7 months ago (2017-05-17 19:59:18 UTC) #13
Mircea Trofin
On 2017/05/17 19:59:18, gdeepti wrote: > +mtrofin for OWNERS in src/compiler lgtm
3 years, 7 months ago (2017-05-17 21:30:35 UTC) #14
zvi
The patch LGTM. Newb question: are there tests that cover code generation of vector-compare operations ...
3 years, 7 months ago (2017-05-18 06:25:45 UTC) #27
gdeepti
On 2017/05/18 06:25:45, zvi wrote: > The patch LGTM. > Newb question: are there tests ...
3 years, 7 months ago (2017-05-19 21:20:28 UTC) #28
gdeepti
Filed bug - https://bugs.chromium.org/p/v8/issues/detail?id=6421, as this CL disables I8x16 scalar lowering compare tests on ARM64.
3 years, 7 months ago (2017-05-20 00:33:21 UTC) #41
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/2874403002/180001
3 years, 7 months ago (2017-05-21 22:10:00 UTC) #48
commit-bot: I haz the power
3 years, 7 months ago (2017-05-21 22:40:58 UTC) #51
Message was sent while issue was closed.
Committed patchset #10 (id:180001) as
https://chromium.googlesource.com/v8/v8/+/eeefc74a1189aeed19228f728b60b0f187b...

Powered by Google App Engine
This is Rietveld 408576698