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 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 case kArmInt8x16LessThan: | 192 case kArmInt8x16LessThan: |
193 case kArmInt8x16LessThanOrEqual: | 193 case kArmInt8x16LessThanOrEqual: |
194 case kArmUint8x16ShiftRightByScalar: | 194 case kArmUint8x16ShiftRightByScalar: |
195 case kArmUint8x16AddSaturate: | 195 case kArmUint8x16AddSaturate: |
196 case kArmUint8x16SubSaturate: | 196 case kArmUint8x16SubSaturate: |
197 case kArmUint8x16Min: | 197 case kArmUint8x16Min: |
198 case kArmUint8x16Max: | 198 case kArmUint8x16Max: |
199 case kArmUint8x16LessThan: | 199 case kArmUint8x16LessThan: |
200 case kArmUint8x16LessThanOrEqual: | 200 case kArmUint8x16LessThanOrEqual: |
201 case kArmSimd128Zero: | 201 case kArmSimd128Zero: |
202 case kArmSimd128Load: | |
203 case kArmSimd128Store: | |
204 case kArmSimd128And: | 202 case kArmSimd128And: |
205 case kArmSimd128Or: | 203 case kArmSimd128Or: |
206 case kArmSimd128Xor: | 204 case kArmSimd128Xor: |
207 case kArmSimd128Not: | 205 case kArmSimd128Not: |
208 case kArmSimd128Select: | 206 case kArmSimd128Select: |
209 case kArmSimd1x4AnyTrue: | 207 case kArmSimd1x4AnyTrue: |
210 case kArmSimd1x4AllTrue: | 208 case kArmSimd1x4AllTrue: |
211 case kArmSimd1x8AnyTrue: | 209 case kArmSimd1x8AnyTrue: |
212 case kArmSimd1x8AllTrue: | 210 case kArmSimd1x8AllTrue: |
213 case kArmSimd1x16AnyTrue: | 211 case kArmSimd1x16AnyTrue: |
214 case kArmSimd1x16AllTrue: | 212 case kArmSimd1x16AllTrue: |
215 return kNoOpcodeFlags; | 213 return kNoOpcodeFlags; |
216 | 214 |
217 case kArmVldrF32: | 215 case kArmVldrF32: |
218 case kArmVldrF64: | 216 case kArmVldrF64: |
219 case kArmVld1F64: | 217 case kArmVld1F64: |
| 218 case kArmVld1S128: |
220 case kArmLdrb: | 219 case kArmLdrb: |
221 case kArmLdrsb: | 220 case kArmLdrsb: |
222 case kArmLdrh: | 221 case kArmLdrh: |
223 case kArmLdrsh: | 222 case kArmLdrsh: |
224 case kArmLdr: | 223 case kArmLdr: |
225 return kIsLoadOperation; | 224 return kIsLoadOperation; |
226 | 225 |
227 case kArmVstrF32: | 226 case kArmVstrF32: |
228 case kArmVstrF64: | 227 case kArmVstrF64: |
229 case kArmVst1F64: | 228 case kArmVst1F64: |
| 229 case kArmVst1S128: |
230 case kArmStrb: | 230 case kArmStrb: |
231 case kArmStrh: | 231 case kArmStrh: |
232 case kArmStr: | 232 case kArmStr: |
233 case kArmPush: | 233 case kArmPush: |
234 case kArmPoke: | 234 case kArmPoke: |
235 return kHasSideEffect; | 235 return kHasSideEffect; |
236 | 236 |
237 #define CASE(Name) case k##Name: | 237 #define CASE(Name) case k##Name: |
238 COMMON_ARCH_OPCODE_LIST(CASE) | 238 COMMON_ARCH_OPCODE_LIST(CASE) |
239 #undef CASE | 239 #undef CASE |
240 // Already covered in architecture independent code. | 240 // Already covered in architecture independent code. |
241 UNREACHABLE(); | 241 UNREACHABLE(); |
242 } | 242 } |
243 | 243 |
244 UNREACHABLE(); | 244 UNREACHABLE(); |
245 return kNoOpcodeFlags; | 245 return kNoOpcodeFlags; |
246 } | 246 } |
247 | 247 |
248 | 248 |
249 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { | 249 int InstructionScheduler::GetInstructionLatency(const Instruction* instr) { |
250 // TODO(all): Add instruction cost modeling. | 250 // TODO(all): Add instruction cost modeling. |
251 return 1; | 251 return 1; |
252 } | 252 } |
253 | 253 |
254 } // namespace compiler | 254 } // namespace compiler |
255 } // namespace internal | 255 } // namespace internal |
256 } // namespace v8 | 256 } // namespace v8 |
OLD | NEW |