Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Side by Side Diff: src/compiler/instruction-selector.cc

Issue 1698483002: [arm][arm64] Improve CountTrailingZero implementation. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: comments addressed Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/ia32/instruction-selector-ia32.cc ('k') | src/compiler/machine-operator.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « src/compiler/ia32/instruction-selector-ia32.cc ('k') | src/compiler/machine-operator.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698