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

Issue 1044793002: [turbofan] Add backend support for float32 operations. (Closed)

Created:
5 years, 8 months ago by Benedikt Meurer
Modified:
5 years ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Add backend support for float32 operations. This adds the basics necessary to support float32 operations in TurboFan. The actual functionality required to detect safe float32 operations will be added based on this later. Therefore this does not affect production code except for some cleanup/refactoring. In detail, this patchset contains the following features: - Add support for float32 operations to arm, arm64, ia32 and x64 backends. - Add float32 machine operators. - Add support for float32 constants to simplified lowering. - Handle float32 representation for phis in simplified lowering. In addition, contains the following (related) cleanups: - Fix/unify naming of backend instructions. - Use AVX comparisons when available. - Extend ArchOpcodeField to 9 bits (required for arm64). - Refactor some code duplication in instruction selectors. BUG=v8:3589 LOG=n R=dcarney@chromium.org Committed: https://crrev.com/8dad78cdbd21c2cd02d6e0645313bd4b9983c78e Cr-Commit-Position: refs/heads/master@{#27509}

Patch Set 1 #

Patch Set 2 : Add MachineOperator unit tests. #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+2893 lines, -657 lines) Patch
M src/arm/assembler-arm.h View 1 chunk +24 lines, -3 lines 0 comments Download
M src/arm/assembler-arm.cc View 11 chunks +189 lines, -15 lines 0 comments Download
M src/arm/disasm-arm.cc View 6 chunks +45 lines, -12 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 2 chunks +15 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 3 chunks +35 lines, -0 lines 0 comments Download
M src/arm/simulator-arm.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/arm/simulator-arm.cc View 8 chunks +182 lines, -71 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 3 chunks +51 lines, -3 lines 0 comments Download
M src/compiler/arm/instruction-codes-arm.h View 1 chunk +9 lines, -0 lines 0 comments Download
M src/compiler/arm/instruction-selector-arm.cc View 14 chunks +179 lines, -98 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 3 chunks +45 lines, -8 lines 0 comments Download
M src/compiler/arm64/instruction-codes-arm64.h View 2 chunks +10 lines, -2 lines 0 comments Download
M src/compiler/arm64/instruction-selector-arm64.cc View 19 chunks +141 lines, -85 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 4 chunks +63 lines, -3 lines 0 comments Download
M src/compiler/ia32/instruction-codes-ia32.h View 3 chunks +16 lines, -2 lines 0 comments Download
M src/compiler/ia32/instruction-selector-ia32.cc View 9 chunks +110 lines, -56 lines 0 comments Download
M src/compiler/instruction-codes.h View 1 chunk +5 lines, -5 lines 0 comments Download
M src/compiler/instruction-selector.cc View 1 chunk +20 lines, -0 lines 0 comments Download
M src/compiler/machine-operator.h View 3 chunks +33 lines, -11 lines 0 comments Download
M src/compiler/machine-operator.cc View 3 chunks +10 lines, -0 lines 0 comments Download
M src/compiler/node-matchers.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/opcodes.h View 2 chunks +10 lines, -0 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 2 chunks +31 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.cc View 2 chunks +10 lines, -5 lines 0 comments Download
M src/compiler/typer.cc View 1 chunk +50 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 6 chunks +91 lines, -33 lines 0 comments Download
M src/compiler/x64/instruction-codes-x64.h View 3 chunks +18 lines, -2 lines 0 comments Download
M src/compiler/x64/instruction-selector-x64.cc View 9 chunks +103 lines, -49 lines 0 comments Download
M src/ia32/assembler-ia32.h View 2 chunks +45 lines, -0 lines 0 comments Download
M src/ia32/assembler-ia32.cc View 3 chunks +37 lines, -0 lines 0 comments Download
M src/ia32/disasm-ia32.cc View 4 chunks +115 lines, -39 lines 0 comments Download
M src/x64/assembler-x64.h View 4 chunks +56 lines, -5 lines 0 comments Download
M src/x64/assembler-x64.cc View 5 chunks +156 lines, -40 lines 0 comments Download
M src/x64/disasm-x64.cc View 6 chunks +76 lines, -44 lines 0 comments Download
M test/cctest/compiler/codegen-tester.h View 3 chunks +20 lines, -1 line 0 comments Download
M test/cctest/compiler/test-run-machops.cc View 11 chunks +196 lines, -4 lines 0 comments Download
M test/cctest/test-assembler-x64.cc View 1 chunk +223 lines, -0 lines 0 comments Download
M test/cctest/test-disasm-arm.cc View 3 chunks +52 lines, -0 lines 1 comment Download
M test/cctest/test-disasm-ia32.cc View 2 chunks +19 lines, -0 lines 0 comments Download
M test/cctest/test-disasm-x64.cc View 3 chunks +21 lines, -0 lines 0 comments Download
M test/unittests/compiler/arm/instruction-selector-arm-unittest.cc View 11 chunks +357 lines, -54 lines 0 comments Download
M test/unittests/compiler/ia32/instruction-selector-ia32-unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M test/unittests/compiler/machine-operator-unittest.cc View 1 1 chunk +8 lines, -3 lines 0 comments Download
M test/unittests/compiler/x64/instruction-selector-x64-unittest.cc View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 9 (2 generated)
Benedikt Meurer
5 years, 8 months ago (2015-03-30 04:59:11 UTC) #1
Benedikt Meurer
PTAL
5 years, 8 months ago (2015-03-30 04:59:36 UTC) #2
dcarney
lgtm, assuming all that assembler/disassembler stuff is correct.
5 years, 8 months ago (2015-03-30 07:21:48 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1044793002/20001
5 years, 8 months ago (2015-03-30 07:31:51 UTC) #5
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 8 months ago (2015-03-30 07:33:52 UTC) #6
commit-bot: I haz the power
Patchset 2 (id:??) landed as https://crrev.com/8dad78cdbd21c2cd02d6e0645313bd4b9983c78e Cr-Commit-Position: refs/heads/master@{#27509}
5 years, 8 months ago (2015-03-30 07:34:15 UTC) #7
jochen (gone - plz use gerrit)
5 years ago (2015-11-25 13:02:23 UTC) #9
Message was sent while issue was closed.
https://codereview.chromium.org/1044793002/diff/20001/test/cctest/test-disasm...
File test/cctest/test-disasm-arm.cc (right):

https://codereview.chromium.org/1044793002/diff/20001/test/cctest/test-disasm...
test/cctest/test-disasm-arm.cc:98: // clang-format off
please don't do that. clang-format off is supposed to be used for a scope of
things you want to format differently, not as a blanket thing for an entire file

Powered by Google App Engine
This is Rietveld 408576698