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

Side by Side Diff: src/compiler/s390/instruction-selector-s390.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 | « src/compiler/ppc/instruction-selector-ppc.cc ('k') | no next file » | 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/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/s390/frames-s390.h" 9 #include "src/s390/frames-s390.h"
10 10
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 opcode = kS390_LoadDouble; 243 opcode = kS390_LoadDouble;
244 break; 244 break;
245 case MachineRepresentation::kBit: // Fall through. 245 case MachineRepresentation::kBit: // Fall through.
246 case MachineRepresentation::kWord8: 246 case MachineRepresentation::kWord8:
247 opcode = load_rep.IsSigned() ? kS390_LoadWordS8 : kS390_LoadWordU8; 247 opcode = load_rep.IsSigned() ? kS390_LoadWordS8 : kS390_LoadWordU8;
248 break; 248 break;
249 case MachineRepresentation::kWord16: 249 case MachineRepresentation::kWord16:
250 opcode = load_rep.IsSigned() ? kS390_LoadWordS16 : kS390_LoadWordU16; 250 opcode = load_rep.IsSigned() ? kS390_LoadWordS16 : kS390_LoadWordU16;
251 break; 251 break;
252 #if !V8_TARGET_ARCH_S390X 252 #if !V8_TARGET_ARCH_S390X
253 case MachineRepresentation::kTaggedSigned: // Fall through.
254 case MachineRepresentation::kTaggedPointer: // Fall through.
253 case MachineRepresentation::kTagged: // Fall through. 255 case MachineRepresentation::kTagged: // Fall through.
254 #endif 256 #endif
255 case MachineRepresentation::kWord32: 257 case MachineRepresentation::kWord32:
256 opcode = kS390_LoadWordU32; 258 opcode = kS390_LoadWordU32;
257 break; 259 break;
258 #if V8_TARGET_ARCH_S390X 260 #if V8_TARGET_ARCH_S390X
261 case MachineRepresentation::kTaggedSigned: // Fall through.
262 case MachineRepresentation::kTaggedPointer: // Fall through.
259 case MachineRepresentation::kTagged: // Fall through. 263 case MachineRepresentation::kTagged: // Fall through.
260 case MachineRepresentation::kWord64: 264 case MachineRepresentation::kWord64:
261 opcode = kS390_LoadWord64; 265 opcode = kS390_LoadWord64;
262 break; 266 break;
263 #else 267 #else
264 case MachineRepresentation::kWord64: // Fall through. 268 case MachineRepresentation::kWord64: // Fall through.
265 #endif 269 #endif
266 case MachineRepresentation::kSimd128: // Fall through. 270 case MachineRepresentation::kSimd128: // Fall through.
267 case MachineRepresentation::kNone: 271 case MachineRepresentation::kNone:
268 UNREACHABLE(); 272 UNREACHABLE();
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 opcode = kS390_StoreDouble; 340 opcode = kS390_StoreDouble;
337 break; 341 break;
338 case MachineRepresentation::kBit: // Fall through. 342 case MachineRepresentation::kBit: // Fall through.
339 case MachineRepresentation::kWord8: 343 case MachineRepresentation::kWord8:
340 opcode = kS390_StoreWord8; 344 opcode = kS390_StoreWord8;
341 break; 345 break;
342 case MachineRepresentation::kWord16: 346 case MachineRepresentation::kWord16:
343 opcode = kS390_StoreWord16; 347 opcode = kS390_StoreWord16;
344 break; 348 break;
345 #if !V8_TARGET_ARCH_S390X 349 #if !V8_TARGET_ARCH_S390X
350 case MachineRepresentation::kTaggedSigned: // Fall through.
351 case MachineRepresentation::kTaggedPointer: // Fall through.
346 case MachineRepresentation::kTagged: // Fall through. 352 case MachineRepresentation::kTagged: // Fall through.
347 #endif 353 #endif
348 case MachineRepresentation::kWord32: 354 case MachineRepresentation::kWord32:
349 opcode = kS390_StoreWord32; 355 opcode = kS390_StoreWord32;
350 if (m.IsWord32ReverseBytes()) { 356 if (m.IsWord32ReverseBytes()) {
351 opcode = kS390_StoreReverse32; 357 opcode = kS390_StoreReverse32;
352 value = value->InputAt(0); 358 value = value->InputAt(0);
353 } 359 }
354 break; 360 break;
355 #if V8_TARGET_ARCH_S390X 361 #if V8_TARGET_ARCH_S390X
362 case MachineRepresentation::kTaggedSigned: // Fall through.
363 case MachineRepresentation::kTaggedPointer: // Fall through.
356 case MachineRepresentation::kTagged: // Fall through. 364 case MachineRepresentation::kTagged: // Fall through.
357 case MachineRepresentation::kWord64: 365 case MachineRepresentation::kWord64:
358 opcode = kS390_StoreWord64; 366 opcode = kS390_StoreWord64;
359 if (m.IsWord64ReverseBytes()) { 367 if (m.IsWord64ReverseBytes()) {
360 opcode = kS390_StoreReverse64; 368 opcode = kS390_StoreReverse64;
361 value = value->InputAt(0); 369 value = value->InputAt(0);
362 } 370 }
363 break; 371 break;
364 #else 372 #else
365 case MachineRepresentation::kWord64: // Fall through. 373 case MachineRepresentation::kWord64: // Fall through.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
410 opcode = kCheckedLoadWord64; 418 opcode = kCheckedLoadWord64;
411 break; 419 break;
412 #endif 420 #endif
413 case MachineRepresentation::kFloat32: 421 case MachineRepresentation::kFloat32:
414 opcode = kCheckedLoadFloat32; 422 opcode = kCheckedLoadFloat32;
415 break; 423 break;
416 case MachineRepresentation::kFloat64: 424 case MachineRepresentation::kFloat64:
417 opcode = kCheckedLoadFloat64; 425 opcode = kCheckedLoadFloat64;
418 break; 426 break;
419 case MachineRepresentation::kBit: // Fall through. 427 case MachineRepresentation::kBit: // Fall through.
428 case MachineRepresentation::kTaggedSigned: // Fall through.
429 case MachineRepresentation::kTaggedPointer: // Fall through.
420 case MachineRepresentation::kTagged: // Fall through. 430 case MachineRepresentation::kTagged: // Fall through.
421 #if !V8_TARGET_ARCH_S390X 431 #if !V8_TARGET_ARCH_S390X
422 case MachineRepresentation::kWord64: // Fall through. 432 case MachineRepresentation::kWord64: // Fall through.
423 #endif 433 #endif
424 case MachineRepresentation::kSimd128: // Fall through. 434 case MachineRepresentation::kSimd128: // Fall through.
425 case MachineRepresentation::kNone: 435 case MachineRepresentation::kNone:
426 UNREACHABLE(); 436 UNREACHABLE();
427 return; 437 return;
428 } 438 }
429 AddressingMode addressingMode = kMode_MRR; 439 AddressingMode addressingMode = kMode_MRR;
(...skipping 25 matching lines...) Expand all
455 opcode = kCheckedStoreWord64; 465 opcode = kCheckedStoreWord64;
456 break; 466 break;
457 #endif 467 #endif
458 case MachineRepresentation::kFloat32: 468 case MachineRepresentation::kFloat32:
459 opcode = kCheckedStoreFloat32; 469 opcode = kCheckedStoreFloat32;
460 break; 470 break;
461 case MachineRepresentation::kFloat64: 471 case MachineRepresentation::kFloat64:
462 opcode = kCheckedStoreFloat64; 472 opcode = kCheckedStoreFloat64;
463 break; 473 break;
464 case MachineRepresentation::kBit: // Fall through. 474 case MachineRepresentation::kBit: // Fall through.
475 case MachineRepresentation::kTaggedSigned: // Fall through.
476 case MachineRepresentation::kTaggedPointer: // Fall through.
465 case MachineRepresentation::kTagged: // Fall through. 477 case MachineRepresentation::kTagged: // Fall through.
466 #if !V8_TARGET_ARCH_S390X 478 #if !V8_TARGET_ARCH_S390X
467 case MachineRepresentation::kWord64: // Fall through. 479 case MachineRepresentation::kWord64: // Fall through.
468 #endif 480 #endif
469 case MachineRepresentation::kSimd128: // Fall through. 481 case MachineRepresentation::kSimd128: // Fall through.
470 case MachineRepresentation::kNone: 482 case MachineRepresentation::kNone:
471 UNREACHABLE(); 483 UNREACHABLE();
472 return; 484 return;
473 } 485 }
474 AddressingMode addressingMode = kMode_MRR; 486 AddressingMode addressingMode = kMode_MRR;
(...skipping 1434 matching lines...) Expand 10 before | Expand all | Expand 10 after
1909 // static 1921 // static
1910 MachineOperatorBuilder::AlignmentRequirements 1922 MachineOperatorBuilder::AlignmentRequirements
1911 InstructionSelector::AlignmentRequirements() { 1923 InstructionSelector::AlignmentRequirements() {
1912 return MachineOperatorBuilder::AlignmentRequirements:: 1924 return MachineOperatorBuilder::AlignmentRequirements::
1913 FullUnalignedAccessSupport(); 1925 FullUnalignedAccessSupport();
1914 } 1926 }
1915 1927
1916 } // namespace compiler 1928 } // namespace compiler
1917 } // namespace internal 1929 } // namespace internal
1918 } // namespace v8 1930 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/ppc/instruction-selector-ppc.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698