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/assembler-inl.h" | 5 #include "src/assembler-inl.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 2764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2775 inputs[input_count++] = g.UseUniqueRegister(new_value); | 2775 inputs[input_count++] = g.UseUniqueRegister(new_value); |
2776 InstructionOperand outputs[1]; | 2776 InstructionOperand outputs[1]; |
2777 outputs[0] = g.UseUniqueRegister(node); | 2777 outputs[0] = g.UseUniqueRegister(node); |
2778 InstructionOperand temp[2]; | 2778 InstructionOperand temp[2]; |
2779 temp[0] = g.TempRegister(); | 2779 temp[0] = g.TempRegister(); |
2780 temp[1] = g.TempRegister(); | 2780 temp[1] = g.TempRegister(); |
2781 InstructionCode code = opcode | AddressingModeField::encode(addressing_mode); | 2781 InstructionCode code = opcode | AddressingModeField::encode(addressing_mode); |
2782 Emit(code, 1, outputs, input_count, inputs, 2, temp); | 2782 Emit(code, 1, outputs, input_count, inputs, 2, temp); |
2783 } | 2783 } |
2784 | 2784 |
| 2785 void InstructionSelector::VisitInt32AbsWithOverflow(Node* node) { |
| 2786 UNREACHABLE(); |
| 2787 } |
| 2788 |
| 2789 void InstructionSelector::VisitInt64AbsWithOverflow(Node* node) { |
| 2790 UNREACHABLE(); |
| 2791 } |
| 2792 |
2785 // static | 2793 // static |
2786 MachineOperatorBuilder::Flags | 2794 MachineOperatorBuilder::Flags |
2787 InstructionSelector::SupportedMachineOperatorFlags() { | 2795 InstructionSelector::SupportedMachineOperatorFlags() { |
2788 return MachineOperatorBuilder::kFloat32RoundDown | | 2796 return MachineOperatorBuilder::kFloat32RoundDown | |
2789 MachineOperatorBuilder::kFloat64RoundDown | | 2797 MachineOperatorBuilder::kFloat64RoundDown | |
2790 MachineOperatorBuilder::kFloat32RoundUp | | 2798 MachineOperatorBuilder::kFloat32RoundUp | |
2791 MachineOperatorBuilder::kFloat64RoundUp | | 2799 MachineOperatorBuilder::kFloat64RoundUp | |
2792 MachineOperatorBuilder::kFloat32RoundTruncate | | 2800 MachineOperatorBuilder::kFloat32RoundTruncate | |
2793 MachineOperatorBuilder::kFloat64RoundTruncate | | 2801 MachineOperatorBuilder::kFloat64RoundTruncate | |
2794 MachineOperatorBuilder::kFloat64RoundTiesAway | | 2802 MachineOperatorBuilder::kFloat64RoundTiesAway | |
2795 MachineOperatorBuilder::kFloat32RoundTiesEven | | 2803 MachineOperatorBuilder::kFloat32RoundTiesEven | |
2796 MachineOperatorBuilder::kFloat64RoundTiesEven | | 2804 MachineOperatorBuilder::kFloat64RoundTiesEven | |
2797 MachineOperatorBuilder::kWord32ShiftIsSafe | | 2805 MachineOperatorBuilder::kWord32ShiftIsSafe | |
2798 MachineOperatorBuilder::kInt32DivIsSafe | | 2806 MachineOperatorBuilder::kInt32DivIsSafe | |
2799 MachineOperatorBuilder::kUint32DivIsSafe | | 2807 MachineOperatorBuilder::kUint32DivIsSafe | |
2800 MachineOperatorBuilder::kWord32ReverseBits | | 2808 MachineOperatorBuilder::kWord32ReverseBits | |
2801 MachineOperatorBuilder::kWord64ReverseBits; | 2809 MachineOperatorBuilder::kWord64ReverseBits; |
2802 } | 2810 } |
2803 | 2811 |
2804 // static | 2812 // static |
2805 MachineOperatorBuilder::AlignmentRequirements | 2813 MachineOperatorBuilder::AlignmentRequirements |
2806 InstructionSelector::AlignmentRequirements() { | 2814 InstructionSelector::AlignmentRequirements() { |
2807 return MachineOperatorBuilder::AlignmentRequirements:: | 2815 return MachineOperatorBuilder::AlignmentRequirements:: |
2808 FullUnalignedAccessSupport(); | 2816 FullUnalignedAccessSupport(); |
2809 } | 2817 } |
2810 | 2818 |
2811 } // namespace compiler | 2819 } // namespace compiler |
2812 } // namespace internal | 2820 } // namespace internal |
2813 } // namespace v8 | 2821 } // namespace v8 |
OLD | NEW |