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

Side by Side Diff: src/compiler/ppc/instruction-selector-ppc.cc

Issue 2246213004: PPC/s390: TurboFan: Introduce TaggedSigned and TaggedPointer representations. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 4 years, 4 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 | « no previous file | src/compiler/s390/instruction-selector-s390.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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/base/adapters.h" 5 #include "src/base/adapters.h"
6 #include "src/compiler/instruction-selector-impl.h" 6 #include "src/compiler/instruction-selector-impl.h"
7 #include "src/compiler/node-matchers.h" 7 #include "src/compiler/node-matchers.h"
8 #include "src/compiler/node-properties.h" 8 #include "src/compiler/node-properties.h"
9 #include "src/ppc/frames-ppc.h" 9 #include "src/ppc/frames-ppc.h"
10 10
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 opcode = kPPC_LoadDouble; 187 opcode = kPPC_LoadDouble;
188 break; 188 break;
189 case MachineRepresentation::kBit: // Fall through. 189 case MachineRepresentation::kBit: // Fall through.
190 case MachineRepresentation::kWord8: 190 case MachineRepresentation::kWord8:
191 opcode = load_rep.IsSigned() ? kPPC_LoadWordS8 : kPPC_LoadWordU8; 191 opcode = load_rep.IsSigned() ? kPPC_LoadWordS8 : kPPC_LoadWordU8;
192 break; 192 break;
193 case MachineRepresentation::kWord16: 193 case MachineRepresentation::kWord16:
194 opcode = load_rep.IsSigned() ? kPPC_LoadWordS16 : kPPC_LoadWordU16; 194 opcode = load_rep.IsSigned() ? kPPC_LoadWordS16 : kPPC_LoadWordU16;
195 break; 195 break;
196 #if !V8_TARGET_ARCH_PPC64 196 #if !V8_TARGET_ARCH_PPC64
197 case MachineRepresentation::kTaggedSigned: // Fall through.
198 case MachineRepresentation::kTaggedPointer: // Fall through.
197 case MachineRepresentation::kTagged: // Fall through. 199 case MachineRepresentation::kTagged: // Fall through.
198 #endif 200 #endif
199 case MachineRepresentation::kWord32: 201 case MachineRepresentation::kWord32:
200 opcode = kPPC_LoadWordU32; 202 opcode = kPPC_LoadWordU32;
201 break; 203 break;
202 #if V8_TARGET_ARCH_PPC64 204 #if V8_TARGET_ARCH_PPC64
205 case MachineRepresentation::kTaggedSigned: // Fall through.
206 case MachineRepresentation::kTaggedPointer: // Fall through.
203 case MachineRepresentation::kTagged: // Fall through. 207 case MachineRepresentation::kTagged: // Fall through.
204 case MachineRepresentation::kWord64: 208 case MachineRepresentation::kWord64:
205 opcode = kPPC_LoadWord64; 209 opcode = kPPC_LoadWord64;
206 mode = kInt16Imm_4ByteAligned; 210 mode = kInt16Imm_4ByteAligned;
207 break; 211 break;
208 #else 212 #else
209 case MachineRepresentation::kWord64: // Fall through. 213 case MachineRepresentation::kWord64: // Fall through.
210 #endif 214 #endif
211 case MachineRepresentation::kSimd128: // Fall through. 215 case MachineRepresentation::kSimd128: // Fall through.
212 case MachineRepresentation::kNone: 216 case MachineRepresentation::kNone:
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
288 opcode = kPPC_StoreDouble; 292 opcode = kPPC_StoreDouble;
289 break; 293 break;
290 case MachineRepresentation::kBit: // Fall through. 294 case MachineRepresentation::kBit: // Fall through.
291 case MachineRepresentation::kWord8: 295 case MachineRepresentation::kWord8:
292 opcode = kPPC_StoreWord8; 296 opcode = kPPC_StoreWord8;
293 break; 297 break;
294 case MachineRepresentation::kWord16: 298 case MachineRepresentation::kWord16:
295 opcode = kPPC_StoreWord16; 299 opcode = kPPC_StoreWord16;
296 break; 300 break;
297 #if !V8_TARGET_ARCH_PPC64 301 #if !V8_TARGET_ARCH_PPC64
302 case MachineRepresentation::kTaggedSigned: // Fall through.
303 case MachineRepresentation::kTaggedPointer: // Fall through.
298 case MachineRepresentation::kTagged: // Fall through. 304 case MachineRepresentation::kTagged: // Fall through.
299 #endif 305 #endif
300 case MachineRepresentation::kWord32: 306 case MachineRepresentation::kWord32:
301 opcode = kPPC_StoreWord32; 307 opcode = kPPC_StoreWord32;
302 break; 308 break;
303 #if V8_TARGET_ARCH_PPC64 309 #if V8_TARGET_ARCH_PPC64
310 case MachineRepresentation::kTaggedSigned: // Fall through.
311 case MachineRepresentation::kTaggedPointer: // Fall through.
304 case MachineRepresentation::kTagged: // Fall through. 312 case MachineRepresentation::kTagged: // Fall through.
305 case MachineRepresentation::kWord64: 313 case MachineRepresentation::kWord64:
306 opcode = kPPC_StoreWord64; 314 opcode = kPPC_StoreWord64;
307 mode = kInt16Imm_4ByteAligned; 315 mode = kInt16Imm_4ByteAligned;
308 break; 316 break;
309 #else 317 #else
310 case MachineRepresentation::kWord64: // Fall through. 318 case MachineRepresentation::kWord64: // Fall through.
311 #endif 319 #endif
312 case MachineRepresentation::kSimd128: // Fall through. 320 case MachineRepresentation::kSimd128: // Fall through.
313 case MachineRepresentation::kNone: 321 case MachineRepresentation::kNone:
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 opcode = kCheckedLoadWord64; 363 opcode = kCheckedLoadWord64;
356 break; 364 break;
357 #endif 365 #endif
358 case MachineRepresentation::kFloat32: 366 case MachineRepresentation::kFloat32:
359 opcode = kCheckedLoadFloat32; 367 opcode = kCheckedLoadFloat32;
360 break; 368 break;
361 case MachineRepresentation::kFloat64: 369 case MachineRepresentation::kFloat64:
362 opcode = kCheckedLoadFloat64; 370 opcode = kCheckedLoadFloat64;
363 break; 371 break;
364 case MachineRepresentation::kBit: // Fall through. 372 case MachineRepresentation::kBit: // Fall through.
373 case MachineRepresentation::kTaggedSigned: // Fall through.
374 case MachineRepresentation::kTaggedPointer: // Fall through.
365 case MachineRepresentation::kTagged: // Fall through. 375 case MachineRepresentation::kTagged: // Fall through.
366 #if !V8_TARGET_ARCH_PPC64 376 #if !V8_TARGET_ARCH_PPC64
367 case MachineRepresentation::kWord64: // Fall through. 377 case MachineRepresentation::kWord64: // Fall through.
368 #endif 378 #endif
369 case MachineRepresentation::kSimd128: // Fall through. 379 case MachineRepresentation::kSimd128: // Fall through.
370 case MachineRepresentation::kNone: 380 case MachineRepresentation::kNone:
371 UNREACHABLE(); 381 UNREACHABLE();
372 return; 382 return;
373 } 383 }
374 AddressingMode addressingMode = kMode_MRR; 384 AddressingMode addressingMode = kMode_MRR;
(...skipping 26 matching lines...) Expand all
401 opcode = kCheckedStoreWord64; 411 opcode = kCheckedStoreWord64;
402 break; 412 break;
403 #endif 413 #endif
404 case MachineRepresentation::kFloat32: 414 case MachineRepresentation::kFloat32:
405 opcode = kCheckedStoreFloat32; 415 opcode = kCheckedStoreFloat32;
406 break; 416 break;
407 case MachineRepresentation::kFloat64: 417 case MachineRepresentation::kFloat64:
408 opcode = kCheckedStoreFloat64; 418 opcode = kCheckedStoreFloat64;
409 break; 419 break;
410 case MachineRepresentation::kBit: // Fall through. 420 case MachineRepresentation::kBit: // Fall through.
421 case MachineRepresentation::kTaggedSigned: // Fall through.
422 case MachineRepresentation::kTaggedPointer: // Fall through.
411 case MachineRepresentation::kTagged: // Fall through. 423 case MachineRepresentation::kTagged: // Fall through.
412 #if !V8_TARGET_ARCH_PPC64 424 #if !V8_TARGET_ARCH_PPC64
413 case MachineRepresentation::kWord64: // Fall through. 425 case MachineRepresentation::kWord64: // Fall through.
414 #endif 426 #endif
415 case MachineRepresentation::kSimd128: // Fall through. 427 case MachineRepresentation::kSimd128: // Fall through.
416 case MachineRepresentation::kNone: 428 case MachineRepresentation::kNone:
417 UNREACHABLE(); 429 UNREACHABLE();
418 return; 430 return;
419 } 431 }
420 AddressingMode addressingMode = kMode_MRR; 432 AddressingMode addressingMode = kMode_MRR;
(...skipping 1618 matching lines...) Expand 10 before | Expand all | Expand 10 after
2039 // static 2051 // static
2040 MachineOperatorBuilder::AlignmentRequirements 2052 MachineOperatorBuilder::AlignmentRequirements
2041 InstructionSelector::AlignmentRequirements() { 2053 InstructionSelector::AlignmentRequirements() {
2042 return MachineOperatorBuilder::AlignmentRequirements:: 2054 return MachineOperatorBuilder::AlignmentRequirements::
2043 FullUnalignedAccessSupport(); 2055 FullUnalignedAccessSupport();
2044 } 2056 }
2045 2057
2046 } // namespace compiler 2058 } // namespace compiler
2047 } // namespace internal 2059 } // namespace internal
2048 } // namespace v8 2060 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/s390/instruction-selector-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698