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

Side by Side Diff: src/compiler/machine-operator.h

Issue 2804883008: [WASM SIMD] Implement horizontal add for float and integer types. (Closed)
Patch Set: Fix MIPS. Created 3 years, 8 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
OLDNEW
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 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 const Operator* F32x4ExtractLane(int32_t); 438 const Operator* F32x4ExtractLane(int32_t);
439 const Operator* F32x4ReplaceLane(int32_t); 439 const Operator* F32x4ReplaceLane(int32_t);
440 const Operator* F32x4SConvertI32x4(); 440 const Operator* F32x4SConvertI32x4();
441 const Operator* F32x4UConvertI32x4(); 441 const Operator* F32x4UConvertI32x4();
442 const Operator* F32x4Abs(); 442 const Operator* F32x4Abs();
443 const Operator* F32x4Neg(); 443 const Operator* F32x4Neg();
444 const Operator* F32x4Sqrt(); 444 const Operator* F32x4Sqrt();
445 const Operator* F32x4RecipApprox(); 445 const Operator* F32x4RecipApprox();
446 const Operator* F32x4RecipSqrtApprox(); 446 const Operator* F32x4RecipSqrtApprox();
447 const Operator* F32x4Add(); 447 const Operator* F32x4Add();
448 const Operator* F32x4AddHoriz();
448 const Operator* F32x4Sub(); 449 const Operator* F32x4Sub();
449 const Operator* F32x4Mul(); 450 const Operator* F32x4Mul();
450 const Operator* F32x4Div(); 451 const Operator* F32x4Div();
451 const Operator* F32x4Min(); 452 const Operator* F32x4Min();
452 const Operator* F32x4Max(); 453 const Operator* F32x4Max();
453 const Operator* F32x4MinNum(); 454 const Operator* F32x4MinNum();
454 const Operator* F32x4MaxNum(); 455 const Operator* F32x4MaxNum();
455 const Operator* F32x4RecipRefine(); 456 const Operator* F32x4RecipRefine();
456 const Operator* F32x4RecipSqrtRefine(); 457 const Operator* F32x4RecipSqrtRefine();
457 const Operator* F32x4Eq(); 458 const Operator* F32x4Eq();
458 const Operator* F32x4Ne(); 459 const Operator* F32x4Ne();
459 const Operator* F32x4Lt(); 460 const Operator* F32x4Lt();
460 const Operator* F32x4Le(); 461 const Operator* F32x4Le();
461 462
462 const Operator* I32x4Splat(); 463 const Operator* I32x4Splat();
463 const Operator* I32x4ExtractLane(int32_t); 464 const Operator* I32x4ExtractLane(int32_t);
464 const Operator* I32x4ReplaceLane(int32_t); 465 const Operator* I32x4ReplaceLane(int32_t);
465 const Operator* I32x4SConvertF32x4(); 466 const Operator* I32x4SConvertF32x4();
466 const Operator* I32x4SConvertI16x8Low(); 467 const Operator* I32x4SConvertI16x8Low();
467 const Operator* I32x4SConvertI16x8High(); 468 const Operator* I32x4SConvertI16x8High();
468 const Operator* I32x4Neg(); 469 const Operator* I32x4Neg();
469 const Operator* I32x4Shl(int32_t); 470 const Operator* I32x4Shl(int32_t);
470 const Operator* I32x4ShrS(int32_t); 471 const Operator* I32x4ShrS(int32_t);
471 const Operator* I32x4Add(); 472 const Operator* I32x4Add();
473 const Operator* I32x4AddHoriz();
472 const Operator* I32x4Sub(); 474 const Operator* I32x4Sub();
473 const Operator* I32x4Mul(); 475 const Operator* I32x4Mul();
474 const Operator* I32x4MinS(); 476 const Operator* I32x4MinS();
475 const Operator* I32x4MaxS(); 477 const Operator* I32x4MaxS();
476 const Operator* I32x4Eq(); 478 const Operator* I32x4Eq();
477 const Operator* I32x4Ne(); 479 const Operator* I32x4Ne();
478 const Operator* I32x4LtS(); 480 const Operator* I32x4LtS();
479 const Operator* I32x4LeS(); 481 const Operator* I32x4LeS();
480 482
481 const Operator* I32x4UConvertF32x4(); 483 const Operator* I32x4UConvertF32x4();
482 const Operator* I32x4UConvertI16x8Low(); 484 const Operator* I32x4UConvertI16x8Low();
483 const Operator* I32x4UConvertI16x8High(); 485 const Operator* I32x4UConvertI16x8High();
484 const Operator* I32x4ShrU(int32_t); 486 const Operator* I32x4ShrU(int32_t);
485 const Operator* I32x4MinU(); 487 const Operator* I32x4MinU();
486 const Operator* I32x4MaxU(); 488 const Operator* I32x4MaxU();
487 const Operator* I32x4LtU(); 489 const Operator* I32x4LtU();
488 const Operator* I32x4LeU(); 490 const Operator* I32x4LeU();
489 491
490 const Operator* I16x8Splat(); 492 const Operator* I16x8Splat();
491 const Operator* I16x8ExtractLane(int32_t); 493 const Operator* I16x8ExtractLane(int32_t);
492 const Operator* I16x8ReplaceLane(int32_t); 494 const Operator* I16x8ReplaceLane(int32_t);
493 const Operator* I16x8SConvertI8x16Low(); 495 const Operator* I16x8SConvertI8x16Low();
494 const Operator* I16x8SConvertI8x16High(); 496 const Operator* I16x8SConvertI8x16High();
495 const Operator* I16x8Neg(); 497 const Operator* I16x8Neg();
496 const Operator* I16x8Shl(int32_t); 498 const Operator* I16x8Shl(int32_t);
497 const Operator* I16x8ShrS(int32_t); 499 const Operator* I16x8ShrS(int32_t);
498 const Operator* I16x8SConvertI32x4(); 500 const Operator* I16x8SConvertI32x4();
499 const Operator* I16x8Add(); 501 const Operator* I16x8Add();
500 const Operator* I16x8AddSaturateS(); 502 const Operator* I16x8AddSaturateS();
503 const Operator* I16x8AddHoriz();
501 const Operator* I16x8Sub(); 504 const Operator* I16x8Sub();
502 const Operator* I16x8SubSaturateS(); 505 const Operator* I16x8SubSaturateS();
503 const Operator* I16x8Mul(); 506 const Operator* I16x8Mul();
504 const Operator* I16x8MinS(); 507 const Operator* I16x8MinS();
505 const Operator* I16x8MaxS(); 508 const Operator* I16x8MaxS();
506 const Operator* I16x8Eq(); 509 const Operator* I16x8Eq();
507 const Operator* I16x8Ne(); 510 const Operator* I16x8Ne();
508 const Operator* I16x8LtS(); 511 const Operator* I16x8LtS();
509 const Operator* I16x8LeS(); 512 const Operator* I16x8LeS();
510 513
(...skipping 10 matching lines...) Expand all
521 524
522 const Operator* I8x16Splat(); 525 const Operator* I8x16Splat();
523 const Operator* I8x16ExtractLane(int32_t); 526 const Operator* I8x16ExtractLane(int32_t);
524 const Operator* I8x16ReplaceLane(int32_t); 527 const Operator* I8x16ReplaceLane(int32_t);
525 const Operator* I8x16Neg(); 528 const Operator* I8x16Neg();
526 const Operator* I8x16Shl(int32_t); 529 const Operator* I8x16Shl(int32_t);
527 const Operator* I8x16ShrS(int32_t); 530 const Operator* I8x16ShrS(int32_t);
528 const Operator* I8x16SConvertI16x8(); 531 const Operator* I8x16SConvertI16x8();
529 const Operator* I8x16Add(); 532 const Operator* I8x16Add();
530 const Operator* I8x16AddSaturateS(); 533 const Operator* I8x16AddSaturateS();
534 const Operator* I8x16AddHoriz();
531 const Operator* I8x16Sub(); 535 const Operator* I8x16Sub();
532 const Operator* I8x16SubSaturateS(); 536 const Operator* I8x16SubSaturateS();
533 const Operator* I8x16Mul(); 537 const Operator* I8x16Mul();
534 const Operator* I8x16MinS(); 538 const Operator* I8x16MinS();
535 const Operator* I8x16MaxS(); 539 const Operator* I8x16MaxS();
536 const Operator* I8x16Eq(); 540 const Operator* I8x16Eq();
537 const Operator* I8x16Ne(); 541 const Operator* I8x16Ne();
538 const Operator* I8x16LtS(); 542 const Operator* I8x16LtS();
539 const Operator* I8x16LeS(); 543 const Operator* I8x16LeS();
540 544
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 }; 718 };
715 719
716 720
717 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) 721 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags)
718 722
719 } // namespace compiler 723 } // namespace compiler
720 } // namespace internal 724 } // namespace internal
721 } // namespace v8 725 } // namespace v8
722 726
723 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ 727 #endif // V8_COMPILER_MACHINE_OPERATOR_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698