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 int InstructionScheduler::GetTargetInstructionFlags( | 13 int InstructionScheduler::GetTargetInstructionFlags( |
14 const Instruction* instr) const { | 14 const Instruction* instr) const { |
15 switch (instr->arch_opcode()) { | 15 switch (instr->arch_opcode()) { |
16 case kS390_And: | 16 case kS390_And: |
17 case kS390_AndComplement: | 17 case kS390_AndComplement: |
18 case kS390_Or: | 18 case kS390_Or: |
19 case kS390_OrComplement: | 19 case kS390_OrComplement: |
20 case kS390_Xor: | 20 case kS390_Xor: |
21 case kS390_ShiftLeft32: | 21 case kS390_ShiftLeft32: |
22 case kS390_ShiftLeft64: | 22 case kS390_ShiftLeft64: |
| 23 case kS390_ShiftLeftPair: |
23 case kS390_ShiftRight32: | 24 case kS390_ShiftRight32: |
24 case kS390_ShiftRight64: | 25 case kS390_ShiftRight64: |
25 case kS390_ShiftRightAlg32: | 26 case kS390_ShiftRightPair: |
26 case kS390_ShiftRightAlg64: | 27 case kS390_ShiftRightArith32: |
| 28 case kS390_ShiftRightArith64: |
| 29 case kS390_ShiftRightArithPair: |
27 case kS390_RotRight32: | 30 case kS390_RotRight32: |
28 case kS390_RotRight64: | 31 case kS390_RotRight64: |
29 case kS390_Not: | 32 case kS390_Not: |
30 case kS390_RotLeftAndMask32: | 33 case kS390_RotLeftAndMask32: |
31 case kS390_RotLeftAndClear64: | 34 case kS390_RotLeftAndClear64: |
32 case kS390_RotLeftAndClearLeft64: | 35 case kS390_RotLeftAndClearLeft64: |
33 case kS390_RotLeftAndClearRight64: | 36 case kS390_RotLeftAndClearRight64: |
34 case kS390_Add: | 37 case kS390_Add: |
35 case kS390_AddWithOverflow32: | 38 case kS390_AddWithOverflow32: |
36 case kS390_AddFloat: | 39 case kS390_AddFloat: |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 } | 151 } |
149 | 152 |
150 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { | 153 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { |
151 // TODO(all): Add instruction cost modeling. | 154 // TODO(all): Add instruction cost modeling. |
152 return 1; | 155 return 1; |
153 } | 156 } |
154 | 157 |
155 } // namespace compiler | 158 } // namespace compiler |
156 } // namespace internal | 159 } // namespace internal |
157 } // namespace v8 | 160 } // namespace v8 |
OLD | NEW |