|
[turbofan] Added the optional Float64RoundTiesEven operator to turbofan.
The TiesEven rounding mode rounds float64 numbers to the nearest
integer. If there are two nearest integers, then the number is rounded
to the even one. This is the default rounding mode according to
IEEE~754.
I implemented the operator on ia32, x64, arm, arm64, mips, and mips64.
I think there is a bug in the current implementation of the ppc
simulator, which kept me from implementing the operator on ppc.
According to my understanding of the ppc instruction manual, the FRIN
instruction provides the right behavior for Float64RoundTiesEven. In the
simulator, however, FRIN provides a different semantics. If there are
two nearest integers, then the simulator returns the one which is
further away form 0.
Committed: https://crrev.com/dffecf31fc069c9522bcb09df7c063a9710f6470
Cr-Commit-Position: refs/heads/master@{#32005}
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+108 lines, -17 lines) |
Patch |
|
M |
src/compiler/arm/code-generator-arm.cc
|
View
|
1
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm/instruction-codes-arm.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm/instruction-selector-arm.cc
|
View
|
|
2 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/arm64/code-generator-arm64.cc
|
View
|
1
|
1 chunk |
+5 lines, -2 lines |
0 comments
|
Download
|
|
M |
src/compiler/arm64/instruction-codes-arm64.h
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/arm64/instruction-selector-arm64.cc
|
View
|
|
2 chunks |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/ia32/instruction-selector-ia32.cc
|
View
|
|
2 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/instruction-selector.cc
|
View
|
1
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/machine-operator.h
|
View
|
|
2 chunks |
+12 lines, -9 lines |
0 comments
|
Download
|
|
M |
src/compiler/machine-operator.cc
|
View
|
|
1 chunk |
+2 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/mips/instruction-selector-mips.cc
|
View
|
1
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips64/code-generator-mips64.cc
|
View
|
1
|
2 chunks |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips64/instruction-codes-mips64.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/mips64/instruction-selector-mips64.cc
|
View
|
|
2 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/opcodes.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/ppc/instruction-selector-ppc.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/raw-machine-assembler.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/typer.cc
|
View
|
|
1 chunk |
+6 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/verifier.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/compiler/x64/instruction-selector-x64.cc
|
View
|
|
2 chunks |
+7 lines, -1 line |
0 comments
|
Download
|
|
M |
src/compiler/x87/instruction-selector-x87.cc
|
View
|
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
test/cctest/compiler/test-run-machops.cc
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
Total messages: 11 (5 generated)
|