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

Issue 2252863003: [turbofan] Add Float32(Max|Min) machine operators. (Closed)

Created:
4 years, 4 months ago by ahaas
Modified:
4 years, 4 months ago
Reviewers:
titzer, v8-arm-ports, Jarin, jbramley, v8-mips-ports
CC:
v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Add Float32(Max|Min) machine operators. The new operators are implemented similar to the Float64(Max|Min) which already exist. The purpose of the new operators is the implementation of the F32Max and F32Min instructions in WebAssembly. R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com Committed: https://crrev.com/2027b0bed15e89583b31a8ea1a53cb85cccffda2 Cr-Commit-Position: refs/heads/master@{#38784}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Extract the code of the (min|max) calculation. #

Total comments: 3

Patch Set 3 : Mark the code in the typer unreachable. #

Patch Set 4 : Return a type again. #

Patch Set 5 : Improved tests and fixed a bug #

Patch Set 6 : Improved tests and fixed a bug #

Total comments: 1

Patch Set 7 : Type is number now. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+437 lines, -174 lines) Patch
M src/compiler/arm/code-generator-arm.cc View 2 chunks +71 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-codes-arm.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-scheduler-arm.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 2 chunks +8 lines, -0 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M src/compiler/arm64/instruction-codes-arm64.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/arm64/instruction-scheduler-arm64.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 2 chunks +56 lines, -0 lines 0 comments Download
M src/compiler/ia32/instruction-codes-ia32.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/ia32/instruction-scheduler-ia32.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 2 chunks +14 lines, -0 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/compiler/machine-operator.h View 2 chunks +30 lines, -29 lines 0 comments Download
M src/compiler/machine-operator.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 3 4 5 6 2 chunks +22 lines, -0 lines 0 comments Download
M src/compiler/mips/instruction-codes-mips.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/mips/instruction-selector-mips.cc View 2 chunks +10 lines, -0 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 2 3 4 5 6 2 chunks +22 lines, -0 lines 0 comments Download
M src/compiler/mips64/instruction-codes-mips64.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/mips64/instruction-selector-mips64.cc View 2 chunks +10 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 chunk +6 lines, -1 line 0 comments Download
M src/compiler/typer.cc View 1 2 3 4 5 6 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/wasm-compiler.h View 1 2 3 4 5 6 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/wasm-compiler.cc View 1 2 3 4 5 6 2 chunks +4 lines, -42 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 2 3 4 1 chunk +55 lines, -0 lines 0 comments Download
M src/compiler/x64/instruction-codes-x64.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/x64/instruction-scheduler-x64.cc View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 1 2 3 4 5 6 1 chunk +7 lines, -0 lines 0 comments Download
M src/utils.h View 1 2 3 4 1 chunk +17 lines, -0 lines 0 comments Download
M src/wasm/wasm-interpreter.cc View 1 3 chunks +6 lines, -22 lines 0 comments Download
M src/x64/assembler-x64.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/x64/disasm-x64.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-run-machops.cc View 1 4 chunks +26 lines, -20 lines 0 comments Download
M test/cctest/compiler/value-helper.h View 1 2 3 4 2 chunks +2 lines, -0 lines 0 comments Download
M test/cctest/wasm/test-run-wasm.cc View 1 5 chunks +5 lines, -58 lines 0 comments Download

Messages

Total messages: 47 (29 generated)
ahaas
4 years, 4 months ago (2016-08-17 11:02:29 UTC) #1
titzer
https://codereview.chromium.org/2252863003/diff/1/src/compiler/machine-operator.cc File src/compiler/machine-operator.cc (right): https://codereview.chromium.org/2252863003/diff/1/src/compiler/machine-operator.cc#newcode167 src/compiler/machine-operator.cc:167: V(Float32Max, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ Are ...
4 years, 4 months ago (2016-08-17 11:26:09 UTC) #4
jbramley
ARM and ARM64 look good, assuming that the semantics should match the Float64 variants. I ...
4 years, 4 months ago (2016-08-17 12:02:57 UTC) #8
ahaas
https://codereview.chromium.org/2252863003/diff/1/test/cctest/compiler/test-run-machops.cc File test/cctest/compiler/test-run-machops.cc (right): https://codereview.chromium.org/2252863003/diff/1/test/cctest/compiler/test-run-machops.cc#newcode3795 test/cctest/compiler/test-run-machops.cc:3795: float fmax(float x, float y) { On 2016/08/17 at ...
4 years, 4 months ago (2016-08-18 07:13:20 UTC) #11
ahaas
On 2016/08/17 at 12:02:57, jacob.bramley wrote: > ARM and ARM64 look good, assuming that the ...
4 years, 4 months ago (2016-08-18 07:18:17 UTC) #12
Jarin
https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc File src/compiler/typer.cc (right): https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc#newcode2087 src/compiler/typer.cc:2087: Type* Typer::Visitor::TypeFloat32Max(Node* node) { return Type::Number(); } Is this ...
4 years, 4 months ago (2016-08-18 07:42:42 UTC) #14
titzer
https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc File src/compiler/typer.cc (right): https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc#newcode2087 src/compiler/typer.cc:2087: Type* Typer::Visitor::TypeFloat32Max(Node* node) { return Type::Number(); } On 2016/08/18 ...
4 years, 4 months ago (2016-08-18 08:23:01 UTC) #17
jbramley
On 2016/08/18 07:18:17, ahaas wrote: > On 2016/08/17 at 12:02:57, jacob.bramley wrote: > > ARM ...
4 years, 4 months ago (2016-08-18 08:37:55 UTC) #18
ahaas
https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc File src/compiler/typer.cc (right): https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc#newcode2087 src/compiler/typer.cc:2087: Type* Typer::Visitor::TypeFloat32Max(Node* node) { return Type::Number(); } On 2016/08/18 ...
4 years, 4 months ago (2016-08-18 12:54:40 UTC) #21
titzer
On 2016/08/18 12:54:40, ahaas wrote: > https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc > File src/compiler/typer.cc (right): > > https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc#newcode2087 > ...
4 years, 4 months ago (2016-08-18 13:02:37 UTC) #22
titzer
On 2016/08/18 12:54:40, ahaas wrote: > https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc > File src/compiler/typer.cc (right): > > https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc#newcode2087 > ...
4 years, 4 months ago (2016-08-18 13:02:39 UTC) #23
ahaas
On 2016/08/18 at 13:02:39, titzer wrote: > On 2016/08/18 12:54:40, ahaas wrote: > > https://codereview.chromium.org/2252863003/diff/20001/src/compiler/typer.cc ...
4 years, 4 months ago (2016-08-18 13:08:18 UTC) #26
titzer
On 2016/08/18 13:08:18, ahaas wrote: > On 2016/08/18 at 13:02:39, titzer wrote: > > On ...
4 years, 4 months ago (2016-08-18 13:10:57 UTC) #27
titzer
lgtm https://codereview.chromium.org/2252863003/diff/100001/src/compiler/typer.cc File src/compiler/typer.cc (right): https://codereview.chromium.org/2252863003/diff/100001/src/compiler/typer.cc#newcode2087 src/compiler/typer.cc:2087: Type* Typer::Visitor::TypeFloat32Max(Node* node) { return Type::Any(); } Should ...
4 years, 4 months ago (2016-08-22 13:08:53 UTC) #36
ahaas
On 2016/08/22 at 13:08:53, titzer wrote: > lgtm > > https://codereview.chromium.org/2252863003/diff/100001/src/compiler/typer.cc > File src/compiler/typer.cc (right): ...
4 years, 4 months ago (2016-08-22 13:14:53 UTC) #37
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/2252863003/120001
4 years, 4 months ago (2016-08-22 13:48:23 UTC) #44
commit-bot: I haz the power
Committed patchset #7 (id:120001)
4 years, 4 months ago (2016-08-22 13:50:32 UTC) #45
commit-bot: I haz the power
4 years, 4 months ago (2016-08-22 13:51:01 UTC) #47
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/2027b0bed15e89583b31a8ea1a53cb85cccffda2
Cr-Commit-Position: refs/heads/master@{#38784}

Powered by Google App Engine
This is Rietveld 408576698