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 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
914 void InstructionSelector::VisitWord32Ror(Node* node) { | 914 void InstructionSelector::VisitWord32Ror(Node* node) { |
915 VisitRRO(this, kArm64Ror32, node, kShift32Imm); | 915 VisitRRO(this, kArm64Ror32, node, kShift32Imm); |
916 } | 916 } |
917 | 917 |
918 | 918 |
919 void InstructionSelector::VisitWord64Ror(Node* node) { | 919 void InstructionSelector::VisitWord64Ror(Node* node) { |
920 VisitRRO(this, kArm64Ror, node, kShift64Imm); | 920 VisitRRO(this, kArm64Ror, node, kShift64Imm); |
921 } | 921 } |
922 | 922 |
923 | 923 |
| 924 void InstructionSelector::VisitWord64Clz(Node* node) { |
| 925 Arm64OperandGenerator g(this); |
| 926 Emit(kArm64Clz, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
| 927 } |
| 928 |
| 929 |
924 void InstructionSelector::VisitWord32Clz(Node* node) { | 930 void InstructionSelector::VisitWord32Clz(Node* node) { |
925 Arm64OperandGenerator g(this); | 931 Arm64OperandGenerator g(this); |
926 Emit(kArm64Clz32, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); | 932 Emit(kArm64Clz32, g.DefineAsRegister(node), g.UseRegister(node->InputAt(0))); |
927 } | 933 } |
928 | 934 |
929 | 935 |
930 void InstructionSelector::VisitWord32Ctz(Node* node) { UNREACHABLE(); } | 936 void InstructionSelector::VisitWord32Ctz(Node* node) { UNREACHABLE(); } |
931 | 937 |
932 | 938 |
933 void InstructionSelector::VisitWord32Popcnt(Node* node) { UNREACHABLE(); } | 939 void InstructionSelector::VisitWord32Popcnt(Node* node) { UNREACHABLE(); } |
(...skipping 1045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1979 MachineOperatorBuilder::kFloat64RoundTruncate | | 1985 MachineOperatorBuilder::kFloat64RoundTruncate | |
1980 MachineOperatorBuilder::kFloat64RoundTiesAway | | 1986 MachineOperatorBuilder::kFloat64RoundTiesAway | |
1981 MachineOperatorBuilder::kWord32ShiftIsSafe | | 1987 MachineOperatorBuilder::kWord32ShiftIsSafe | |
1982 MachineOperatorBuilder::kInt32DivIsSafe | | 1988 MachineOperatorBuilder::kInt32DivIsSafe | |
1983 MachineOperatorBuilder::kUint32DivIsSafe; | 1989 MachineOperatorBuilder::kUint32DivIsSafe; |
1984 } | 1990 } |
1985 | 1991 |
1986 } // namespace compiler | 1992 } // namespace compiler |
1987 } // namespace internal | 1993 } // namespace internal |
1988 } // namespace v8 | 1994 } // namespace v8 |
OLD | NEW |