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/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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |