MIPS: [turbofan] Introduce optional Float64Min and Float64Max machine operators.
Port 99f8d57f3c
Original commit message:
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.
BUG=
Review URL: https://codereview.chromium.org/1006513002
Cr-Commit-Position: refs/heads/master@{#27168}
This commit is contained in:
parent
36df5747bf
commit
323ec9e8bd
@ -437,6 +437,12 @@ void InstructionSelector::VisitFloat64Mod(Node* node) {
|
||||
}
|
||||
|
||||
|
||||
void InstructionSelector::VisitFloat64Max(Node* node) { UNREACHABLE(); }
|
||||
|
||||
|
||||
void InstructionSelector::VisitFloat64Min(Node* node) { UNREACHABLE(); }
|
||||
|
||||
|
||||
void InstructionSelector::VisitFloat64Sqrt(Node* node) {
|
||||
MipsOperandGenerator g(this);
|
||||
Emit(kMipsSqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0)));
|
||||
|
@ -617,6 +617,12 @@ void InstructionSelector::VisitFloat64Mod(Node* node) {
|
||||
}
|
||||
|
||||
|
||||
void InstructionSelector::VisitFloat64Max(Node* node) { UNREACHABLE(); }
|
||||
|
||||
|
||||
void InstructionSelector::VisitFloat64Min(Node* node) { UNREACHABLE(); }
|
||||
|
||||
|
||||
void InstructionSelector::VisitFloat64Sqrt(Node* node) {
|
||||
Mips64OperandGenerator g(this);
|
||||
Emit(kMips64SqrtD, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0)));
|
||||
|
Loading…
Reference in New Issue
Block a user