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.h" | 5 #include "src/compiler/instruction-selector.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "src/base/adapters.h" | 9 #include "src/base/adapters.h" |
10 #include "src/compiler/instruction-selector-impl.h" | 10 #include "src/compiler/instruction-selector-impl.h" |
(...skipping 849 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
860 case IrOpcode::kWord32Sar: | 860 case IrOpcode::kWord32Sar: |
861 return MarkAsWord32(node), VisitWord32Sar(node); | 861 return MarkAsWord32(node), VisitWord32Sar(node); |
862 case IrOpcode::kWord32Ror: | 862 case IrOpcode::kWord32Ror: |
863 return MarkAsWord32(node), VisitWord32Ror(node); | 863 return MarkAsWord32(node), VisitWord32Ror(node); |
864 case IrOpcode::kWord32Equal: | 864 case IrOpcode::kWord32Equal: |
865 return VisitWord32Equal(node); | 865 return VisitWord32Equal(node); |
866 case IrOpcode::kWord32Clz: | 866 case IrOpcode::kWord32Clz: |
867 return MarkAsWord32(node), VisitWord32Clz(node); | 867 return MarkAsWord32(node), VisitWord32Clz(node); |
868 case IrOpcode::kWord32Ctz: | 868 case IrOpcode::kWord32Ctz: |
869 return MarkAsWord32(node), VisitWord32Ctz(node); | 869 return MarkAsWord32(node), VisitWord32Ctz(node); |
| 870 case IrOpcode::kWord32ReverseBits: |
| 871 return MarkAsWord32(node), VisitWord32ReverseBits(node); |
870 case IrOpcode::kWord32Popcnt: | 872 case IrOpcode::kWord32Popcnt: |
871 return MarkAsWord32(node), VisitWord32Popcnt(node); | 873 return MarkAsWord32(node), VisitWord32Popcnt(node); |
872 case IrOpcode::kWord64Popcnt: | 874 case IrOpcode::kWord64Popcnt: |
873 return MarkAsWord32(node), VisitWord64Popcnt(node); | 875 return MarkAsWord32(node), VisitWord64Popcnt(node); |
874 case IrOpcode::kWord64And: | 876 case IrOpcode::kWord64And: |
875 return MarkAsWord64(node), VisitWord64And(node); | 877 return MarkAsWord64(node), VisitWord64And(node); |
876 case IrOpcode::kWord64Or: | 878 case IrOpcode::kWord64Or: |
877 return MarkAsWord64(node), VisitWord64Or(node); | 879 return MarkAsWord64(node), VisitWord64Or(node); |
878 case IrOpcode::kWord64Xor: | 880 case IrOpcode::kWord64Xor: |
879 return MarkAsWord64(node), VisitWord64Xor(node); | 881 return MarkAsWord64(node), VisitWord64Xor(node); |
880 case IrOpcode::kWord64Shl: | 882 case IrOpcode::kWord64Shl: |
881 return MarkAsWord64(node), VisitWord64Shl(node); | 883 return MarkAsWord64(node), VisitWord64Shl(node); |
882 case IrOpcode::kWord64Shr: | 884 case IrOpcode::kWord64Shr: |
883 return MarkAsWord64(node), VisitWord64Shr(node); | 885 return MarkAsWord64(node), VisitWord64Shr(node); |
884 case IrOpcode::kWord64Sar: | 886 case IrOpcode::kWord64Sar: |
885 return MarkAsWord64(node), VisitWord64Sar(node); | 887 return MarkAsWord64(node), VisitWord64Sar(node); |
886 case IrOpcode::kWord64Ror: | 888 case IrOpcode::kWord64Ror: |
887 return MarkAsWord64(node), VisitWord64Ror(node); | 889 return MarkAsWord64(node), VisitWord64Ror(node); |
888 case IrOpcode::kWord64Clz: | 890 case IrOpcode::kWord64Clz: |
889 return MarkAsWord64(node), VisitWord64Clz(node); | 891 return MarkAsWord64(node), VisitWord64Clz(node); |
890 case IrOpcode::kWord64Ctz: | 892 case IrOpcode::kWord64Ctz: |
891 return MarkAsWord64(node), VisitWord64Ctz(node); | 893 return MarkAsWord64(node), VisitWord64Ctz(node); |
| 894 case IrOpcode::kWord64ReverseBits: |
| 895 return MarkAsWord64(node), VisitWord64ReverseBits(node); |
892 case IrOpcode::kWord64Equal: | 896 case IrOpcode::kWord64Equal: |
893 return VisitWord64Equal(node); | 897 return VisitWord64Equal(node); |
894 case IrOpcode::kInt32Add: | 898 case IrOpcode::kInt32Add: |
895 return MarkAsWord32(node), VisitInt32Add(node); | 899 return MarkAsWord32(node), VisitInt32Add(node); |
896 case IrOpcode::kInt32AddWithOverflow: | 900 case IrOpcode::kInt32AddWithOverflow: |
897 return MarkAsWord32(node), VisitInt32AddWithOverflow(node); | 901 return MarkAsWord32(node), VisitInt32AddWithOverflow(node); |
898 case IrOpcode::kInt32Sub: | 902 case IrOpcode::kInt32Sub: |
899 return MarkAsWord32(node), VisitInt32Sub(node); | 903 return MarkAsWord32(node), VisitInt32Sub(node); |
900 case IrOpcode::kInt32SubWithOverflow: | 904 case IrOpcode::kInt32SubWithOverflow: |
901 return VisitInt32SubWithOverflow(node); | 905 return VisitInt32SubWithOverflow(node); |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1172 | 1176 |
1173 void InstructionSelector::VisitWord64Ror(Node* node) { UNIMPLEMENTED(); } | 1177 void InstructionSelector::VisitWord64Ror(Node* node) { UNIMPLEMENTED(); } |
1174 | 1178 |
1175 | 1179 |
1176 void InstructionSelector::VisitWord64Clz(Node* node) { UNIMPLEMENTED(); } | 1180 void InstructionSelector::VisitWord64Clz(Node* node) { UNIMPLEMENTED(); } |
1177 | 1181 |
1178 | 1182 |
1179 void InstructionSelector::VisitWord64Ctz(Node* node) { UNIMPLEMENTED(); } | 1183 void InstructionSelector::VisitWord64Ctz(Node* node) { UNIMPLEMENTED(); } |
1180 | 1184 |
1181 | 1185 |
| 1186 void InstructionSelector::VisitWord64ReverseBits(Node* node) { |
| 1187 UNIMPLEMENTED(); |
| 1188 } |
| 1189 |
| 1190 |
1182 void InstructionSelector::VisitWord64Popcnt(Node* node) { UNIMPLEMENTED(); } | 1191 void InstructionSelector::VisitWord64Popcnt(Node* node) { UNIMPLEMENTED(); } |
1183 | 1192 |
1184 | 1193 |
1185 void InstructionSelector::VisitWord64Equal(Node* node) { UNIMPLEMENTED(); } | 1194 void InstructionSelector::VisitWord64Equal(Node* node) { UNIMPLEMENTED(); } |
1186 | 1195 |
1187 | 1196 |
1188 void InstructionSelector::VisitInt64Add(Node* node) { UNIMPLEMENTED(); } | 1197 void InstructionSelector::VisitInt64Add(Node* node) { UNIMPLEMENTED(); } |
1189 | 1198 |
1190 | 1199 |
1191 void InstructionSelector::VisitInt64AddWithOverflow(Node* node) { | 1200 void InstructionSelector::VisitInt64AddWithOverflow(Node* node) { |
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1640 return new (instruction_zone()) FrameStateDescriptor( | 1649 return new (instruction_zone()) FrameStateDescriptor( |
1641 instruction_zone(), state_info.type(), state_info.bailout_id(), | 1650 instruction_zone(), state_info.type(), state_info.bailout_id(), |
1642 state_info.state_combine(), parameters, locals, stack, | 1651 state_info.state_combine(), parameters, locals, stack, |
1643 state_info.shared_info(), outer_state); | 1652 state_info.shared_info(), outer_state); |
1644 } | 1653 } |
1645 | 1654 |
1646 | 1655 |
1647 } // namespace compiler | 1656 } // namespace compiler |
1648 } // namespace internal | 1657 } // namespace internal |
1649 } // namespace v8 | 1658 } // namespace v8 |
OLD | NEW |