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 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 case kIA32Ror: | 44 case kIA32Ror: |
45 case kIA32Lzcnt: | 45 case kIA32Lzcnt: |
46 case kIA32Tzcnt: | 46 case kIA32Tzcnt: |
47 case kIA32Popcnt: | 47 case kIA32Popcnt: |
48 case kIA32Lea: | 48 case kIA32Lea: |
49 case kSSEFloat32Cmp: | 49 case kSSEFloat32Cmp: |
50 case kSSEFloat32Add: | 50 case kSSEFloat32Add: |
51 case kSSEFloat32Sub: | 51 case kSSEFloat32Sub: |
52 case kSSEFloat32Mul: | 52 case kSSEFloat32Mul: |
53 case kSSEFloat32Div: | 53 case kSSEFloat32Div: |
54 case kSSEFloat32Max: | |
55 case kSSEFloat32Min: | |
56 case kSSEFloat32Abs: | 54 case kSSEFloat32Abs: |
57 case kSSEFloat32Neg: | 55 case kSSEFloat32Neg: |
58 case kSSEFloat32Sqrt: | 56 case kSSEFloat32Sqrt: |
59 case kSSEFloat32Round: | 57 case kSSEFloat32Round: |
60 case kSSEFloat64Cmp: | 58 case kSSEFloat64Cmp: |
61 case kSSEFloat64Add: | 59 case kSSEFloat64Add: |
62 case kSSEFloat64Sub: | 60 case kSSEFloat64Sub: |
63 case kSSEFloat64Mul: | 61 case kSSEFloat64Mul: |
64 case kSSEFloat64Div: | 62 case kSSEFloat64Div: |
65 case kSSEFloat64Mod: | 63 case kSSEFloat64Mod: |
(...skipping 16 matching lines...) Expand all Loading... |
82 case kSSEFloat64ExtractLowWord32: | 80 case kSSEFloat64ExtractLowWord32: |
83 case kSSEFloat64ExtractHighWord32: | 81 case kSSEFloat64ExtractHighWord32: |
84 case kSSEFloat64InsertLowWord32: | 82 case kSSEFloat64InsertLowWord32: |
85 case kSSEFloat64InsertHighWord32: | 83 case kSSEFloat64InsertHighWord32: |
86 case kSSEFloat64LoadLowWord32: | 84 case kSSEFloat64LoadLowWord32: |
87 case kSSEFloat64SilenceNaN: | 85 case kSSEFloat64SilenceNaN: |
88 case kAVXFloat32Add: | 86 case kAVXFloat32Add: |
89 case kAVXFloat32Sub: | 87 case kAVXFloat32Sub: |
90 case kAVXFloat32Mul: | 88 case kAVXFloat32Mul: |
91 case kAVXFloat32Div: | 89 case kAVXFloat32Div: |
92 case kAVXFloat32Max: | |
93 case kAVXFloat32Min: | |
94 case kAVXFloat64Add: | 90 case kAVXFloat64Add: |
95 case kAVXFloat64Sub: | 91 case kAVXFloat64Sub: |
96 case kAVXFloat64Mul: | 92 case kAVXFloat64Mul: |
97 case kAVXFloat64Div: | 93 case kAVXFloat64Div: |
98 case kAVXFloat64Max: | |
99 case kAVXFloat64Min: | |
100 case kAVXFloat64Abs: | 94 case kAVXFloat64Abs: |
101 case kAVXFloat64Neg: | 95 case kAVXFloat64Neg: |
102 case kAVXFloat32Abs: | 96 case kAVXFloat32Abs: |
103 case kAVXFloat32Neg: | 97 case kAVXFloat32Neg: |
104 case kIA32BitcastFI: | 98 case kIA32BitcastFI: |
105 case kIA32BitcastIF: | 99 case kIA32BitcastIF: |
106 return (instr->addressing_mode() == kMode_None) | 100 return (instr->addressing_mode() == kMode_None) |
107 ? kNoOpcodeFlags | 101 ? kNoOpcodeFlags |
108 : kIsLoadOperation | kHasSideEffect; | 102 : kIsLoadOperation | kHasSideEffect; |
109 | 103 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 | 140 |
147 | 141 |
148 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { | 142 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { |
149 // TODO(all): Add instruction cost modeling. | 143 // TODO(all): Add instruction cost modeling. |
150 return 1; | 144 return 1; |
151 } | 145 } |
152 | 146 |
153 } // namespace compiler | 147 } // namespace compiler |
154 } // namespace internal | 148 } // namespace internal |
155 } // namespace v8 | 149 } // namespace v8 |
OLD | NEW |