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 1815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1826 addressing_mode = kMode_MRI; | 1826 addressing_mode = kMode_MRI; |
1827 } else { | 1827 } else { |
1828 inputs[input_count++] = g.UseUniqueRegister(index); | 1828 inputs[input_count++] = g.UseUniqueRegister(index); |
1829 addressing_mode = kMode_MR1; | 1829 addressing_mode = kMode_MR1; |
1830 } | 1830 } |
1831 inputs[input_count++] = g.UseUniqueRegister(value); | 1831 inputs[input_count++] = g.UseUniqueRegister(value); |
1832 InstructionCode code = opcode | AddressingModeField::encode(addressing_mode); | 1832 InstructionCode code = opcode | AddressingModeField::encode(addressing_mode); |
1833 Emit(code, 0, nullptr, input_count, inputs); | 1833 Emit(code, 0, nullptr, input_count, inputs); |
1834 } | 1834 } |
1835 | 1835 |
| 1836 void InstructionSelector::VisitInt32AbsWithOverflow(Node* node) { |
| 1837 UNREACHABLE(); |
| 1838 } |
| 1839 |
| 1840 void InstructionSelector::VisitInt64AbsWithOverflow(Node* node) { |
| 1841 UNREACHABLE(); |
| 1842 } |
| 1843 |
1836 // static | 1844 // static |
1837 MachineOperatorBuilder::Flags | 1845 MachineOperatorBuilder::Flags |
1838 InstructionSelector::SupportedMachineOperatorFlags() { | 1846 InstructionSelector::SupportedMachineOperatorFlags() { |
1839 MachineOperatorBuilder::Flags flags = | 1847 MachineOperatorBuilder::Flags flags = |
1840 MachineOperatorBuilder::kWord32ShiftIsSafe; | 1848 MachineOperatorBuilder::kWord32ShiftIsSafe; |
1841 if (CpuFeatures::IsSupported(POPCNT)) { | 1849 if (CpuFeatures::IsSupported(POPCNT)) { |
1842 flags |= MachineOperatorBuilder::kWord32Popcnt; | 1850 flags |= MachineOperatorBuilder::kWord32Popcnt; |
1843 } | 1851 } |
1844 | 1852 |
1845 flags |= MachineOperatorBuilder::kFloat32RoundDown | | 1853 flags |= MachineOperatorBuilder::kFloat32RoundDown | |
(...skipping 10 matching lines...) Expand all Loading... |
1856 // static | 1864 // static |
1857 MachineOperatorBuilder::AlignmentRequirements | 1865 MachineOperatorBuilder::AlignmentRequirements |
1858 InstructionSelector::AlignmentRequirements() { | 1866 InstructionSelector::AlignmentRequirements() { |
1859 return MachineOperatorBuilder::AlignmentRequirements:: | 1867 return MachineOperatorBuilder::AlignmentRequirements:: |
1860 FullUnalignedAccessSupport(); | 1868 FullUnalignedAccessSupport(); |
1861 } | 1869 } |
1862 | 1870 |
1863 } // namespace compiler | 1871 } // namespace compiler |
1864 } // namespace internal | 1872 } // namespace internal |
1865 } // namespace v8 | 1873 } // namespace v8 |
OLD | NEW |