OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/base/adapters.h" | 5 #include "src/base/adapters.h" |
6 #include "src/compiler/instruction-selector-impl.h" | 6 #include "src/compiler/instruction-selector-impl.h" |
7 #include "src/compiler/node-matchers.h" | 7 #include "src/compiler/node-matchers.h" |
8 #include "src/compiler/node-properties.h" | 8 #include "src/compiler/node-properties.h" |
9 | 9 |
10 namespace v8 { | 10 namespace v8 { |
(...skipping 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1065 | 1065 |
1066 | 1066 |
1067 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { | 1067 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { |
1068 VisitRR(this, node, kSSEFloat64Round | MiscField::encode(kRoundToNearest)); | 1068 VisitRR(this, node, kSSEFloat64Round | MiscField::encode(kRoundToNearest)); |
1069 } | 1069 } |
1070 | 1070 |
1071 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } | 1071 void InstructionSelector::VisitFloat32Neg(Node* node) { UNREACHABLE(); } |
1072 | 1072 |
1073 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } | 1073 void InstructionSelector::VisitFloat64Neg(Node* node) { UNREACHABLE(); } |
1074 | 1074 |
| 1075 void InstructionSelector::VisitFloat64Ieee754Binop(Node* node, |
| 1076 InstructionCode opcode) { |
| 1077 IA32OperandGenerator g(this); |
| 1078 Emit(opcode, g.DefineSameAsFirst(node), g.UseRegister(node->InputAt(0)), |
| 1079 g.UseRegister(node->InputAt(1))) |
| 1080 ->MarkAsCall(); |
| 1081 } |
| 1082 |
1075 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, | 1083 void InstructionSelector::VisitFloat64Ieee754Unop(Node* node, |
1076 InstructionCode opcode) { | 1084 InstructionCode opcode) { |
1077 IA32OperandGenerator g(this); | 1085 IA32OperandGenerator g(this); |
1078 Emit(opcode, g.DefineSameAsFirst(node), g.UseRegister(node->InputAt(0))) | 1086 Emit(opcode, g.DefineSameAsFirst(node), g.UseRegister(node->InputAt(0))) |
1079 ->MarkAsCall(); | 1087 ->MarkAsCall(); |
1080 } | 1088 } |
1081 | 1089 |
1082 void InstructionSelector::EmitPrepareArguments( | 1090 void InstructionSelector::EmitPrepareArguments( |
1083 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, | 1091 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, |
1084 Node* node) { | 1092 Node* node) { |
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1668 // static | 1676 // static |
1669 MachineOperatorBuilder::AlignmentRequirements | 1677 MachineOperatorBuilder::AlignmentRequirements |
1670 InstructionSelector::AlignmentRequirements() { | 1678 InstructionSelector::AlignmentRequirements() { |
1671 return MachineOperatorBuilder::AlignmentRequirements:: | 1679 return MachineOperatorBuilder::AlignmentRequirements:: |
1672 FullUnalignedAccessSupport(); | 1680 FullUnalignedAccessSupport(); |
1673 } | 1681 } |
1674 | 1682 |
1675 } // namespace compiler | 1683 } // namespace compiler |
1676 } // namespace internal | 1684 } // namespace internal |
1677 } // namespace v8 | 1685 } // namespace v8 |
OLD | NEW |