OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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-scheduler.h" | 5 #include "src/compiler/instruction-scheduler.h" |
6 | 6 |
7 namespace v8 { | 7 namespace v8 { |
8 namespace internal { | 8 namespace internal { |
9 namespace compiler { | 9 namespace compiler { |
10 | 10 |
11 bool InstructionScheduler::SchedulerSupported() { return true; } | 11 bool InstructionScheduler::SchedulerSupported() { return true; } |
12 | 12 |
13 | 13 |
14 int InstructionScheduler::GetTargetInstructionFlags( | 14 int InstructionScheduler::GetTargetInstructionFlags( |
15 const Instruction* instr) const { | 15 const Instruction* instr) const { |
16 switch (instr->arch_opcode()) { | 16 switch (instr->arch_opcode()) { |
17 case kPPC_And: | 17 case kPPC_And: |
18 case kPPC_AndComplement: | 18 case kPPC_AndComplement: |
19 case kPPC_Or: | 19 case kPPC_Or: |
20 case kPPC_OrComplement: | 20 case kPPC_OrComplement: |
21 case kPPC_Xor: | 21 case kPPC_Xor: |
22 case kPPC_ShiftLeft32: | 22 case kPPC_ShiftLeft32: |
23 case kPPC_ShiftLeft64: | 23 case kPPC_ShiftLeft64: |
24 case kPPC_ShiftRight32: | 24 case kPPC_ShiftRight32: |
25 case kPPC_ShiftRight64: | 25 case kPPC_ShiftRight64: |
26 case kPPC_ShiftRightAlg32: | 26 case kPPC_ShiftRightAlg32: |
27 case kPPC_ShiftRightAlg64: | 27 case kPPC_ShiftRightAlg64: |
| 28 case kPPC_PairShiftLeft: |
28 case kPPC_RotRight32: | 29 case kPPC_RotRight32: |
29 case kPPC_RotRight64: | 30 case kPPC_RotRight64: |
30 case kPPC_Not: | 31 case kPPC_Not: |
31 case kPPC_RotLeftAndMask32: | 32 case kPPC_RotLeftAndMask32: |
32 case kPPC_RotLeftAndClear64: | 33 case kPPC_RotLeftAndClear64: |
33 case kPPC_RotLeftAndClearLeft64: | 34 case kPPC_RotLeftAndClearLeft64: |
34 case kPPC_RotLeftAndClearRight64: | 35 case kPPC_RotLeftAndClearRight64: |
35 case kPPC_Add: | 36 case kPPC_Add: |
36 case kPPC_AddWithOverflow32: | 37 case kPPC_AddWithOverflow32: |
37 case kPPC_AddDouble: | 38 case kPPC_AddDouble: |
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
136 | 137 |
137 | 138 |
138 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { | 139 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { |
139 // TODO(all): Add instruction cost modeling. | 140 // TODO(all): Add instruction cost modeling. |
140 return 1; | 141 return 1; |
141 } | 142 } |
142 | 143 |
143 } // namespace compiler | 144 } // namespace compiler |
144 } // namespace internal | 145 } // namespace internal |
145 } // namespace v8 | 146 } // namespace v8 |
OLD | NEW |