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/compiler/instruction-selector-impl.h" | 5 #include "src/compiler/instruction-selector-impl.h" |
6 #include "src/compiler/node-matchers.h" | 6 #include "src/compiler/node-matchers.h" |
7 #include "src/compiler/node-properties.h" | 7 #include "src/compiler/node-properties.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 1702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1713 | 1713 |
1714 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { | 1714 void InstructionSelector::VisitFloat32RoundTiesEven(Node* node) { |
1715 VisitRR(this, kArm64Float32RoundTiesEven, node); | 1715 VisitRR(this, kArm64Float32RoundTiesEven, node); |
1716 } | 1716 } |
1717 | 1717 |
1718 | 1718 |
1719 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { | 1719 void InstructionSelector::VisitFloat64RoundTiesEven(Node* node) { |
1720 VisitRR(this, kArm64Float64RoundTiesEven, node); | 1720 VisitRR(this, kArm64Float64RoundTiesEven, node); |
1721 } | 1721 } |
1722 | 1722 |
| 1723 void InstructionSelector::VisitFloat32Neg(Node* node) { |
| 1724 VisitRR(this, kArm64Float32Neg, node); |
| 1725 } |
| 1726 |
| 1727 void InstructionSelector::VisitFloat64Neg(Node* node) { |
| 1728 VisitRR(this, kArm64Float64Neg, node); |
| 1729 } |
1723 | 1730 |
1724 void InstructionSelector::EmitPrepareArguments( | 1731 void InstructionSelector::EmitPrepareArguments( |
1725 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, | 1732 ZoneVector<PushParameter>* arguments, const CallDescriptor* descriptor, |
1726 Node* node) { | 1733 Node* node) { |
1727 Arm64OperandGenerator g(this); | 1734 Arm64OperandGenerator g(this); |
1728 | 1735 |
1729 bool from_native_stack = linkage()->GetIncomingDescriptor()->UseNativeStack(); | 1736 bool from_native_stack = linkage()->GetIncomingDescriptor()->UseNativeStack(); |
1730 bool to_native_stack = descriptor->UseNativeStack(); | 1737 bool to_native_stack = descriptor->UseNativeStack(); |
1731 | 1738 |
1732 bool always_claim = to_native_stack != from_native_stack; | 1739 bool always_claim = to_native_stack != from_native_stack; |
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2407 MachineOperatorBuilder::kFloat64RoundUp | | 2414 MachineOperatorBuilder::kFloat64RoundUp | |
2408 MachineOperatorBuilder::kFloat32RoundTruncate | | 2415 MachineOperatorBuilder::kFloat32RoundTruncate | |
2409 MachineOperatorBuilder::kFloat64RoundTruncate | | 2416 MachineOperatorBuilder::kFloat64RoundTruncate | |
2410 MachineOperatorBuilder::kFloat64RoundTiesAway | | 2417 MachineOperatorBuilder::kFloat64RoundTiesAway | |
2411 MachineOperatorBuilder::kFloat32RoundTiesEven | | 2418 MachineOperatorBuilder::kFloat32RoundTiesEven | |
2412 MachineOperatorBuilder::kFloat64RoundTiesEven | | 2419 MachineOperatorBuilder::kFloat64RoundTiesEven | |
2413 MachineOperatorBuilder::kWord32ShiftIsSafe | | 2420 MachineOperatorBuilder::kWord32ShiftIsSafe | |
2414 MachineOperatorBuilder::kInt32DivIsSafe | | 2421 MachineOperatorBuilder::kInt32DivIsSafe | |
2415 MachineOperatorBuilder::kUint32DivIsSafe | | 2422 MachineOperatorBuilder::kUint32DivIsSafe | |
2416 MachineOperatorBuilder::kWord32ReverseBits | | 2423 MachineOperatorBuilder::kWord32ReverseBits | |
2417 MachineOperatorBuilder::kWord64ReverseBits; | 2424 MachineOperatorBuilder::kWord64ReverseBits | |
| 2425 MachineOperatorBuilder::kFloat32Neg | |
| 2426 MachineOperatorBuilder::kFloat64Neg; |
2418 } | 2427 } |
2419 | 2428 |
2420 // static | 2429 // static |
2421 MachineOperatorBuilder::AlignmentRequirements | 2430 MachineOperatorBuilder::AlignmentRequirements |
2422 InstructionSelector::AlignmentRequirements() { | 2431 InstructionSelector::AlignmentRequirements() { |
2423 return MachineOperatorBuilder::AlignmentRequirements:: | 2432 return MachineOperatorBuilder::AlignmentRequirements:: |
2424 FullUnalignedAccessSupport(); | 2433 FullUnalignedAccessSupport(); |
2425 } | 2434 } |
2426 | 2435 |
2427 } // namespace compiler | 2436 } // namespace compiler |
2428 } // namespace internal | 2437 } // namespace internal |
2429 } // namespace v8 | 2438 } // namespace v8 |
OLD | NEW |