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

Issue 2700813002: [V8] Implement SIMD Boolean vector types to allow mask registers. (Closed)

Created:
3 years, 10 months ago by bbudge
Modified:
3 years, 10 months ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, gdeepti, aseemgarg
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[V8] Implement SIMD Boolean vector types to allow mask registers. - Adds new machine types SimdBool4/8/16 for the different boolean vector types. - Adds a kSimdMaskRegisters flag for each platform. These are all false for now. - Removes Create, ExtractLane, ReplaceLane, Equal, NotEqual, Swizzle and Shuffle opcodes from the Boolean types. These are unlikely to be well supported natively, and can be synthesized using Select. - Changes the signature of Relational opcodes to return boolean vectors. - Changes the signature of Select opcodes to take boolean vectors. - Updates the ARM implementation of Relational and Select opcodes. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2700813002 Cr-Commit-Position: refs/heads/master@{#43348} Committed: https://chromium.googlesource.com/v8/v8/+/9fe0b4c7080daf0f52aaabf91ddaf0c6632cfbf8

Patch Set 1 #

Patch Set 2 : Fix Any/AllTrue, instruction selection on other platforms. #

Patch Set 3 : Remove stray DCHECK. #

Total comments: 7

Patch Set 4 : Use DefineSameAsFirst for ternary Select ops. #

Patch Set 5 : A big renaming to address Brad's comments. #

Patch Set 6 : Finish renaming (missed instruction-selector.*) #

Patch Set 7 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+556 lines, -247 lines) Patch
M src/arm/assembler-arm.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/arm64/assembler-arm64.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 2 3 1 chunk +4 lines, -19 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 1 2 3 4 6 chunks +15 lines, -2 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 1 2 3 4 5 chunks +13 lines, -1 line 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 1 2 3 4 4 chunks +12 lines, -0 lines 0 comments Download
M src/compiler/instruction.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/instruction.cc View 1 2 3 4 2 chunks +12 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.h View 1 2 3 4 5 1 chunk +21 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 2 3 4 5 9 chunks +26 lines, -26 lines 0 comments Download
M src/compiler/js-native-context-specialization.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/load-elimination.cc View 1 2 3 4 2 chunks +6 lines, -0 lines 0 comments Download
M src/compiler/machine-graph-verifier.cc View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/machine-operator.h View 3 chunks +0 lines, -21 lines 0 comments Download
M src/compiler/machine-operator.cc View 1 2 3 4 8 chunks +13 lines, -19 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 1 2 3 4 5 chunks +15 lines, -0 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 1 2 3 4 6 chunks +18 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 3 4 5 6 4 chunks +0 lines, -21 lines 0 comments Download
M src/compiler/ppc/instruction-selector-ppc.cc View 1 2 3 4 4 chunks +12 lines, -0 lines 0 comments Download
M src/compiler/register-allocator.cc View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/representation-change.cc View 1 2 3 4 1 chunk +4 lines, -3 lines 0 comments Download
M src/compiler/s390/instruction-selector-s390.cc View 1 2 3 4 5 6 4 chunks +12 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 3 4 5 6 1 chunk +4 lines, -1 line 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 1 2 3 4 5 6 4 chunks +12 lines, -0 lines 0 comments Download
M src/compiler/x87/instruction-selector-x87.cc View 1 2 3 4 4 chunks +12 lines, -0 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/machine-type.h View 1 2 3 4 4 chunks +30 lines, -1 line 0 comments Download
M src/machine-type.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M src/mips/assembler-mips.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/mips64/assembler-mips64.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/ppc/assembler-ppc.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/s390/assembler-s390.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/wasm/function-body-decoder.cc View 1 2 3 4 5 6 1 chunk +9 lines, -0 lines 0 comments Download
M src/wasm/function-body-decoder-impl.h View 1 2 3 4 1 chunk +9 lines, -0 lines 0 comments Download
M src/wasm/module-decoder.cc View 1 2 3 4 5 6 1 chunk +13 lines, -6 lines 0 comments Download
M src/wasm/wasm-opcodes.h View 1 2 3 4 12 chunks +86 lines, -47 lines 0 comments Download
M src/x64/assembler-x64.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/x87/assembler-x87.h View 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/wasm/test-run-wasm-simd.cc View 10 chunks +170 lines, -80 lines 0 comments Download

Messages

Total messages: 40 (31 generated)
bbudge
3 years, 10 months ago (2017-02-16 22:28:21 UTC) #7
bradnelson
lgtm, but wait for bmeurer too. https://codereview.chromium.org/2700813002/diff/40001/src/wasm/function-body-decoder-impl.h File src/wasm/function-body-decoder-impl.h (right): https://codereview.chromium.org/2700813002/diff/40001/src/wasm/function-body-decoder-impl.h#newcode148 src/wasm/function-body-decoder-impl.h:148: *result = kWasmS4; ...
3 years, 10 months ago (2017-02-16 23:18:31 UTC) #12
bbudge
3 years, 10 months ago (2017-02-17 17:32:31 UTC) #13
gdeepti
https://codereview.chromium.org/2700813002/diff/40001/src/compiler/arm/code-generator-arm.cc File src/compiler/arm/code-generator-arm.cc (right): https://codereview.chromium.org/2700813002/diff/40001/src/compiler/arm/code-generator-arm.cc#newcode1931 src/compiler/arm/code-generator-arm.cc:1931: __ Move(i.OutputSimd128Register(), i.InputSimd128Register(0)); Would it be possible to use ...
3 years, 10 months ago (2017-02-17 17:51:48 UTC) #15
Benedikt Meurer
LGTM from my side.
3 years, 10 months ago (2017-02-17 19:14:28 UTC) #16
bbudge
https://codereview.chromium.org/2700813002/diff/40001/src/compiler/arm/code-generator-arm.cc File src/compiler/arm/code-generator-arm.cc (right): https://codereview.chromium.org/2700813002/diff/40001/src/compiler/arm/code-generator-arm.cc#newcode1931 src/compiler/arm/code-generator-arm.cc:1931: __ Move(i.OutputSimd128Register(), i.InputSimd128Register(0)); On 2017/02/17 17:51:48, gdeepti wrote: > ...
3 years, 10 months ago (2017-02-17 23:39:56 UTC) #23
gdeepti
lgtm
3 years, 10 months ago (2017-02-18 00:27:32 UTC) #28
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/2700813002/120001
3 years, 10 months ago (2017-02-21 16:43:24 UTC) #37
commit-bot: I haz the power
3 years, 10 months ago (2017-02-21 16:45:36 UTC) #40
Message was sent while issue was closed.
Committed patchset #7 (id:120001) as
https://chromium.googlesource.com/v8/v8/+/9fe0b4c7080daf0f52aaabf91ddaf0c6632...

Powered by Google App Engine
This is Rietveld 408576698