MIPS64: [turbofan] Add backend support for float32 operations.
authorakos.palfi <akos.palfi@imgtec.com>
Tue, 31 Mar 2015 11:27:03 +0000 (04:27 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 31 Mar 2015 11:27:11 +0000 (11:27 +0000)
commitdf40d51e7dbceb273a340bd8300f3180047409d7
tree2d7e4035dae3054a50ff81dae7dd0f9081ca6b49
parent9c3f53d7082251368dbeddb7c50e2da15422b122
MIPS64: [turbofan] Add backend support for float32 operations.

Port 8dad78cdbd21c2cd02d6e0645313bd4b9983c78e

Original commit message:
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=

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

Cr-Commit-Position: refs/heads/master@{#27534}
src/compiler/mips64/code-generator-mips64.cc
src/compiler/mips64/instruction-codes-mips64.h
src/compiler/mips64/instruction-selector-mips64.cc
src/mips64/assembler-mips64.cc
src/mips64/assembler-mips64.h
src/mips64/macro-assembler-mips64.cc
src/mips64/macro-assembler-mips64.h
src/mips64/simulator-mips64.cc
src/mips64/simulator-mips64.h