| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ | 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_ |
| 6 #define V8_COMPILER_MACHINE_OPERATOR_H_ | 6 #define V8_COMPILER_MACHINE_OPERATOR_H_ |
| 7 | 7 |
| 8 #include "src/base/compiler-specific.h" | 8 #include "src/base/compiler-specific.h" |
| 9 #include "src/base/flags.h" | 9 #include "src/base/flags.h" |
| 10 #include "src/globals.h" | 10 #include "src/globals.h" |
| (...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 const Operator* Float64ExtractLowWord32(); | 423 const Operator* Float64ExtractLowWord32(); |
| 424 const Operator* Float64ExtractHighWord32(); | 424 const Operator* Float64ExtractHighWord32(); |
| 425 const Operator* Float64InsertLowWord32(); | 425 const Operator* Float64InsertLowWord32(); |
| 426 const Operator* Float64InsertHighWord32(); | 426 const Operator* Float64InsertHighWord32(); |
| 427 | 427 |
| 428 // Change signalling NaN to quiet NaN. | 428 // Change signalling NaN to quiet NaN. |
| 429 // Identity for any input that is not signalling NaN. | 429 // Identity for any input that is not signalling NaN. |
| 430 const Operator* Float64SilenceNaN(); | 430 const Operator* Float64SilenceNaN(); |
| 431 | 431 |
| 432 // SIMD operators. | 432 // SIMD operators. |
| 433 const Operator* Float32x4Splat(); | 433 const Operator* F32x4Splat(); |
| 434 const Operator* Float32x4ExtractLane(int32_t); | 434 const Operator* F32x4ExtractLane(int32_t); |
| 435 const Operator* Float32x4ReplaceLane(int32_t); | 435 const Operator* F32x4ReplaceLane(int32_t); |
| 436 const Operator* Float32x4Abs(); | 436 const Operator* F32x4SConvertI32x4(); |
| 437 const Operator* Float32x4Neg(); | 437 const Operator* F32x4UConvertI32x4(); |
| 438 const Operator* Float32x4Sqrt(); | 438 const Operator* F32x4Abs(); |
| 439 const Operator* Float32x4RecipApprox(); | 439 const Operator* F32x4Neg(); |
| 440 const Operator* Float32x4RecipSqrtApprox(); | 440 const Operator* F32x4Sqrt(); |
| 441 const Operator* Float32x4Add(); | 441 const Operator* F32x4RecipApprox(); |
| 442 const Operator* Float32x4Sub(); | 442 const Operator* F32x4RecipSqrtApprox(); |
| 443 const Operator* Float32x4Mul(); | 443 const Operator* F32x4Add(); |
| 444 const Operator* Float32x4Div(); | 444 const Operator* F32x4Sub(); |
| 445 const Operator* Float32x4Min(); | 445 const Operator* F32x4Mul(); |
| 446 const Operator* Float32x4Max(); | 446 const Operator* F32x4Div(); |
| 447 const Operator* Float32x4MinNum(); | 447 const Operator* F32x4Min(); |
| 448 const Operator* Float32x4MaxNum(); | 448 const Operator* F32x4Max(); |
| 449 const Operator* Float32x4RecipRefine(); | 449 const Operator* F32x4MinNum(); |
| 450 const Operator* Float32x4RecipSqrtRefine(); | 450 const Operator* F32x4MaxNum(); |
| 451 const Operator* Float32x4Equal(); | 451 const Operator* F32x4RecipRefine(); |
| 452 const Operator* Float32x4NotEqual(); | 452 const Operator* F32x4RecipSqrtRefine(); |
| 453 const Operator* Float32x4LessThan(); | 453 const Operator* F32x4Eq(); |
| 454 const Operator* Float32x4LessThanOrEqual(); | 454 const Operator* F32x4Ne(); |
| 455 const Operator* Float32x4FromInt32x4(); | 455 const Operator* F32x4Lt(); |
| 456 const Operator* Float32x4FromUint32x4(); | 456 const Operator* F32x4Le(); |
| 457 | 457 |
| 458 const Operator* Int32x4Splat(); | 458 const Operator* I32x4Splat(); |
| 459 const Operator* Int32x4ExtractLane(int32_t); | 459 const Operator* I32x4ExtractLane(int32_t); |
| 460 const Operator* Int32x4ReplaceLane(int32_t); | 460 const Operator* I32x4ReplaceLane(int32_t); |
| 461 const Operator* Int32x4Neg(); | 461 const Operator* I32x4SConvertF32x4(); |
| 462 const Operator* Int32x4Add(); | 462 const Operator* I32x4Neg(); |
| 463 const Operator* Int32x4Sub(); | 463 const Operator* I32x4Shl(int32_t); |
| 464 const Operator* Int32x4Mul(); | 464 const Operator* I32x4ShrS(int32_t); |
| 465 const Operator* Int32x4Min(); | 465 const Operator* I32x4Add(); |
| 466 const Operator* Int32x4Max(); | 466 const Operator* I32x4Sub(); |
| 467 const Operator* Int32x4ShiftLeftByScalar(int32_t); | 467 const Operator* I32x4Mul(); |
| 468 const Operator* Int32x4ShiftRightByScalar(int32_t); | 468 const Operator* I32x4MinS(); |
| 469 const Operator* Int32x4Equal(); | 469 const Operator* I32x4MaxS(); |
| 470 const Operator* Int32x4NotEqual(); | 470 const Operator* I32x4Eq(); |
| 471 const Operator* Int32x4LessThan(); | 471 const Operator* I32x4Ne(); |
| 472 const Operator* Int32x4LessThanOrEqual(); | 472 const Operator* I32x4LtS(); |
| 473 const Operator* Int32x4FromFloat32x4(); | 473 const Operator* I32x4LeS(); |
| 474 | 474 |
| 475 const Operator* Uint32x4Min(); | 475 const Operator* I32x4UConvertF32x4(); |
| 476 const Operator* Uint32x4Max(); | 476 const Operator* I32x4ShrU(int32_t); |
| 477 const Operator* Uint32x4ShiftRightByScalar(int32_t); | 477 const Operator* I32x4MinU(); |
| 478 const Operator* Uint32x4LessThan(); | 478 const Operator* I32x4MaxU(); |
| 479 const Operator* Uint32x4LessThanOrEqual(); | 479 const Operator* I32x4LtU(); |
| 480 const Operator* Uint32x4FromFloat32x4(); | 480 const Operator* I32x4LeU(); |
| 481 | 481 |
| 482 const Operator* Int16x8Splat(); | 482 const Operator* I16x8Splat(); |
| 483 const Operator* Int16x8ExtractLane(int32_t); | 483 const Operator* I16x8ExtractLane(int32_t); |
| 484 const Operator* Int16x8ReplaceLane(int32_t); | 484 const Operator* I16x8ReplaceLane(int32_t); |
| 485 const Operator* Int16x8Neg(); | 485 const Operator* I16x8Neg(); |
| 486 const Operator* Int16x8Add(); | 486 const Operator* I16x8Shl(int32_t); |
| 487 const Operator* Int16x8AddSaturate(); | 487 const Operator* I16x8ShrS(int32_t); |
| 488 const Operator* Int16x8Sub(); | 488 const Operator* I16x8Add(); |
| 489 const Operator* Int16x8SubSaturate(); | 489 const Operator* I16x8AddSaturate(); |
| 490 const Operator* Int16x8Mul(); | 490 const Operator* I16x8Sub(); |
| 491 const Operator* Int16x8Min(); | 491 const Operator* I16x8SubSaturate(); |
| 492 const Operator* Int16x8Max(); | 492 const Operator* I16x8Mul(); |
| 493 const Operator* Int16x8ShiftLeftByScalar(int32_t); | 493 const Operator* I16x8MinS(); |
| 494 const Operator* Int16x8ShiftRightByScalar(int32_t); | 494 const Operator* I16x8MaxS(); |
| 495 const Operator* Int16x8Equal(); | 495 const Operator* I16x8Eq(); |
| 496 const Operator* Int16x8NotEqual(); | 496 const Operator* I16x8Ne(); |
| 497 const Operator* Int16x8LessThan(); | 497 const Operator* I16x8LtS(); |
| 498 const Operator* Int16x8LessThanOrEqual(); | 498 const Operator* I16x8LeS(); |
| 499 | 499 |
| 500 const Operator* Uint16x8AddSaturate(); | 500 const Operator* I16x8ShrU(int32_t); |
| 501 const Operator* Uint16x8SubSaturate(); | 501 const Operator* I16x8AddSaturateU(); |
| 502 const Operator* Uint16x8Min(); | 502 const Operator* I16x8SubSaturateU(); |
| 503 const Operator* Uint16x8Max(); | 503 const Operator* I16x8MinU(); |
| 504 const Operator* Uint16x8ShiftRightByScalar(int32_t); | 504 const Operator* I16x8MaxU(); |
| 505 const Operator* Uint16x8LessThan(); | 505 const Operator* I16x8LtU(); |
| 506 const Operator* Uint16x8LessThanOrEqual(); | 506 const Operator* I16x8LeU(); |
| 507 | 507 |
| 508 const Operator* Int8x16Splat(); | 508 const Operator* I8x16Splat(); |
| 509 const Operator* Int8x16ExtractLane(int32_t); | 509 const Operator* I8x16ExtractLane(int32_t); |
| 510 const Operator* Int8x16ReplaceLane(int32_t); | 510 const Operator* I8x16ReplaceLane(int32_t); |
| 511 const Operator* Int8x16Neg(); | 511 const Operator* I8x16Neg(); |
| 512 const Operator* Int8x16Add(); | 512 const Operator* I8x16Shl(int32_t); |
| 513 const Operator* Int8x16AddSaturate(); | 513 const Operator* I8x16ShrS(int32_t); |
| 514 const Operator* Int8x16Sub(); | 514 const Operator* I8x16Add(); |
| 515 const Operator* Int8x16SubSaturate(); | 515 const Operator* I8x16AddSaturate(); |
| 516 const Operator* Int8x16Mul(); | 516 const Operator* I8x16Sub(); |
| 517 const Operator* Int8x16Min(); | 517 const Operator* I8x16SubSaturate(); |
| 518 const Operator* Int8x16Max(); | 518 const Operator* I8x16Mul(); |
| 519 const Operator* Int8x16ShiftLeftByScalar(int32_t); | 519 const Operator* I8x16MinS(); |
| 520 const Operator* Int8x16ShiftRightByScalar(int32_t); | 520 const Operator* I8x16MaxS(); |
| 521 const Operator* Int8x16Equal(); | 521 const Operator* I8x16Eq(); |
| 522 const Operator* Int8x16NotEqual(); | 522 const Operator* I8x16Ne(); |
| 523 const Operator* Int8x16LessThan(); | 523 const Operator* I8x16LtS(); |
| 524 const Operator* Int8x16LessThanOrEqual(); | 524 const Operator* I8x16LeS(); |
| 525 | 525 |
| 526 const Operator* Uint8x16AddSaturate(); | 526 const Operator* I8x16ShrU(int32_t); |
| 527 const Operator* Uint8x16SubSaturate(); | 527 const Operator* I8x16AddSaturateU(); |
| 528 const Operator* Uint8x16Min(); | 528 const Operator* I8x16SubSaturateU(); |
| 529 const Operator* Uint8x16Max(); | 529 const Operator* I8x16MinU(); |
| 530 const Operator* Uint8x16ShiftRightByScalar(int32_t); | 530 const Operator* I8x16MaxU(); |
| 531 const Operator* Uint8x16LessThan(); | 531 const Operator* I8x16LtU(); |
| 532 const Operator* Uint8x16LessThanOrEqual(); | 532 const Operator* I8x16LeU(); |
| 533 | 533 |
| 534 const Operator* Simd128Load(); | 534 const Operator* S128Load(); |
| 535 const Operator* Simd128Load1(); | 535 const Operator* S128Store(); |
| 536 const Operator* Simd128Load2(); | |
| 537 const Operator* Simd128Load3(); | |
| 538 const Operator* Simd128Store(); | |
| 539 const Operator* Simd128Store1(); | |
| 540 const Operator* Simd128Store2(); | |
| 541 const Operator* Simd128Store3(); | |
| 542 | 536 |
| 543 const Operator* Simd128Zero(); | 537 const Operator* S128Zero(); |
| 544 const Operator* Simd128And(); | 538 const Operator* S128And(); |
| 545 const Operator* Simd128Or(); | 539 const Operator* S128Or(); |
| 546 const Operator* Simd128Xor(); | 540 const Operator* S128Xor(); |
| 547 const Operator* Simd128Not(); | 541 const Operator* S128Not(); |
| 548 | 542 |
| 549 const Operator* Simd32x4Select(); | 543 const Operator* S32x4Select(); |
| 550 const Operator* Simd32x4Swizzle(uint32_t); | 544 const Operator* S32x4Swizzle(uint32_t); |
| 551 const Operator* Simd32x4Shuffle(); | 545 const Operator* S32x4Shuffle(); |
| 552 const Operator* Simd16x8Select(); | 546 const Operator* S16x8Select(); |
| 553 const Operator* Simd16x8Swizzle(uint32_t); | 547 const Operator* S16x8Swizzle(uint32_t); |
| 554 const Operator* Simd16x8Shuffle(); | 548 const Operator* S16x8Shuffle(); |
| 555 const Operator* Simd8x16Select(); | 549 const Operator* S8x16Select(); |
| 556 const Operator* Simd8x16Swizzle(uint32_t); | 550 const Operator* S8x16Swizzle(uint32_t); |
| 557 const Operator* Simd8x16Shuffle(); | 551 const Operator* S8x16Shuffle(); |
| 558 | 552 |
| 559 const Operator* Simd1x4Zero(); | 553 const Operator* S1x4Zero(); |
| 560 const Operator* Simd1x4And(); | 554 const Operator* S1x4And(); |
| 561 const Operator* Simd1x4Or(); | 555 const Operator* S1x4Or(); |
| 562 const Operator* Simd1x4Xor(); | 556 const Operator* S1x4Xor(); |
| 563 const Operator* Simd1x4Not(); | 557 const Operator* S1x4Not(); |
| 564 const Operator* Simd1x4AnyTrue(); | 558 const Operator* S1x4AnyTrue(); |
| 565 const Operator* Simd1x4AllTrue(); | 559 const Operator* S1x4AllTrue(); |
| 566 | 560 |
| 567 const Operator* Simd1x8Zero(); | 561 const Operator* S1x8Zero(); |
| 568 const Operator* Simd1x8And(); | 562 const Operator* S1x8And(); |
| 569 const Operator* Simd1x8Or(); | 563 const Operator* S1x8Or(); |
| 570 const Operator* Simd1x8Xor(); | 564 const Operator* S1x8Xor(); |
| 571 const Operator* Simd1x8Not(); | 565 const Operator* S1x8Not(); |
| 572 const Operator* Simd1x8AnyTrue(); | 566 const Operator* S1x8AnyTrue(); |
| 573 const Operator* Simd1x8AllTrue(); | 567 const Operator* S1x8AllTrue(); |
| 574 | 568 |
| 575 const Operator* Simd1x16Zero(); | 569 const Operator* S1x16Zero(); |
| 576 const Operator* Simd1x16And(); | 570 const Operator* S1x16And(); |
| 577 const Operator* Simd1x16Or(); | 571 const Operator* S1x16Or(); |
| 578 const Operator* Simd1x16Xor(); | 572 const Operator* S1x16Xor(); |
| 579 const Operator* Simd1x16Not(); | 573 const Operator* S1x16Not(); |
| 580 const Operator* Simd1x16AnyTrue(); | 574 const Operator* S1x16AnyTrue(); |
| 581 const Operator* Simd1x16AllTrue(); | 575 const Operator* S1x16AllTrue(); |
| 582 | 576 |
| 583 // load [base + index] | 577 // load [base + index] |
| 584 const Operator* Load(LoadRepresentation rep); | 578 const Operator* Load(LoadRepresentation rep); |
| 585 const Operator* ProtectedLoad(LoadRepresentation rep); | 579 const Operator* ProtectedLoad(LoadRepresentation rep); |
| 586 | 580 |
| 587 // store [base + index], value | 581 // store [base + index], value |
| 588 const Operator* Store(StoreRepresentation rep); | 582 const Operator* Store(StoreRepresentation rep); |
| 589 const Operator* ProtectedStore(MachineRepresentation rep); | 583 const Operator* ProtectedStore(MachineRepresentation rep); |
| 590 | 584 |
| 591 // unaligned load [base + index] | 585 // unaligned load [base + index] |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 674 }; | 668 }; |
| 675 | 669 |
| 676 | 670 |
| 677 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) | 671 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) |
| 678 | 672 |
| 679 } // namespace compiler | 673 } // namespace compiler |
| 680 } // namespace internal | 674 } // namespace internal |
| 681 } // namespace v8 | 675 } // namespace v8 |
| 682 | 676 |
| 683 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ | 677 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ |
| OLD | NEW |