Revert of [x86] Use better left operand heuristic for Float64Add and Float64Mul. (patchset #1 id:1 of https://codereview.chromium.org/958583003/)
Reason for revert: Tanks on Atom and Haswell Original issue's description: > [x86] Use better left operand heuristic for Float64Add and Float64Mul. > > R=dcarney@chromium.org > > Committed: https://crrev.com/9da259fb1f4ecfefeb2cf7efbe449d8aa1904032 > Cr-Commit-Position: refs/heads/master@{#26849} TBR=dcarney@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/972243002 Cr-Commit-Position: refs/heads/master@{#26973}
This commit is contained in:
parent
1604bd46bf
commit
3709b9254e
@ -634,15 +634,12 @@ void InstructionSelector::VisitTruncateFloat64ToFloat32(Node* node) {
|
||||
|
||||
void InstructionSelector::VisitFloat64Add(Node* node) {
|
||||
IA32OperandGenerator g(this);
|
||||
Node* left = node->InputAt(0);
|
||||
Node* right = node->InputAt(1);
|
||||
if (g.CanBeBetterLeftOperand(right)) std::swap(left, right);
|
||||
if (IsSupported(AVX)) {
|
||||
Emit(kAVXFloat64Add, g.DefineAsRegister(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kAVXFloat64Add, g.DefineAsRegister(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
} else {
|
||||
Emit(kSSEFloat64Add, g.DefineSameAsFirst(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kSSEFloat64Add, g.DefineSameAsFirst(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -661,15 +658,12 @@ void InstructionSelector::VisitFloat64Sub(Node* node) {
|
||||
|
||||
void InstructionSelector::VisitFloat64Mul(Node* node) {
|
||||
IA32OperandGenerator g(this);
|
||||
Node* left = node->InputAt(0);
|
||||
Node* right = node->InputAt(1);
|
||||
if (g.CanBeBetterLeftOperand(right)) std::swap(left, right);
|
||||
if (IsSupported(AVX)) {
|
||||
Emit(kAVXFloat64Mul, g.DefineAsRegister(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kAVXFloat64Mul, g.DefineAsRegister(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
} else {
|
||||
Emit(kSSEFloat64Mul, g.DefineSameAsFirst(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kSSEFloat64Mul, g.DefineSameAsFirst(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -832,15 +832,12 @@ void InstructionSelector::VisitTruncateInt64ToInt32(Node* node) {
|
||||
|
||||
void InstructionSelector::VisitFloat64Add(Node* node) {
|
||||
X64OperandGenerator g(this);
|
||||
Node* left = node->InputAt(0);
|
||||
Node* right = node->InputAt(1);
|
||||
if (g.CanBeBetterLeftOperand(right)) std::swap(left, right);
|
||||
if (IsSupported(AVX)) {
|
||||
Emit(kAVXFloat64Add, g.DefineAsRegister(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kAVXFloat64Add, g.DefineAsRegister(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
} else {
|
||||
Emit(kSSEFloat64Add, g.DefineSameAsFirst(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kSSEFloat64Add, g.DefineSameAsFirst(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
}
|
||||
}
|
||||
|
||||
@ -859,15 +856,12 @@ void InstructionSelector::VisitFloat64Sub(Node* node) {
|
||||
|
||||
void InstructionSelector::VisitFloat64Mul(Node* node) {
|
||||
X64OperandGenerator g(this);
|
||||
Node* left = node->InputAt(0);
|
||||
Node* right = node->InputAt(1);
|
||||
if (g.CanBeBetterLeftOperand(right)) std::swap(left, right);
|
||||
if (IsSupported(AVX)) {
|
||||
Emit(kAVXFloat64Mul, g.DefineAsRegister(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kAVXFloat64Mul, g.DefineAsRegister(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
} else {
|
||||
Emit(kSSEFloat64Mul, g.DefineSameAsFirst(node), g.UseRegister(left),
|
||||
g.Use(right));
|
||||
Emit(kSSEFloat64Mul, g.DefineSameAsFirst(node),
|
||||
g.UseRegister(node->InputAt(0)), g.Use(node->InputAt(1)));
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user