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

Side by Side Diff: test/cctest/compiler/codegen-tester.cc

Issue 1513383003: [turbofan] Store nodes use only MachineRepresentation, not MachineType. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: please mips64 Created 5 years 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 | « test/cctest/compiler/codegen-tester.h ('k') | test/cctest/compiler/test-changes-lowering.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 "test/cctest/cctest.h" 5 #include "test/cctest/cctest.h"
6 #include "test/cctest/compiler/codegen-tester.h" 6 #include "test/cctest/compiler/codegen-tester.h"
7 #include "test/cctest/compiler/value-helper.h" 7 #include "test/cctest/compiler/value-helper.h"
8 8
9 namespace v8 { 9 namespace v8 {
10 namespace internal { 10 namespace internal {
(...skipping 614 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 CHECK_EQ(*i + *i + *i + *j, m.Call(*i, *i, *i, *j)); 625 CHECK_EQ(*i + *i + *i + *j, m.Call(*i, *i, *i, *j));
626 CHECK_EQ(*i + *i + *j + *i, m.Call(*i, *i, *j, *i)); 626 CHECK_EQ(*i + *i + *j + *i, m.Call(*i, *i, *j, *i));
627 CHECK_EQ(*i + *j + *i + *i, m.Call(*i, *j, *i, *i)); 627 CHECK_EQ(*i + *j + *i + *i, m.Call(*i, *j, *i, *i));
628 CHECK_EQ(*j + *i + *i + *i, m.Call(*j, *i, *i, *i)); 628 CHECK_EQ(*j + *i + *i + *i, m.Call(*j, *i, *i, *i));
629 } 629 }
630 } 630 }
631 } 631 }
632 { 632 {
633 BufferedRawMachineAssemblerTester<void> m; 633 BufferedRawMachineAssemblerTester<void> m;
634 int64_t result; 634 int64_t result;
635 m.Store(MachineTypeForC<int64_t>(), m.PointerConstant(&result), 635 m.Store(MachineTypeForC<int64_t>().representation(),
636 m.Int64Constant(0x12500000000), kNoWriteBarrier); 636 m.PointerConstant(&result), m.Int64Constant(0x12500000000),
637 kNoWriteBarrier);
637 m.Return(m.Int32Constant(0)); 638 m.Return(m.Int32Constant(0));
638 m.Call(); 639 m.Call();
639 CHECK_EQ(0x12500000000, result); 640 CHECK_EQ(0x12500000000, result);
640 } 641 }
641 { 642 {
642 BufferedRawMachineAssemblerTester<void> m(MachineType::Float64()); 643 BufferedRawMachineAssemblerTester<void> m(MachineType::Float64());
643 double result; 644 double result;
644 m.Store(MachineTypeForC<double>(), m.PointerConstant(&result), 645 m.Store(MachineTypeForC<double>().representation(),
645 m.Parameter(0), kNoWriteBarrier); 646 m.PointerConstant(&result), m.Parameter(0), kNoWriteBarrier);
646 m.Return(m.Int32Constant(0)); 647 m.Return(m.Int32Constant(0));
647 FOR_FLOAT64_INPUTS(i) { 648 FOR_FLOAT64_INPUTS(i) {
648 m.Call(*i); 649 m.Call(*i);
649 CheckDoubleEq(*i, result); 650 CheckDoubleEq(*i, result);
650 } 651 }
651 } 652 }
652 { 653 {
653 BufferedRawMachineAssemblerTester<void> m(MachineType::Int64(), 654 BufferedRawMachineAssemblerTester<void> m(MachineType::Int64(),
654 MachineType::Int64()); 655 MachineType::Int64());
655 int64_t result; 656 int64_t result;
656 m.Store(MachineTypeForC<int64_t>(), m.PointerConstant(&result), 657 m.Store(MachineTypeForC<int64_t>().representation(),
658 m.PointerConstant(&result),
657 m.Int64Add(m.Parameter(0), m.Parameter(1)), kNoWriteBarrier); 659 m.Int64Add(m.Parameter(0), m.Parameter(1)), kNoWriteBarrier);
658 m.Return(m.Int32Constant(0)); 660 m.Return(m.Int32Constant(0));
659 FOR_INT64_INPUTS(i) { 661 FOR_INT64_INPUTS(i) {
660 FOR_INT64_INPUTS(j) { 662 FOR_INT64_INPUTS(j) {
661 m.Call(*i, *j); 663 m.Call(*i, *j);
662 CHECK_EQ(*i + *j, result); 664 CHECK_EQ(*i + *j, result);
663 665
664 m.Call(*j, *i); 666 m.Call(*j, *i);
665 CHECK_EQ(*j + *i, result); 667 CHECK_EQ(*j + *i, result);
666 } 668 }
667 } 669 }
668 } 670 }
669 { 671 {
670 BufferedRawMachineAssemblerTester<void> m( 672 BufferedRawMachineAssemblerTester<void> m(
671 MachineType::Int64(), MachineType::Int64(), MachineType::Int64()); 673 MachineType::Int64(), MachineType::Int64(), MachineType::Int64());
672 int64_t result; 674 int64_t result;
673 m.Store( 675 m.Store(
674 MachineTypeForC<int64_t>(), m.PointerConstant(&result), 676 MachineTypeForC<int64_t>().representation(), m.PointerConstant(&result),
675 m.Int64Add(m.Int64Add(m.Parameter(0), m.Parameter(1)), m.Parameter(2)), 677 m.Int64Add(m.Int64Add(m.Parameter(0), m.Parameter(1)), m.Parameter(2)),
676 kNoWriteBarrier); 678 kNoWriteBarrier);
677 m.Return(m.Int32Constant(0)); 679 m.Return(m.Int32Constant(0));
678 FOR_INT64_INPUTS(i) { 680 FOR_INT64_INPUTS(i) {
679 FOR_INT64_INPUTS(j) { 681 FOR_INT64_INPUTS(j) {
680 m.Call(*i, *i, *j); 682 m.Call(*i, *i, *j);
681 CHECK_EQ(*i + *i + *j, result); 683 CHECK_EQ(*i + *i + *j, result);
682 684
683 m.Call(*i, *j, *i); 685 m.Call(*i, *j, *i);
684 CHECK_EQ(*i + *j + *i, result); 686 CHECK_EQ(*i + *j + *i, result);
685 687
686 m.Call(*j, *i, *i); 688 m.Call(*j, *i, *i);
687 CHECK_EQ(*j + *i + *i, result); 689 CHECK_EQ(*j + *i + *i, result);
688 } 690 }
689 } 691 }
690 } 692 }
691 { 693 {
692 BufferedRawMachineAssemblerTester<void> m( 694 BufferedRawMachineAssemblerTester<void> m(
693 MachineType::Int64(), MachineType::Int64(), MachineType::Int64(), 695 MachineType::Int64(), MachineType::Int64(), MachineType::Int64(),
694 MachineType::Int64()); 696 MachineType::Int64());
695 int64_t result; 697 int64_t result;
696 m.Store(MachineTypeForC<int64_t>(), m.PointerConstant(&result), 698 m.Store(MachineTypeForC<int64_t>().representation(),
699 m.PointerConstant(&result),
697 m.Int64Add(m.Int64Add(m.Int64Add(m.Parameter(0), m.Parameter(1)), 700 m.Int64Add(m.Int64Add(m.Int64Add(m.Parameter(0), m.Parameter(1)),
698 m.Parameter(2)), 701 m.Parameter(2)),
699 m.Parameter(3)), 702 m.Parameter(3)),
700 kNoWriteBarrier); 703 kNoWriteBarrier);
701 m.Return(m.Int32Constant(0)); 704 m.Return(m.Int32Constant(0));
702 FOR_INT64_INPUTS(i) { 705 FOR_INT64_INPUTS(i) {
703 FOR_INT64_INPUTS(j) { 706 FOR_INT64_INPUTS(j) {
704 m.Call(*i, *i, *i, *j); 707 m.Call(*i, *i, *i, *j);
705 CHECK_EQ(*i + *i + *i + *j, result); 708 CHECK_EQ(*i + *i + *i + *j, result);
706 709
707 m.Call(*i, *i, *j, *i); 710 m.Call(*i, *i, *j, *i);
708 CHECK_EQ(*i + *i + *j + *i, result); 711 CHECK_EQ(*i + *i + *j + *i, result);
709 712
710 m.Call(*i, *j, *i, *i); 713 m.Call(*i, *j, *i, *i);
711 CHECK_EQ(*i + *j + *i + *i, result); 714 CHECK_EQ(*i + *j + *i + *i, result);
712 715
713 m.Call(*j, *i, *i, *i); 716 m.Call(*j, *i, *i, *i);
714 CHECK_EQ(*j + *i + *i + *i, result); 717 CHECK_EQ(*j + *i + *i + *i, result);
715 } 718 }
716 } 719 }
717 } 720 }
718 } 721 }
719 722
720 #endif 723 #endif
721 } // namespace compiler 724 } // namespace compiler
722 } // namespace internal 725 } // namespace internal
723 } // namespace v8 726 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/compiler/codegen-tester.h ('k') | test/cctest/compiler/test-changes-lowering.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698