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

Side by Side Diff: src/trusted/validator_arm/gen/arm32_decode_tests.cc

Issue 10459058: Define a baseline and testing patterns for ARM load_store_word_byte table. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 years, 6 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 | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright 2012 The Native Client Authors. All rights reserved. 2 * Copyright 2012 The Native Client Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can 3 * Use of this source code is governed by a BSD-style license that can
4 * be found in the LICENSE file. 4 * be found in the LICENSE file.
5 */ 5 */
6 6
7 // DO NOT EDIT: GENERATED CODE 7 // DO NOT EDIT: GENERATED CODE
8 8
9 #ifndef NACL_TRUSTED_BUT_NOT_TCB 9 #ifndef NACL_TRUSTED_BUT_NOT_TCB
10 #error This file is not meant for use in the TCB 10 #error This file is not meant for use in the TCB
(...skipping 537 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 548
549 class ForbiddenCondNopTester_Wfi_Rule_412_A1_P810_ 549 class ForbiddenCondNopTester_Wfi_Rule_412_A1_P810_
550 : public UnsafeCondNopTester { 550 : public UnsafeCondNopTester {
551 public: 551 public:
552 ForbiddenCondNopTester_Wfi_Rule_412_A1_P810_() 552 ForbiddenCondNopTester_Wfi_Rule_412_A1_P810_()
553 : UnsafeCondNopTester( 553 : UnsafeCondNopTester(
554 state_.ForbiddenCondNop_Wfi_Rule_412_A1_P810_instance_) 554 state_.ForbiddenCondNop_Wfi_Rule_412_A1_P810_instance_)
555 {} 555 {}
556 }; 556 };
557 557
558 class Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc 558 class Load2RegisterImm12OpTester_Ldr_Rule_58_A1_P120_NotRnIsPc
559 : public LoadStore2RegisterImmediateDoubleOpTesterNotRnIsPc { 559 : public LoadStore2RegisterImm12OpTesterNotRnIsPc {
560 public: 560 public:
561 Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc() 561 Load2RegisterImm12OpTester_Ldr_Rule_58_A1_P120_NotRnIsPc()
562 : LoadStore2RegisterImmediateDoubleOpTesterNotRnIsPc( 562 : LoadStore2RegisterImm12OpTesterNotRnIsPc(
563 state_.Load2RegisterImmediateDoubleOp_Ldrd_Rule_66_A1_P136_instance_) 563 state_.Load2RegisterImm12Op_Ldr_Rule_58_A1_P120_instance_)
564 {} 564 {}
565 }; 565 };
566 566
567 class Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_67_A1_P138_ 567 class Load2RegisterImm12OpTester_Ldr_Rule_59_A1_P122_
568 : public LoadStore2RegisterImmediateDoubleOpTester { 568 : public LoadStore2RegisterImm12OpTester {
569 public: 569 public:
570 Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_67_A1_P138_() 570 Load2RegisterImm12OpTester_Ldr_Rule_59_A1_P122_()
571 : LoadStore2RegisterImmediateDoubleOpTester( 571 : LoadStore2RegisterImm12OpTester(
572 state_.Load2RegisterImmediateDoubleOp_Ldrd_Rule_67_A1_P138_instance_) 572 state_.Load2RegisterImm12Op_Ldr_Rule_59_A1_P122_instance_)
573 {} 573 {}
574 }; 574 };
575 575
576 class Load2RegisterImmediateOpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc 576 class Load2RegisterImm12OpTester_Ldrb_Rule_62_A1_P128_NotRnIsPc
577 : public LoadStore2RegisterImmediateOpTesterNotRnIsPc { 577 : public LoadStore2RegisterImm12OpTesterNotRnIsPc {
578 public: 578 public:
579 Load2RegisterImmediateOpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc() 579 Load2RegisterImm12OpTester_Ldrb_Rule_62_A1_P128_NotRnIsPc()
580 : LoadStore2RegisterImmediateOpTesterNotRnIsPc( 580 : LoadStore2RegisterImm12OpTesterNotRnIsPc(
581 state_.Load2RegisterImmediateOp_Ldrh_Rule_74_A1_P152_instance_) 581 state_.Load2RegisterImm12Op_Ldrb_Rule_62_A1_P128_instance_)
582 {} 582 {}
583 }; 583 };
584 584
585 class Load2RegisterImmediateOpTester_Ldrh_Rule_75_A1_P154_ 585 class Load2RegisterImm12OpTester_Ldrb_Rule_63_A1_P130_
586 : public LoadStore2RegisterImmediateOpTester { 586 : public LoadStore2RegisterImm12OpTester {
587 public: 587 public:
588 Load2RegisterImmediateOpTester_Ldrh_Rule_75_A1_P154_() 588 Load2RegisterImm12OpTester_Ldrb_Rule_63_A1_P130_()
589 : LoadStore2RegisterImmediateOpTester( 589 : LoadStore2RegisterImm12OpTester(
590 state_.Load2RegisterImmediateOp_Ldrh_Rule_75_A1_P154_instance_) 590 state_.Load2RegisterImm12Op_Ldrb_Rule_63_A1_P130_instance_)
591 {} 591 {}
592 }; 592 };
593 593
594 class Load2RegisterImmediateOpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc 594 class Load2RegisterImm8DoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc
595 : public LoadStore2RegisterImmediateOpTesterNotRnIsPc { 595 : public LoadStore2RegisterImm8DoubleOpTesterNotRnIsPc {
596 public: 596 public:
597 Load2RegisterImmediateOpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc() 597 Load2RegisterImm8DoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc()
598 : LoadStore2RegisterImmediateOpTesterNotRnIsPc( 598 : LoadStore2RegisterImm8DoubleOpTesterNotRnIsPc(
599 state_.Load2RegisterImmediateOp_Ldrsb_Rule_78_A1_P160_instance_) 599 state_.Load2RegisterImm8DoubleOp_Ldrd_Rule_66_A1_P136_instance_)
600 {} 600 {}
601 }; 601 };
602 602
603 class Load2RegisterImmediateOpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc 603 class Load2RegisterImm8DoubleOpTester_Ldrd_Rule_67_A1_P138_
604 : public LoadStore2RegisterImmediateOpTesterNotRnIsPc { 604 : public LoadStore2RegisterImm8DoubleOpTester {
605 public: 605 public:
606 Load2RegisterImmediateOpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc() 606 Load2RegisterImm8DoubleOpTester_Ldrd_Rule_67_A1_P138_()
607 : LoadStore2RegisterImmediateOpTesterNotRnIsPc( 607 : LoadStore2RegisterImm8DoubleOpTester(
608 state_.Load2RegisterImmediateOp_Ldrsh_Rule_82_A1_P168_instance_) 608 state_.Load2RegisterImm8DoubleOp_Ldrd_Rule_67_A1_P138_instance_)
609 {} 609 {}
610 }; 610 };
611 611
612 class Load2RegisterImmediateOpTester_Ldrsh_Rule_83_A1_P170_ 612 class Load2RegisterImm8OpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc
613 : public LoadStore2RegisterImmediateOpTester { 613 : public LoadStore2RegisterImm8OpTesterNotRnIsPc {
614 public: 614 public:
615 Load2RegisterImmediateOpTester_Ldrsh_Rule_83_A1_P170_() 615 Load2RegisterImm8OpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc()
616 : LoadStore2RegisterImmediateOpTester( 616 : LoadStore2RegisterImm8OpTesterNotRnIsPc(
617 state_.Load2RegisterImmediateOp_Ldrsh_Rule_83_A1_P170_instance_) 617 state_.Load2RegisterImm8Op_Ldrh_Rule_74_A1_P152_instance_)
618 {} 618 {}
619 }; 619 };
620 620
621 class Load2RegisterImmediateOpTester_ldrsb_Rule_79_A1_162_ 621 class Load2RegisterImm8OpTester_Ldrh_Rule_75_A1_P154_
622 : public LoadStore2RegisterImmediateOpTester { 622 : public LoadStore2RegisterImm8OpTester {
623 public: 623 public:
624 Load2RegisterImmediateOpTester_ldrsb_Rule_79_A1_162_() 624 Load2RegisterImm8OpTester_Ldrh_Rule_75_A1_P154_()
625 : LoadStore2RegisterImmediateOpTester( 625 : LoadStore2RegisterImm8OpTester(
626 state_.Load2RegisterImmediateOp_ldrsb_Rule_79_A1_162_instance_) 626 state_.Load2RegisterImm8Op_Ldrh_Rule_75_A1_P154_instance_)
627 {}
628 };
629
630 class Load2RegisterImm8OpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc
631 : public LoadStore2RegisterImm8OpTesterNotRnIsPc {
632 public:
633 Load2RegisterImm8OpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc()
634 : LoadStore2RegisterImm8OpTesterNotRnIsPc(
635 state_.Load2RegisterImm8Op_Ldrsb_Rule_78_A1_P160_instance_)
636 {}
637 };
638
639 class Load2RegisterImm8OpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc
640 : public LoadStore2RegisterImm8OpTesterNotRnIsPc {
641 public:
642 Load2RegisterImm8OpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc()
643 : LoadStore2RegisterImm8OpTesterNotRnIsPc(
644 state_.Load2RegisterImm8Op_Ldrsh_Rule_82_A1_P168_instance_)
645 {}
646 };
647
648 class Load2RegisterImm8OpTester_Ldrsh_Rule_83_A1_P170_
649 : public LoadStore2RegisterImm8OpTester {
650 public:
651 Load2RegisterImm8OpTester_Ldrsh_Rule_83_A1_P170_()
652 : LoadStore2RegisterImm8OpTester(
653 state_.Load2RegisterImm8Op_Ldrsh_Rule_83_A1_P170_instance_)
654 {}
655 };
656
657 class Load2RegisterImm8OpTester_ldrsb_Rule_79_A1_162_
658 : public LoadStore2RegisterImm8OpTester {
659 public:
660 Load2RegisterImm8OpTester_ldrsb_Rule_79_A1_162_()
661 : LoadStore2RegisterImm8OpTester(
662 state_.Load2RegisterImm8Op_ldrsb_Rule_79_A1_162_instance_)
627 {} 663 {}
628 }; 664 };
629 665
630 class Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140_ 666 class Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140_
631 : public LoadStore3RegisterDoubleOpTester { 667 : public LoadStore3RegisterDoubleOpTester {
632 public: 668 public:
633 Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140_() 669 Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140_()
634 : LoadStore3RegisterDoubleOpTester( 670 : LoadStore3RegisterDoubleOpTester(
635 state_.Load3RegisterDoubleOp_Ldrd_Rule_68_A1_P140_instance_) 671 state_.Load3RegisterDoubleOp_Ldrd_Rule_68_A1_P140_instance_)
636 {} 672 {}
637 }; 673 };
638 674
675 class Load3RegisterImm5OpTester_Ldr_Rule_60_A1_P124_
676 : public LoadStore3RegisterImm5OpTester {
677 public:
678 Load3RegisterImm5OpTester_Ldr_Rule_60_A1_P124_()
679 : LoadStore3RegisterImm5OpTester(
680 state_.Load3RegisterImm5Op_Ldr_Rule_60_A1_P124_instance_)
681 {}
682 };
683
684 class Load3RegisterImm5OpTester_Ldrb_Rule_64_A1_P132_
685 : public LoadStore3RegisterImm5OpTester {
686 public:
687 Load3RegisterImm5OpTester_Ldrb_Rule_64_A1_P132_()
688 : LoadStore3RegisterImm5OpTester(
689 state_.Load3RegisterImm5Op_Ldrb_Rule_64_A1_P132_instance_)
690 {}
691 };
692
639 class Load3RegisterOpTester_Ldrh_Rule_76_A1_P156_ 693 class Load3RegisterOpTester_Ldrh_Rule_76_A1_P156_
640 : public LoadStore3RegisterOpTester { 694 : public LoadStore3RegisterOpTester {
641 public: 695 public:
642 Load3RegisterOpTester_Ldrh_Rule_76_A1_P156_() 696 Load3RegisterOpTester_Ldrh_Rule_76_A1_P156_()
643 : LoadStore3RegisterOpTester( 697 : LoadStore3RegisterOpTester(
644 state_.Load3RegisterOp_Ldrh_Rule_76_A1_P156_instance_) 698 state_.Load3RegisterOp_Ldrh_Rule_76_A1_P156_instance_)
645 {} 699 {}
646 }; 700 };
647 701
648 class Load3RegisterOpTester_Ldrsb_Rule_80_A1_P164_ 702 class Load3RegisterOpTester_Ldrsb_Rule_80_A1_P164_
(...skipping 25 matching lines...) Expand all
674 728
675 class MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454_ 729 class MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454_
676 : public BinaryRegisterImmediateTestTester { 730 : public BinaryRegisterImmediateTestTester {
677 public: 731 public:
678 MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454_() 732 MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454_()
679 : BinaryRegisterImmediateTestTester( 733 : BinaryRegisterImmediateTestTester(
680 state_.MaskedBinaryRegisterImmediateTest_Tst_Rule_230_A1_P454_instance_) 734 state_.MaskedBinaryRegisterImmediateTest_Tst_Rule_230_A1_P454_instance_)
681 {} 735 {}
682 }; 736 };
683 737
684 class Store2RegisterImmediateDoubleOpTester_Strd_Rule_200_A1_P396_ 738 class Store2RegisterImm12OpTester_Str_Rule_194_A1_P384_
685 : public LoadStore2RegisterImmediateDoubleOpTester { 739 : public LoadStore2RegisterImm12OpTester {
686 public: 740 public:
687 Store2RegisterImmediateDoubleOpTester_Strd_Rule_200_A1_P396_() 741 Store2RegisterImm12OpTester_Str_Rule_194_A1_P384_()
688 : LoadStore2RegisterImmediateDoubleOpTester( 742 : LoadStore2RegisterImm12OpTester(
689 state_.Store2RegisterImmediateDoubleOp_Strd_Rule_200_A1_P396_instance_) 743 state_.Store2RegisterImm12Op_Str_Rule_194_A1_P384_instance_)
690 {} 744 {}
691 }; 745 };
692 746
693 class Store2RegisterImmediateOpTester_Strh_Rule_207_A1_P410_ 747 class Store2RegisterImm12OpTester_Strb_Rule_197_A1_P390_
694 : public LoadStore2RegisterImmediateOpTester { 748 : public LoadStore2RegisterImm12OpTester {
695 public: 749 public:
696 Store2RegisterImmediateOpTester_Strh_Rule_207_A1_P410_() 750 Store2RegisterImm12OpTester_Strb_Rule_197_A1_P390_()
697 : LoadStore2RegisterImmediateOpTester( 751 : LoadStore2RegisterImm12OpTester(
698 state_.Store2RegisterImmediateOp_Strh_Rule_207_A1_P410_instance_) 752 state_.Store2RegisterImm12Op_Strb_Rule_197_A1_P390_instance_)
753 {}
754 };
755
756 class Store2RegisterImm8DoubleOpTester_Strd_Rule_200_A1_P396_
757 : public LoadStore2RegisterImm8DoubleOpTester {
758 public:
759 Store2RegisterImm8DoubleOpTester_Strd_Rule_200_A1_P396_()
760 : LoadStore2RegisterImm8DoubleOpTester(
761 state_.Store2RegisterImm8DoubleOp_Strd_Rule_200_A1_P396_instance_)
762 {}
763 };
764
765 class Store2RegisterImm8OpTester_Strh_Rule_207_A1_P410_
766 : public LoadStore2RegisterImm8OpTester {
767 public:
768 Store2RegisterImm8OpTester_Strh_Rule_207_A1_P410_()
769 : LoadStore2RegisterImm8OpTester(
770 state_.Store2RegisterImm8Op_Strh_Rule_207_A1_P410_instance_)
699 {} 771 {}
700 }; 772 };
701 773
702 class Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398_ 774 class Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398_
703 : public LoadStore3RegisterDoubleOpTester { 775 : public LoadStore3RegisterDoubleOpTester {
704 public: 776 public:
705 Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398_() 777 Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398_()
706 : LoadStore3RegisterDoubleOpTester( 778 : LoadStore3RegisterDoubleOpTester(
707 state_.Store3RegisterDoubleOp_Strd_Rule_201_A1_P398_instance_) 779 state_.Store3RegisterDoubleOp_Strd_Rule_201_A1_P398_instance_)
708 {} 780 {}
709 }; 781 };
710 782
783 class Store3RegisterImm5OpTester_Str_Rule_195_A1_P386_
784 : public LoadStore3RegisterImm5OpTester {
785 public:
786 Store3RegisterImm5OpTester_Str_Rule_195_A1_P386_()
787 : LoadStore3RegisterImm5OpTester(
788 state_.Store3RegisterImm5Op_Str_Rule_195_A1_P386_instance_)
789 {}
790 };
791
792 class Store3RegisterImm5OpTester_Strb_Rule_198_A1_P392_
793 : public LoadStore3RegisterImm5OpTester {
794 public:
795 Store3RegisterImm5OpTester_Strb_Rule_198_A1_P392_()
796 : LoadStore3RegisterImm5OpTester(
797 state_.Store3RegisterImm5Op_Strb_Rule_198_A1_P392_instance_)
798 {}
799 };
800
711 class Store3RegisterOpTester_Strh_Rule_208_A1_P412_ 801 class Store3RegisterOpTester_Strh_Rule_208_A1_P412_
712 : public LoadStore3RegisterOpTester { 802 : public LoadStore3RegisterOpTester {
713 public: 803 public:
714 Store3RegisterOpTester_Strh_Rule_208_A1_P412_() 804 Store3RegisterOpTester_Strh_Rule_208_A1_P412_()
715 : LoadStore3RegisterOpTester( 805 : LoadStore3RegisterOpTester(
716 state_.Store3RegisterOp_Strh_Rule_208_A1_P412_instance_) 806 state_.Store3RegisterOp_Strh_Rule_208_A1_P412_instance_)
717 {} 807 {}
718 }; 808 };
719 809
720 class Unary1RegisterBitRangeTester_Bfc_17_A1_P46_ 810 class Unary1RegisterBitRangeTester_Bfc_17_A1_P46_
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
1279 1369
1280 TEST_F(Arm32DecoderStateTests, 1370 TEST_F(Arm32DecoderStateTests,
1281 ForbiddenCondNopTester_Wfi_Rule_412_A1_P810__cccc001100100000111100000000 0011_Test) { 1371 ForbiddenCondNopTester_Wfi_Rule_412_A1_P810__cccc001100100000111100000000 0011_Test) {
1282 ForbiddenCondNopTester_Wfi_Rule_412_A1_P810_ baseline_tester; 1372 ForbiddenCondNopTester_Wfi_Rule_412_A1_P810_ baseline_tester;
1283 NamedForbidden_Wfi_Rule_412_A1_P810 actual; 1373 NamedForbidden_Wfi_Rule_412_A1_P810 actual;
1284 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1374 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1285 a_vs_b_tester.Test("cccc0011001000001111000000000011"); 1375 a_vs_b_tester.Test("cccc0011001000001111000000000011");
1286 } 1376 }
1287 1377
1288 TEST_F(Arm32DecoderStateTests, 1378 TEST_F(Arm32DecoderStateTests,
1289 Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc_cccc0 00pd1w0nnnnttttiiii1101iiii_Test) { 1379 Load2RegisterImm12OpTester_Ldr_Rule_58_A1_P120_NotRnIsPc_cccc010pd0w1nnnn ttttiiiiiiiiiiii_Test) {
1290 Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc baseline_t ester; 1380 Load2RegisterImm12OpTester_Ldr_Rule_58_A1_P120_NotRnIsPc baseline_tester;
1381 NamedLdrImmediate_Ldr_Rule_58_A1_P120 actual;
1382 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1383 a_vs_b_tester.Test("cccc010pd0w1nnnnttttiiiiiiiiiiii");
1384 }
1385
1386 TEST_F(Arm32DecoderStateTests,
1387 Load2RegisterImm12OpTester_Ldr_Rule_59_A1_P122__cccc0101d0011111ttttiiiii iiiiiii_Test) {
1388 Load2RegisterImm12OpTester_Ldr_Rule_59_A1_P122_ baseline_tester;
1389 NamedLdrImmediate_Ldr_Rule_59_A1_P122 actual;
1390 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1391 a_vs_b_tester.Test("cccc0101d0011111ttttiiiiiiiiiiii");
1392 }
1393
1394 TEST_F(Arm32DecoderStateTests,
1395 Load2RegisterImm12OpTester_Ldrb_Rule_62_A1_P128_NotRnIsPc_cccc010pd1w1nnn nttttiiiiiiiiiiii_Test) {
1396 Load2RegisterImm12OpTester_Ldrb_Rule_62_A1_P128_NotRnIsPc baseline_tester;
1397 NamedLdrImmediate_Ldrb_Rule_62_A1_P128 actual;
1398 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1399 a_vs_b_tester.Test("cccc010pd1w1nnnnttttiiiiiiiiiiii");
1400 }
1401
1402 TEST_F(Arm32DecoderStateTests,
1403 Load2RegisterImm12OpTester_Ldrb_Rule_63_A1_P130__cccc0101d1011111ttttiiii iiiiiiii_Test) {
1404 Load2RegisterImm12OpTester_Ldrb_Rule_63_A1_P130_ baseline_tester;
1405 NamedLdrImmediate_Ldrb_Rule_63_A1_P130 actual;
1406 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1407 a_vs_b_tester.Test("cccc0101d1011111ttttiiiiiiiiiiii");
1408 }
1409
1410 TEST_F(Arm32DecoderStateTests,
1411 Load2RegisterImm8DoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc_cccc000pd1 w0nnnnttttiiii1101iiii_Test) {
1412 Load2RegisterImm8DoubleOpTester_Ldrd_Rule_66_A1_P136_NotRnIsPc baseline_tester ;
1291 NamedLdrImmediateDouble_Ldrd_Rule_66_A1_P136 actual; 1413 NamedLdrImmediateDouble_Ldrd_Rule_66_A1_P136 actual;
1292 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1414 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1293 a_vs_b_tester.Test("cccc000pd1w0nnnnttttiiii1101iiii"); 1415 a_vs_b_tester.Test("cccc000pd1w0nnnnttttiiii1101iiii");
1294 } 1416 }
1295 1417
1296 TEST_F(Arm32DecoderStateTests, 1418 TEST_F(Arm32DecoderStateTests,
1297 Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_67_A1_P138__cccc0001d10011 11ttttiiii1101iiii_Test) { 1419 Load2RegisterImm8DoubleOpTester_Ldrd_Rule_67_A1_P138__cccc0001d1001111ttt tiiii1101iiii_Test) {
1298 Load2RegisterImmediateDoubleOpTester_Ldrd_Rule_67_A1_P138_ baseline_tester; 1420 Load2RegisterImm8DoubleOpTester_Ldrd_Rule_67_A1_P138_ baseline_tester;
1299 NamedLdrImmediateDouble_Ldrd_Rule_67_A1_P138 actual; 1421 NamedLdrImmediateDouble_Ldrd_Rule_67_A1_P138 actual;
1300 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1422 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1301 a_vs_b_tester.Test("cccc0001d1001111ttttiiii1101iiii"); 1423 a_vs_b_tester.Test("cccc0001d1001111ttttiiii1101iiii");
1302 } 1424 }
1303 1425
1304 TEST_F(Arm32DecoderStateTests, 1426 TEST_F(Arm32DecoderStateTests,
1305 Load2RegisterImmediateOpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc_cccc000pd1w 1nnnnttttiiii1011iiii_Test) { 1427 Load2RegisterImm8OpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc_cccc000pd1w1nnnn ttttiiii1011iiii_Test) {
1306 Load2RegisterImmediateOpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc baseline_tester; 1428 Load2RegisterImm8OpTester_Ldrh_Rule_74_A1_P152_NotRnIsPc baseline_tester;
1307 NamedLdrImmediate_Ldrh_Rule_74_A1_P152 actual; 1429 NamedLdrImmediate_Ldrh_Rule_74_A1_P152 actual;
1308 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1430 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1309 a_vs_b_tester.Test("cccc000pd1w1nnnnttttiiii1011iiii"); 1431 a_vs_b_tester.Test("cccc000pd1w1nnnnttttiiii1011iiii");
1310 } 1432 }
1311 1433
1312 TEST_F(Arm32DecoderStateTests, 1434 TEST_F(Arm32DecoderStateTests,
1313 Load2RegisterImmediateOpTester_Ldrh_Rule_75_A1_P154__cccc0001d1011111tttt iiii1011iiii_Test) { 1435 Load2RegisterImm8OpTester_Ldrh_Rule_75_A1_P154__cccc0001d1011111ttttiiii1 011iiii_Test) {
1314 Load2RegisterImmediateOpTester_Ldrh_Rule_75_A1_P154_ baseline_tester; 1436 Load2RegisterImm8OpTester_Ldrh_Rule_75_A1_P154_ baseline_tester;
1315 NamedLdrImmediate_Ldrh_Rule_75_A1_P154 actual; 1437 NamedLdrImmediate_Ldrh_Rule_75_A1_P154 actual;
1316 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1438 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1317 a_vs_b_tester.Test("cccc0001d1011111ttttiiii1011iiii"); 1439 a_vs_b_tester.Test("cccc0001d1011111ttttiiii1011iiii");
1318 } 1440 }
1319 1441
1320 TEST_F(Arm32DecoderStateTests, 1442 TEST_F(Arm32DecoderStateTests,
1321 Load2RegisterImmediateOpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc_cccc000pd1 w1nnnnttttiiii1101iiii_Test) { 1443 Load2RegisterImm8OpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc_cccc000pd1w1nnn nttttiiii1101iiii_Test) {
1322 Load2RegisterImmediateOpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc baseline_tester ; 1444 Load2RegisterImm8OpTester_Ldrsb_Rule_78_A1_P160_NotRnIsPc baseline_tester;
1323 NamedLdrImmediate_Ldrsb_Rule_78_A1_P160 actual; 1445 NamedLdrImmediate_Ldrsb_Rule_78_A1_P160 actual;
1324 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1446 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1325 a_vs_b_tester.Test("cccc000pd1w1nnnnttttiiii1101iiii"); 1447 a_vs_b_tester.Test("cccc000pd1w1nnnnttttiiii1101iiii");
1326 } 1448 }
1327 1449
1328 TEST_F(Arm32DecoderStateTests, 1450 TEST_F(Arm32DecoderStateTests,
1329 Load2RegisterImmediateOpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc_cccc000pd1 w1nnnnttttiiii1111iiii_Test) { 1451 Load2RegisterImm8OpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc_cccc000pd1w1nnn nttttiiii1111iiii_Test) {
1330 Load2RegisterImmediateOpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc baseline_tester ; 1452 Load2RegisterImm8OpTester_Ldrsh_Rule_82_A1_P168_NotRnIsPc baseline_tester;
1331 NamedLdrImmediate_Ldrsh_Rule_82_A1_P168 actual; 1453 NamedLdrImmediate_Ldrsh_Rule_82_A1_P168 actual;
1332 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1454 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1333 a_vs_b_tester.Test("cccc000pd1w1nnnnttttiiii1111iiii"); 1455 a_vs_b_tester.Test("cccc000pd1w1nnnnttttiiii1111iiii");
1334 } 1456 }
1335 1457
1336 TEST_F(Arm32DecoderStateTests, 1458 TEST_F(Arm32DecoderStateTests,
1337 Load2RegisterImmediateOpTester_Ldrsh_Rule_83_A1_P170__cccc0001d1011111ttt tiiii1111iiii_Test) { 1459 Load2RegisterImm8OpTester_Ldrsh_Rule_83_A1_P170__cccc0001d1011111ttttiiii 1111iiii_Test) {
1338 Load2RegisterImmediateOpTester_Ldrsh_Rule_83_A1_P170_ baseline_tester; 1460 Load2RegisterImm8OpTester_Ldrsh_Rule_83_A1_P170_ baseline_tester;
1339 NamedLdrImmediate_Ldrsh_Rule_83_A1_P170 actual; 1461 NamedLdrImmediate_Ldrsh_Rule_83_A1_P170 actual;
1340 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1462 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1341 a_vs_b_tester.Test("cccc0001d1011111ttttiiii1111iiii"); 1463 a_vs_b_tester.Test("cccc0001d1011111ttttiiii1111iiii");
1342 } 1464 }
1343 1465
1344 TEST_F(Arm32DecoderStateTests, 1466 TEST_F(Arm32DecoderStateTests,
1345 Load2RegisterImmediateOpTester_ldrsb_Rule_79_A1_162__cccc0001d1011111tttt iiii1101iiii_Test) { 1467 Load2RegisterImm8OpTester_ldrsb_Rule_79_A1_162__cccc0001d1011111ttttiiii1 101iiii_Test) {
1346 Load2RegisterImmediateOpTester_ldrsb_Rule_79_A1_162_ baseline_tester; 1468 Load2RegisterImm8OpTester_ldrsb_Rule_79_A1_162_ baseline_tester;
1347 NamedLdrImmediate_ldrsb_Rule_79_A1_162 actual; 1469 NamedLdrImmediate_ldrsb_Rule_79_A1_162 actual;
1348 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1470 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1349 a_vs_b_tester.Test("cccc0001d1011111ttttiiii1101iiii"); 1471 a_vs_b_tester.Test("cccc0001d1011111ttttiiii1101iiii");
1350 } 1472 }
1351 1473
1352 TEST_F(Arm32DecoderStateTests, 1474 TEST_F(Arm32DecoderStateTests,
1353 Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140__cccc000pd0w0nnnntttt000 01101mmmm_Test) { 1475 Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140__cccc000pd0w0nnnntttt000 01101mmmm_Test) {
1354 Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140_ baseline_tester; 1476 Load3RegisterDoubleOpTester_Ldrd_Rule_68_A1_P140_ baseline_tester;
1355 NamedLdrRegisterDouble_Ldrd_Rule_68_A1_P140 actual; 1477 NamedLdrRegisterDouble_Ldrd_Rule_68_A1_P140 actual;
1356 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1478 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1357 a_vs_b_tester.Test("cccc000pd0w0nnnntttt00001101mmmm"); 1479 a_vs_b_tester.Test("cccc000pd0w0nnnntttt00001101mmmm");
1358 } 1480 }
1359 1481
1360 TEST_F(Arm32DecoderStateTests, 1482 TEST_F(Arm32DecoderStateTests,
1483 Load3RegisterImm5OpTester_Ldr_Rule_60_A1_P124__cccc011pd0w1nnnnttttiiiiit t0mmmm_Test) {
1484 Load3RegisterImm5OpTester_Ldr_Rule_60_A1_P124_ baseline_tester;
1485 NamedLdrRegister_Ldr_Rule_60_A1_P124 actual;
1486 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1487 a_vs_b_tester.Test("cccc011pd0w1nnnnttttiiiiitt0mmmm");
1488 }
1489
1490 TEST_F(Arm32DecoderStateTests,
1491 Load3RegisterImm5OpTester_Ldrb_Rule_64_A1_P132__cccc011pd1w1nnnnttttiiiii tt0mmmm_Test) {
1492 Load3RegisterImm5OpTester_Ldrb_Rule_64_A1_P132_ baseline_tester;
1493 NamedLdrRegister_Ldrb_Rule_64_A1_P132 actual;
1494 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1495 a_vs_b_tester.Test("cccc011pd1w1nnnnttttiiiiitt0mmmm");
1496 }
1497
1498 TEST_F(Arm32DecoderStateTests,
1361 Load3RegisterOpTester_Ldrh_Rule_76_A1_P156__cccc000pd0w1nnnntttt00001011m mmm_Test) { 1499 Load3RegisterOpTester_Ldrh_Rule_76_A1_P156__cccc000pd0w1nnnntttt00001011m mmm_Test) {
1362 Load3RegisterOpTester_Ldrh_Rule_76_A1_P156_ baseline_tester; 1500 Load3RegisterOpTester_Ldrh_Rule_76_A1_P156_ baseline_tester;
1363 NamedLdrRegister_Ldrh_Rule_76_A1_P156 actual; 1501 NamedLdrRegister_Ldrh_Rule_76_A1_P156 actual;
1364 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1502 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1365 a_vs_b_tester.Test("cccc000pd0w1nnnntttt00001011mmmm"); 1503 a_vs_b_tester.Test("cccc000pd0w1nnnntttt00001011mmmm");
1366 } 1504 }
1367 1505
1368 TEST_F(Arm32DecoderStateTests, 1506 TEST_F(Arm32DecoderStateTests,
1369 Load3RegisterOpTester_Ldrsb_Rule_80_A1_P164__cccc000pd0w1nnnntttt00001101 mmmm_Test) { 1507 Load3RegisterOpTester_Ldrsb_Rule_80_A1_P164__cccc000pd0w1nnnntttt00001101 mmmm_Test) {
1370 Load3RegisterOpTester_Ldrsb_Rule_80_A1_P164_ baseline_tester; 1508 Load3RegisterOpTester_Ldrsb_Rule_80_A1_P164_ baseline_tester;
(...skipping 20 matching lines...) Expand all
1391 1529
1392 TEST_F(Arm32DecoderStateTests, 1530 TEST_F(Arm32DecoderStateTests,
1393 MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454__cccc0011000 1nnnn0000iiiiiiiiiiii_Test) { 1531 MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454__cccc0011000 1nnnn0000iiiiiiiiiiii_Test) {
1394 MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454_ baseline_tester; 1532 MaskedBinaryRegisterImmediateTestTester_Tst_Rule_230_A1_P454_ baseline_tester;
1395 NamedTestIfAddressMasked_Tst_Rule_230_A1_P454 actual; 1533 NamedTestIfAddressMasked_Tst_Rule_230_A1_P454 actual;
1396 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1534 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1397 a_vs_b_tester.Test("cccc00110001nnnn0000iiiiiiiiiiii"); 1535 a_vs_b_tester.Test("cccc00110001nnnn0000iiiiiiiiiiii");
1398 } 1536 }
1399 1537
1400 TEST_F(Arm32DecoderStateTests, 1538 TEST_F(Arm32DecoderStateTests,
1401 Store2RegisterImmediateDoubleOpTester_Strd_Rule_200_A1_P396__cccc000pd1w0 nnnnttttiiii1111iiii_Test) { 1539 Store2RegisterImm12OpTester_Str_Rule_194_A1_P384__cccc010pd0w0nnnnttttiii iiiiiiiii_Test) {
1402 Store2RegisterImmediateDoubleOpTester_Strd_Rule_200_A1_P396_ baseline_tester; 1540 Store2RegisterImm12OpTester_Str_Rule_194_A1_P384_ baseline_tester;
1541 NamedStrImmediate_Str_Rule_194_A1_P384 actual;
1542 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1543 a_vs_b_tester.Test("cccc010pd0w0nnnnttttiiiiiiiiiiii");
1544 }
1545
1546 TEST_F(Arm32DecoderStateTests,
1547 Store2RegisterImm12OpTester_Strb_Rule_197_A1_P390__cccc010pd1w0nnnnttttii iiiiiiiiii_Test) {
1548 Store2RegisterImm12OpTester_Strb_Rule_197_A1_P390_ baseline_tester;
1549 NamedStrImmediate_Strb_Rule_197_A1_P390 actual;
1550 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1551 a_vs_b_tester.Test("cccc010pd1w0nnnnttttiiiiiiiiiiii");
1552 }
1553
1554 TEST_F(Arm32DecoderStateTests,
1555 Store2RegisterImm8DoubleOpTester_Strd_Rule_200_A1_P396__cccc000pd1w0nnnnt tttiiii1111iiii_Test) {
1556 Store2RegisterImm8DoubleOpTester_Strd_Rule_200_A1_P396_ baseline_tester;
1403 NamedStrImmediateDouble_Strd_Rule_200_A1_P396 actual; 1557 NamedStrImmediateDouble_Strd_Rule_200_A1_P396 actual;
1404 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1558 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1405 a_vs_b_tester.Test("cccc000pd1w0nnnnttttiiii1111iiii"); 1559 a_vs_b_tester.Test("cccc000pd1w0nnnnttttiiii1111iiii");
1406 } 1560 }
1407 1561
1408 TEST_F(Arm32DecoderStateTests, 1562 TEST_F(Arm32DecoderStateTests,
1409 Store2RegisterImmediateOpTester_Strh_Rule_207_A1_P410__cccc000pd1w0nnnntt ttiiii1011iiii_Test) { 1563 Store2RegisterImm8OpTester_Strh_Rule_207_A1_P410__cccc000pd1w0nnnnttttiii i1011iiii_Test) {
1410 Store2RegisterImmediateOpTester_Strh_Rule_207_A1_P410_ baseline_tester; 1564 Store2RegisterImm8OpTester_Strh_Rule_207_A1_P410_ baseline_tester;
1411 NamedStrImmediate_Strh_Rule_207_A1_P410 actual; 1565 NamedStrImmediate_Strh_Rule_207_A1_P410 actual;
1412 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1566 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1413 a_vs_b_tester.Test("cccc000pd1w0nnnnttttiiii1011iiii"); 1567 a_vs_b_tester.Test("cccc000pd1w0nnnnttttiiii1011iiii");
1414 } 1568 }
1415 1569
1416 TEST_F(Arm32DecoderStateTests, 1570 TEST_F(Arm32DecoderStateTests,
1417 Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398__cccc000pd0w0nnnntttt0 0001111mmmm_Test) { 1571 Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398__cccc000pd0w0nnnntttt0 0001111mmmm_Test) {
1418 Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398_ baseline_tester; 1572 Store3RegisterDoubleOpTester_Strd_Rule_201_A1_P398_ baseline_tester;
1419 NamedStrRegisterDouble_Strd_Rule_201_A1_P398 actual; 1573 NamedStrRegisterDouble_Strd_Rule_201_A1_P398 actual;
1420 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1574 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1421 a_vs_b_tester.Test("cccc000pd0w0nnnntttt00001111mmmm"); 1575 a_vs_b_tester.Test("cccc000pd0w0nnnntttt00001111mmmm");
1422 } 1576 }
1423 1577
1424 TEST_F(Arm32DecoderStateTests, 1578 TEST_F(Arm32DecoderStateTests,
1579 Store3RegisterImm5OpTester_Str_Rule_195_A1_P386__cccc011pd0w0nnnnttttiiii itt0mmmm_Test) {
1580 Store3RegisterImm5OpTester_Str_Rule_195_A1_P386_ baseline_tester;
1581 NamedStrRegister_Str_Rule_195_A1_P386 actual;
1582 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1583 a_vs_b_tester.Test("cccc011pd0w0nnnnttttiiiiitt0mmmm");
1584 }
1585
1586 TEST_F(Arm32DecoderStateTests,
1587 Store3RegisterImm5OpTester_Strb_Rule_198_A1_P392__cccc011pd1w0nnnnttttiii iitt0mmmm_Test) {
1588 Store3RegisterImm5OpTester_Strb_Rule_198_A1_P392_ baseline_tester;
1589 NamedStrRegister_Strb_Rule_198_A1_P392 actual;
1590 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1591 a_vs_b_tester.Test("cccc011pd1w0nnnnttttiiiiitt0mmmm");
1592 }
1593
1594 TEST_F(Arm32DecoderStateTests,
1425 Store3RegisterOpTester_Strh_Rule_208_A1_P412__cccc000pd0w0nnnntttt0000101 1mmmm_Test) { 1595 Store3RegisterOpTester_Strh_Rule_208_A1_P412__cccc000pd0w0nnnntttt0000101 1mmmm_Test) {
1426 Store3RegisterOpTester_Strh_Rule_208_A1_P412_ baseline_tester; 1596 Store3RegisterOpTester_Strh_Rule_208_A1_P412_ baseline_tester;
1427 NamedStrRegister_Strh_Rule_208_A1_P412 actual; 1597 NamedStrRegister_Strh_Rule_208_A1_P412 actual;
1428 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 1598 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
1429 a_vs_b_tester.Test("cccc000pd0w0nnnntttt00001011mmmm"); 1599 a_vs_b_tester.Test("cccc000pd0w0nnnntttt00001011mmmm");
1430 } 1600 }
1431 1601
1432 TEST_F(Arm32DecoderStateTests, 1602 TEST_F(Arm32DecoderStateTests,
1433 Unary1RegisterImmediateOpTester_Mov_Rule_96_A2_P_194_RegsNotPc_cccc001100 00iiiiddddIIIIIIIIIIII_Test) { 1603 Unary1RegisterImmediateOpTester_Mov_Rule_96_A2_P_194_RegsNotPc_cccc001100 00iiiiddddIIIIIIIIIIII_Test) {
1434 Unary1RegisterImmediateOpTester_Mov_Rule_96_A2_P_194_RegsNotPc baseline_tester ; 1604 Unary1RegisterImmediateOpTester_Mov_Rule_96_A2_P_194_RegsNotPc baseline_tester ;
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 Unary3RegisterShiftedOpTester_Mvn_Rule_108_A1_P218_RegsNotPc tester; 1692 Unary3RegisterShiftedOpTester_Mvn_Rule_108_A1_P218_RegsNotPc tester;
1523 tester.Test("cccc0001111u0000ddddssss0tt1mmmm"); 1693 tester.Test("cccc0001111u0000ddddssss0tt1mmmm");
1524 } 1694 }
1525 1695
1526 } // namespace nacl_arm_test 1696 } // namespace nacl_arm_test
1527 1697
1528 int main(int argc, char* argv[]) { 1698 int main(int argc, char* argv[]) {
1529 testing::InitGoogleTest(&argc, argv); 1699 testing::InitGoogleTest(&argc, argv);
1530 return RUN_ALL_TESTS(); 1700 return RUN_ALL_TESTS();
1531 } 1701 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698