Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Side by Side Diff: src/compiler/arm/instruction-scheduler-arm.cc

Issue 2769083003: [ARM] Make Simd 128 bit load/store more like existing load/store. (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/compiler/arm/instruction-codes-arm.h ('k') | src/compiler/arm/instruction-selector-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « src/compiler/arm/instruction-codes-arm.h ('k') | src/compiler/arm/instruction-selector-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698