X87: [turbofan] Added the optional Float64RoundUp operator to turbofan.

port 1389b9f53c (r32004)

  original commit message:
  I implemented it on x64, ia32, arm, arm64, mips, mips64, and ppc.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32484}
This commit is contained in:
zhengxing.li 2015-12-01 18:13:10 -08:00 committed by Commit bot
parent 564a208676
commit 0b94c99847

View File

@ -855,7 +855,11 @@ void InstructionSelector::VisitFloat64RoundDown(Node* node) {
void InstructionSelector::VisitFloat32RoundUp(Node* node) { UNREACHABLE(); }
void InstructionSelector::VisitFloat64RoundUp(Node* node) { UNREACHABLE(); }
void InstructionSelector::VisitFloat64RoundUp(Node* node) {
X87OperandGenerator g(this);
Emit(kX87Float64Round | MiscField::encode(kRoundUp), g.UseFixed(node, stX_0),
g.Use(node->InputAt(0)));
}
void InstructionSelector::VisitFloat32RoundTruncate(Node* node) {
@ -1302,6 +1306,7 @@ InstructionSelector::SupportedMachineOperatorFlags() {
}
flags |= MachineOperatorBuilder::kFloat64RoundDown |
MachineOperatorBuilder::kFloat64RoundUp |
MachineOperatorBuilder::kFloat64RoundTruncate;
return flags;
}