[turbofan] Introduce optional Float64Min and Float64Max machine operators.
authorbmeurer <bmeurer@chromium.org>
Thu, 12 Mar 2015 14:07:28 +0000 (07:07 -0700)
committerCommit bot <commit-bot@chromium.org>
Thu, 12 Mar 2015 14:07:39 +0000 (14:07 +0000)
commit99f8d57f3c5d967bc3b10356b22d7ec7be55e89f
tree5430fc460aaca674450dbd082a944593b603a7f9
parent1aae3a1c89c2c4283c8e611930ce74f49d6cd9b1
[turbofan] Introduce optional Float64Min and Float64Max machine operators.

Basically recognize certain x < y ? x : y constructs and turn that into
Float64Min/Float64Max operations, if the target machine supports that.
On x86 we lower to (v)minsd/(v)maxsd.

R=dcarney@chromium.org

Review URL: https://codereview.chromium.org/998283002

Cr-Commit-Position: refs/heads/master@{#27160}
30 files changed:
src/compiler/arm/instruction-selector-arm.cc
src/compiler/arm64/instruction-selector-arm64.cc
src/compiler/common-operator-reducer.cc
src/compiler/common-operator-reducer.h
src/compiler/ia32/code-generator-ia32.cc
src/compiler/ia32/instruction-codes-ia32.h
src/compiler/ia32/instruction-selector-ia32.cc
src/compiler/instruction-selector.cc
src/compiler/machine-operator.cc
src/compiler/machine-operator.h
src/compiler/opcodes.h
src/compiler/pipeline.cc
src/compiler/simplified-lowering.cc
src/compiler/typer.cc
src/compiler/verifier.cc
src/compiler/x64/code-generator-x64.cc
src/compiler/x64/instruction-codes-x64.h
src/compiler/x64/instruction-selector-x64.cc
src/ia32/assembler-ia32.cc
src/ia32/assembler-ia32.h
src/ia32/disasm-ia32.cc
src/x64/assembler-x64.cc
src/x64/assembler-x64.h
src/x64/disasm-x64.cc
test/cctest/test-disasm-ia32.cc
test/cctest/test-disasm-x64.cc
test/unittests/compiler/common-operator-reducer-unittest.cc
test/unittests/compiler/machine-operator-unittest.cc
test/unittests/compiler/node-test-utils.cc
test/unittests/compiler/node-test-utils.h