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

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

Issue 10879090: ARM validator: continue with extra_load_store_instructions. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: "Update test_sp_updates.S and related .nexe and .err files: they were relying on UNDEFINED behavior… Created 8 years, 3 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 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 const NamedClassDecoder& decoder) { 332 const NamedClassDecoder& decoder) {
333 333
334 // Check that row patterns apply to pattern being checked.' 334 // Check that row patterns apply to pattern being checked.'
335 if ((inst.Bits() & 0x03000000) != 0x03000000 /* op(25:20) == ~11xxxx */) retur n false; 335 if ((inst.Bits() & 0x03000000) != 0x03000000 /* op(25:20) == ~11xxxx */) retur n false;
336 336
337 // Check other preconditions defined for the base decoder. 337 // Check other preconditions defined for the base decoder.
338 return BranchImmediate24Tester:: 338 return BranchImmediate24Tester::
339 PassesParsePreconditions(inst, decoder); 339 PassesParsePreconditions(inst, decoder);
340 } 340 }
341 341
342 class UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011
343 : public UnsafeCondNopTester {
344 public:
345 UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011(const NamedClassD ecoder& decoder)
346 : UnsafeCondNopTester(decoder) {}
347 virtual bool PassesParsePreconditions(
348 nacl_arm_dec::Instruction inst,
349 const NamedClassDecoder& decoder);
350
351 };
352
353 bool UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011
354 ::PassesParsePreconditions(
355 nacl_arm_dec::Instruction inst,
356 const NamedClassDecoder& decoder) {
357
358 // Check that row patterns apply to pattern being checked.'
359 if ((inst.Bits() & 0x02000000) != 0x00000000 /* op(25:25) == ~0 */) return fal se;
360 if ((inst.Bits() & 0x01200000) != 0x00200000 /* op1(24:20) == ~0xx1x */) retur n false;
361 if ((inst.Bits() & 0x000000F0) != 0x000000B0 /* op2(7:4) == ~1011 */) return f alse;
362
363 // Check other preconditions defined for the base decoder.
364 return UnsafeCondNopTester::
365 PassesParsePreconditions(inst, decoder);
366 }
367
368 class UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1
369 : public UnsafeCondNopTester {
370 public:
371 UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1(const NamedClassD ecoder& decoder)
372 : UnsafeCondNopTester(decoder) {}
373 virtual bool PassesParsePreconditions(
374 nacl_arm_dec::Instruction inst,
375 const NamedClassDecoder& decoder);
376
377 };
378
379 bool UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1
380 ::PassesParsePreconditions(
381 nacl_arm_dec::Instruction inst,
382 const NamedClassDecoder& decoder) {
383
384 // Check that row patterns apply to pattern being checked.'
385 if ((inst.Bits() & 0x02000000) != 0x00000000 /* op(25:25) == ~0 */) return fal se;
386 if ((inst.Bits() & 0x01200000) != 0x00200000 /* op1(24:20) == ~0xx1x */) retur n false;
387 if ((inst.Bits() & 0x000000D0) != 0x000000D0 /* op2(7:4) == ~11x1 */) return f alse;
388
389 // Check other preconditions defined for the base decoder.
390 return UnsafeCondNopTester::
391 PassesParsePreconditions(inst, decoder);
392 }
393
342 class Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc 394 class Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc
343 : public Unary1RegisterImmediateOpTesterRegsNotPc { 395 : public Unary1RegisterImmediateOpTesterRegsNotPc {
344 public: 396 public:
345 Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc(const Named ClassDecoder& decoder) 397 Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc(const Named ClassDecoder& decoder)
346 : Unary1RegisterImmediateOpTesterRegsNotPc(decoder) {} 398 : Unary1RegisterImmediateOpTesterRegsNotPc(decoder) {}
347 virtual bool PassesParsePreconditions( 399 virtual bool PassesParsePreconditions(
348 nacl_arm_dec::Instruction inst, 400 nacl_arm_dec::Instruction inst,
349 const NamedClassDecoder& decoder); 401 const NamedClassDecoder& decoder);
350 402
351 }; 403 };
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 532
481 // Check that row patterns apply to pattern being checked.' 533 // Check that row patterns apply to pattern being checked.'
482 if ((inst.Bits() & 0x01F00000) != 0x00400000 /* op(24:20) == ~00100 */) return false; 534 if ((inst.Bits() & 0x01F00000) != 0x00400000 /* op(24:20) == ~00100 */) return false;
483 if ((inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) return false; 535 if ((inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) return false;
484 536
485 // Check other preconditions defined for the base decoder. 537 // Check other preconditions defined for the base decoder.
486 return Unary1RegisterImmediateOpTester:: 538 return Unary1RegisterImmediateOpTester::
487 PassesParsePreconditions(inst, decoder); 539 PassesParsePreconditions(inst, decoder);
488 } 540 }
489 541
542 class UnsafeCondNopTesterop_24To20Is00101_Rn_19To16Is1111
543 : public UnsafeCondNopTester {
544 public:
545 UnsafeCondNopTesterop_24To20Is00101_Rn_19To16Is1111(const NamedClassDecoder& d ecoder)
546 : UnsafeCondNopTester(decoder) {}
547 virtual bool PassesParsePreconditions(
548 nacl_arm_dec::Instruction inst,
549 const NamedClassDecoder& decoder);
550
551 };
552
553 bool UnsafeCondNopTesterop_24To20Is00101_Rn_19To16Is1111
554 ::PassesParsePreconditions(
555 nacl_arm_dec::Instruction inst,
556 const NamedClassDecoder& decoder) {
557
558 // Check that row patterns apply to pattern being checked.'
559 if ((inst.Bits() & 0x01F00000) != 0x00500000 /* op(24:20) == ~00101 */) return false;
560 if ((inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) return false;
561
562 // Check other preconditions defined for the base decoder.
563 return UnsafeCondNopTester::
564 PassesParsePreconditions(inst, decoder);
565 }
566
490 class Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS 567 class Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS
491 : public Binary2RegisterImmediateOpTesterNotRdIsPcAndS { 568 : public Binary2RegisterImmediateOpTesterNotRdIsPcAndS {
492 public: 569 public:
493 Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS(const NamedClass Decoder& decoder) 570 Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS(const NamedClass Decoder& decoder)
494 : Binary2RegisterImmediateOpTesterNotRdIsPcAndS(decoder) {} 571 : Binary2RegisterImmediateOpTesterNotRdIsPcAndS(decoder) {}
495 virtual bool PassesParsePreconditions( 572 virtual bool PassesParsePreconditions(
496 nacl_arm_dec::Instruction inst, 573 nacl_arm_dec::Instruction inst,
497 const NamedClassDecoder& decoder); 574 const NamedClassDecoder& decoder);
498 575
499 }; 576 };
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 631
555 // Check that row patterns apply to pattern being checked.' 632 // Check that row patterns apply to pattern being checked.'
556 if ((inst.Bits() & 0x01F00000) != 0x00800000 /* op(24:20) == ~01000 */) return false; 633 if ((inst.Bits() & 0x01F00000) != 0x00800000 /* op(24:20) == ~01000 */) return false;
557 if ((inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) return false; 634 if ((inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) return false;
558 635
559 // Check other preconditions defined for the base decoder. 636 // Check other preconditions defined for the base decoder.
560 return Unary1RegisterImmediateOpTester:: 637 return Unary1RegisterImmediateOpTester::
561 PassesParsePreconditions(inst, decoder); 638 PassesParsePreconditions(inst, decoder);
562 } 639 }
563 640
641 class UnsafeCondNopTesterop_24To20Is01001_Rn_19To16Is1111
642 : public UnsafeCondNopTester {
643 public:
644 UnsafeCondNopTesterop_24To20Is01001_Rn_19To16Is1111(const NamedClassDecoder& d ecoder)
645 : UnsafeCondNopTester(decoder) {}
646 virtual bool PassesParsePreconditions(
647 nacl_arm_dec::Instruction inst,
648 const NamedClassDecoder& decoder);
649
650 };
651
652 bool UnsafeCondNopTesterop_24To20Is01001_Rn_19To16Is1111
653 ::PassesParsePreconditions(
654 nacl_arm_dec::Instruction inst,
655 const NamedClassDecoder& decoder) {
656
657 // Check that row patterns apply to pattern being checked.'
658 if ((inst.Bits() & 0x01F00000) != 0x00900000 /* op(24:20) == ~01001 */) return false;
659 if ((inst.Bits() & 0x000F0000) != 0x000F0000 /* Rn(19:16) == ~1111 */) return false;
660
661 // Check other preconditions defined for the base decoder.
662 return UnsafeCondNopTester::
663 PassesParsePreconditions(inst, decoder);
664 }
665
564 class Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS 666 class Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS
565 : public Binary2RegisterImmediateOpTesterNotRdIsPcAndS { 667 : public Binary2RegisterImmediateOpTesterNotRdIsPcAndS {
566 public: 668 public:
567 Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS(const NamedClass Decoder& decoder) 669 Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS(const NamedClass Decoder& decoder)
568 : Binary2RegisterImmediateOpTesterNotRdIsPcAndS(decoder) {} 670 : Binary2RegisterImmediateOpTesterNotRdIsPcAndS(decoder) {}
569 virtual bool PassesParsePreconditions( 671 virtual bool PassesParsePreconditions(
570 nacl_arm_dec::Instruction inst, 672 nacl_arm_dec::Instruction inst,
571 const NamedClassDecoder& decoder); 673 const NamedClassDecoder& decoder);
572 674
573 }; 675 };
(...skipping 2192 matching lines...) Expand 10 before | Expand all | Expand 10 after
2766 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e; 2868 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
2767 if ((inst.Bits() & 0x00500000) != 0x00000000 /* op1(24:20) == ~xx0x0 */) retur n false; 2869 if ((inst.Bits() & 0x00500000) != 0x00000000 /* op1(24:20) == ~xx0x0 */) retur n false;
2768 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false; 2870 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
2769 if ((inst.Bits() & 0x01700000) == 0x00200000 /* op1_repeated(24:20) == 0x010 * /) return false; 2871 if ((inst.Bits() & 0x01700000) == 0x00200000 /* op1_repeated(24:20) == 0x010 * /) return false;
2770 2872
2771 // Check other preconditions defined for the base decoder. 2873 // Check other preconditions defined for the base decoder.
2772 return LoadStore3RegisterImm5OpTester:: 2874 return LoadStore3RegisterImm5OpTester::
2773 PassesParsePreconditions(inst, decoder); 2875 PassesParsePreconditions(inst, decoder);
2774 } 2876 }
2775 2877
2878 class UnsafeCondNopTesterA_25Is0_op1_24To20Is0x010
2879 : public UnsafeCondNopTester {
2880 public:
2881 UnsafeCondNopTesterA_25Is0_op1_24To20Is0x010(const NamedClassDecoder& decoder)
2882 : UnsafeCondNopTester(decoder) {}
2883 virtual bool PassesParsePreconditions(
2884 nacl_arm_dec::Instruction inst,
2885 const NamedClassDecoder& decoder);
2886
2887 };
2888
2889 bool UnsafeCondNopTesterA_25Is0_op1_24To20Is0x010
2890 ::PassesParsePreconditions(
2891 nacl_arm_dec::Instruction inst,
2892 const NamedClassDecoder& decoder) {
2893
2894 // Check that row patterns apply to pattern being checked.'
2895 if ((inst.Bits() & 0x02000000) != 0x00000000 /* A(25:25) == ~0 */) return fals e;
2896 if ((inst.Bits() & 0x01700000) != 0x00200000 /* op1(24:20) == ~0x010 */) retur n false;
2897
2898 // Check other preconditions defined for the base decoder.
2899 return UnsafeCondNopTester::
2900 PassesParsePreconditions(inst, decoder);
2901 }
2902
2903 class UnsafeCondNopTesterA_25Is1_op1_24To20Is0x010_B_4Is0
2904 : public UnsafeCondNopTester {
2905 public:
2906 UnsafeCondNopTesterA_25Is1_op1_24To20Is0x010_B_4Is0(const NamedClassDecoder& d ecoder)
2907 : UnsafeCondNopTester(decoder) {}
2908 virtual bool PassesParsePreconditions(
2909 nacl_arm_dec::Instruction inst,
2910 const NamedClassDecoder& decoder);
2911
2912 };
2913
2914 bool UnsafeCondNopTesterA_25Is1_op1_24To20Is0x010_B_4Is0
2915 ::PassesParsePreconditions(
2916 nacl_arm_dec::Instruction inst,
2917 const NamedClassDecoder& decoder) {
2918
2919 // Check that row patterns apply to pattern being checked.'
2920 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
2921 if ((inst.Bits() & 0x01700000) != 0x00200000 /* op1(24:20) == ~0x010 */) retur n false;
2922 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
2923
2924 // Check other preconditions defined for the base decoder.
2925 return UnsafeCondNopTester::
2926 PassesParsePreconditions(inst, decoder);
2927 }
2928
2776 class LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x011NotRnIsPc 2929 class LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x011NotRnIsPc
2777 : public LoadStore2RegisterImm12OpTesterNotRnIsPc { 2930 : public LoadStore2RegisterImm12OpTesterNotRnIsPc {
2778 public: 2931 public:
2779 LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x011NotRnIsPc(const NamedClassDecoder& decoder) 2932 LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x011NotRnIsPc(const NamedClassDecoder& decoder)
2780 : LoadStore2RegisterImm12OpTesterNotRnIsPc(decoder) {} 2933 : LoadStore2RegisterImm12OpTesterNotRnIsPc(decoder) {}
2781 virtual bool PassesParsePreconditions( 2934 virtual bool PassesParsePreconditions(
2782 nacl_arm_dec::Instruction inst, 2935 nacl_arm_dec::Instruction inst,
2783 const NamedClassDecoder& decoder); 2936 const NamedClassDecoder& decoder);
2784 2937
2785 }; 2938 };
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
2847 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e; 3000 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
2848 if ((inst.Bits() & 0x00500000) != 0x00100000 /* op1(24:20) == ~xx0x1 */) retur n false; 3001 if ((inst.Bits() & 0x00500000) != 0x00100000 /* op1(24:20) == ~xx0x1 */) retur n false;
2849 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false; 3002 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
2850 if ((inst.Bits() & 0x01700000) == 0x00300000 /* op1_repeated(24:20) == 0x011 * /) return false; 3003 if ((inst.Bits() & 0x01700000) == 0x00300000 /* op1_repeated(24:20) == 0x011 * /) return false;
2851 3004
2852 // Check other preconditions defined for the base decoder. 3005 // Check other preconditions defined for the base decoder.
2853 return LoadStore3RegisterImm5OpTester:: 3006 return LoadStore3RegisterImm5OpTester::
2854 PassesParsePreconditions(inst, decoder); 3007 PassesParsePreconditions(inst, decoder);
2855 } 3008 }
2856 3009
3010 class UnsafeCondNopTesterA_25Is0_op1_24To20Is0x011
3011 : public UnsafeCondNopTester {
3012 public:
3013 UnsafeCondNopTesterA_25Is0_op1_24To20Is0x011(const NamedClassDecoder& decoder)
3014 : UnsafeCondNopTester(decoder) {}
3015 virtual bool PassesParsePreconditions(
3016 nacl_arm_dec::Instruction inst,
3017 const NamedClassDecoder& decoder);
3018
3019 };
3020
3021 bool UnsafeCondNopTesterA_25Is0_op1_24To20Is0x011
3022 ::PassesParsePreconditions(
3023 nacl_arm_dec::Instruction inst,
3024 const NamedClassDecoder& decoder) {
3025
3026 // Check that row patterns apply to pattern being checked.'
3027 if ((inst.Bits() & 0x02000000) != 0x00000000 /* A(25:25) == ~0 */) return fals e;
3028 if ((inst.Bits() & 0x01700000) != 0x00300000 /* op1(24:20) == ~0x011 */) retur n false;
3029
3030 // Check other preconditions defined for the base decoder.
3031 return UnsafeCondNopTester::
3032 PassesParsePreconditions(inst, decoder);
3033 }
3034
3035 class UnsafeCondNopTesterA_25Is1_op1_24To20Is0x011_B_4Is0
3036 : public UnsafeCondNopTester {
3037 public:
3038 UnsafeCondNopTesterA_25Is1_op1_24To20Is0x011_B_4Is0(const NamedClassDecoder& d ecoder)
3039 : UnsafeCondNopTester(decoder) {}
3040 virtual bool PassesParsePreconditions(
3041 nacl_arm_dec::Instruction inst,
3042 const NamedClassDecoder& decoder);
3043
3044 };
3045
3046 bool UnsafeCondNopTesterA_25Is1_op1_24To20Is0x011_B_4Is0
3047 ::PassesParsePreconditions(
3048 nacl_arm_dec::Instruction inst,
3049 const NamedClassDecoder& decoder) {
3050
3051 // Check that row patterns apply to pattern being checked.'
3052 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
3053 if ((inst.Bits() & 0x01700000) != 0x00300000 /* op1(24:20) == ~0x011 */) retur n false;
3054 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
3055
3056 // Check other preconditions defined for the base decoder.
3057 return UnsafeCondNopTester::
3058 PassesParsePreconditions(inst, decoder);
3059 }
3060
2857 class LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_repeated_2 4To20Is0x110 3061 class LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_repeated_2 4To20Is0x110
2858 : public LoadStore2RegisterImm12OpTester { 3062 : public LoadStore2RegisterImm12OpTester {
2859 public: 3063 public:
2860 LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To2 0Is0x110(const NamedClassDecoder& decoder) 3064 LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To2 0Is0x110(const NamedClassDecoder& decoder)
2861 : LoadStore2RegisterImm12OpTester(decoder) {} 3065 : LoadStore2RegisterImm12OpTester(decoder) {}
2862 virtual bool PassesParsePreconditions( 3066 virtual bool PassesParsePreconditions(
2863 nacl_arm_dec::Instruction inst, 3067 nacl_arm_dec::Instruction inst,
2864 const NamedClassDecoder& decoder); 3068 const NamedClassDecoder& decoder);
2865 3069
2866 }; 3070 };
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2900 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e; 3104 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
2901 if ((inst.Bits() & 0x00500000) != 0x00400000 /* op1(24:20) == ~xx1x0 */) retur n false; 3105 if ((inst.Bits() & 0x00500000) != 0x00400000 /* op1(24:20) == ~xx1x0 */) retur n false;
2902 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false; 3106 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
2903 if ((inst.Bits() & 0x01700000) == 0x00600000 /* op1_repeated(24:20) == 0x110 * /) return false; 3107 if ((inst.Bits() & 0x01700000) == 0x00600000 /* op1_repeated(24:20) == 0x110 * /) return false;
2904 3108
2905 // Check other preconditions defined for the base decoder. 3109 // Check other preconditions defined for the base decoder.
2906 return LoadStore3RegisterImm5OpTester:: 3110 return LoadStore3RegisterImm5OpTester::
2907 PassesParsePreconditions(inst, decoder); 3111 PassesParsePreconditions(inst, decoder);
2908 } 3112 }
2909 3113
3114 class UnsafeCondNopTesterA_25Is0_op1_24To20Is0x110
3115 : public UnsafeCondNopTester {
3116 public:
3117 UnsafeCondNopTesterA_25Is0_op1_24To20Is0x110(const NamedClassDecoder& decoder)
3118 : UnsafeCondNopTester(decoder) {}
3119 virtual bool PassesParsePreconditions(
3120 nacl_arm_dec::Instruction inst,
3121 const NamedClassDecoder& decoder);
3122
3123 };
3124
3125 bool UnsafeCondNopTesterA_25Is0_op1_24To20Is0x110
3126 ::PassesParsePreconditions(
3127 nacl_arm_dec::Instruction inst,
3128 const NamedClassDecoder& decoder) {
3129
3130 // Check that row patterns apply to pattern being checked.'
3131 if ((inst.Bits() & 0x02000000) != 0x00000000 /* A(25:25) == ~0 */) return fals e;
3132 if ((inst.Bits() & 0x01700000) != 0x00600000 /* op1(24:20) == ~0x110 */) retur n false;
3133
3134 // Check other preconditions defined for the base decoder.
3135 return UnsafeCondNopTester::
3136 PassesParsePreconditions(inst, decoder);
3137 }
3138
3139 class UnsafeCondNopTesterA_25Is1_op1_24To20Is0x110_B_4Is0
3140 : public UnsafeCondNopTester {
3141 public:
3142 UnsafeCondNopTesterA_25Is1_op1_24To20Is0x110_B_4Is0(const NamedClassDecoder& d ecoder)
3143 : UnsafeCondNopTester(decoder) {}
3144 virtual bool PassesParsePreconditions(
3145 nacl_arm_dec::Instruction inst,
3146 const NamedClassDecoder& decoder);
3147
3148 };
3149
3150 bool UnsafeCondNopTesterA_25Is1_op1_24To20Is0x110_B_4Is0
3151 ::PassesParsePreconditions(
3152 nacl_arm_dec::Instruction inst,
3153 const NamedClassDecoder& decoder) {
3154
3155 // Check that row patterns apply to pattern being checked.'
3156 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
3157 if ((inst.Bits() & 0x01700000) != 0x00600000 /* op1(24:20) == ~0x110 */) retur n false;
3158 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
3159
3160 // Check other preconditions defined for the base decoder.
3161 return UnsafeCondNopTester::
3162 PassesParsePreconditions(inst, decoder);
3163 }
3164
2910 class LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x111NotRnIsPc 3165 class LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x111NotRnIsPc
2911 : public LoadStore2RegisterImm12OpTesterNotRnIsPc { 3166 : public LoadStore2RegisterImm12OpTesterNotRnIsPc {
2912 public: 3167 public:
2913 LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x111NotRnIsPc(const NamedClassDecoder& decoder) 3168 LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x111NotRnIsPc(const NamedClassDecoder& decoder)
2914 : LoadStore2RegisterImm12OpTesterNotRnIsPc(decoder) {} 3169 : LoadStore2RegisterImm12OpTesterNotRnIsPc(decoder) {}
2915 virtual bool PassesParsePreconditions( 3170 virtual bool PassesParsePreconditions(
2916 nacl_arm_dec::Instruction inst, 3171 nacl_arm_dec::Instruction inst,
2917 const NamedClassDecoder& decoder); 3172 const NamedClassDecoder& decoder);
2918 3173
2919 }; 3174 };
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
2981 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e; 3236 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
2982 if ((inst.Bits() & 0x00500000) != 0x00500000 /* op1(24:20) == ~xx1x1 */) retur n false; 3237 if ((inst.Bits() & 0x00500000) != 0x00500000 /* op1(24:20) == ~xx1x1 */) retur n false;
2983 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false; 3238 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
2984 if ((inst.Bits() & 0x01700000) == 0x00700000 /* op1_repeated(24:20) == 0x111 * /) return false; 3239 if ((inst.Bits() & 0x01700000) == 0x00700000 /* op1_repeated(24:20) == 0x111 * /) return false;
2985 3240
2986 // Check other preconditions defined for the base decoder. 3241 // Check other preconditions defined for the base decoder.
2987 return LoadStore3RegisterImm5OpTester:: 3242 return LoadStore3RegisterImm5OpTester::
2988 PassesParsePreconditions(inst, decoder); 3243 PassesParsePreconditions(inst, decoder);
2989 } 3244 }
2990 3245
3246 class UnsafeCondNopTesterA_25Is0_op1_24To20Is0x111
3247 : public UnsafeCondNopTester {
3248 public:
3249 UnsafeCondNopTesterA_25Is0_op1_24To20Is0x111(const NamedClassDecoder& decoder)
3250 : UnsafeCondNopTester(decoder) {}
3251 virtual bool PassesParsePreconditions(
3252 nacl_arm_dec::Instruction inst,
3253 const NamedClassDecoder& decoder);
3254
3255 };
3256
3257 bool UnsafeCondNopTesterA_25Is0_op1_24To20Is0x111
3258 ::PassesParsePreconditions(
3259 nacl_arm_dec::Instruction inst,
3260 const NamedClassDecoder& decoder) {
3261
3262 // Check that row patterns apply to pattern being checked.'
3263 if ((inst.Bits() & 0x02000000) != 0x00000000 /* A(25:25) == ~0 */) return fals e;
3264 if ((inst.Bits() & 0x01700000) != 0x00700000 /* op1(24:20) == ~0x111 */) retur n false;
3265
3266 // Check other preconditions defined for the base decoder.
3267 return UnsafeCondNopTester::
3268 PassesParsePreconditions(inst, decoder);
3269 }
3270
3271 class UnsafeCondNopTesterA_25Is1_op1_24To20Is0x111_B_4Is0
3272 : public UnsafeCondNopTester {
3273 public:
3274 UnsafeCondNopTesterA_25Is1_op1_24To20Is0x111_B_4Is0(const NamedClassDecoder& d ecoder)
3275 : UnsafeCondNopTester(decoder) {}
3276 virtual bool PassesParsePreconditions(
3277 nacl_arm_dec::Instruction inst,
3278 const NamedClassDecoder& decoder);
3279
3280 };
3281
3282 bool UnsafeCondNopTesterA_25Is1_op1_24To20Is0x111_B_4Is0
3283 ::PassesParsePreconditions(
3284 nacl_arm_dec::Instruction inst,
3285 const NamedClassDecoder& decoder) {
3286
3287 // Check that row patterns apply to pattern being checked.'
3288 if ((inst.Bits() & 0x02000000) != 0x02000000 /* A(25:25) == ~1 */) return fals e;
3289 if ((inst.Bits() & 0x01700000) != 0x00700000 /* op1(24:20) == ~0x111 */) retur n false;
3290 if ((inst.Bits() & 0x00000010) != 0x00000000 /* B(4:4) == ~0 */) return false;
3291
3292 // Check other preconditions defined for the base decoder.
3293 return UnsafeCondNopTester::
3294 PassesParsePreconditions(inst, decoder);
3295 }
3296
2991 class LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_Imm12_11 To0Is000000000100 3297 class LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_Imm12_11 To0Is000000000100
2992 : public LoadStore2RegisterImm12OpTester { 3298 : public LoadStore2RegisterImm12OpTester {
2993 public: 3299 public:
2994 LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_Imm12_11To0I s000000000100(const NamedClassDecoder& decoder) 3300 LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_Imm12_11To0I s000000000100(const NamedClassDecoder& decoder)
2995 : LoadStore2RegisterImm12OpTester(decoder) {} 3301 : LoadStore2RegisterImm12OpTester(decoder) {}
2996 virtual bool PassesParsePreconditions( 3302 virtual bool PassesParsePreconditions(
2997 nacl_arm_dec::Instruction inst, 3303 nacl_arm_dec::Instruction inst,
2998 const NamedClassDecoder& decoder); 3304 const NamedClassDecoder& decoder);
2999 3305
3000 }; 3306 };
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
3185 3491
3186 // Check that row patterns apply to pattern being checked.' 3492 // Check that row patterns apply to pattern being checked.'
3187 if ((inst.Bits() & 0x01E00000) != 0x01E00000 /* op1(24:20) == ~1111x */) retur n false; 3493 if ((inst.Bits() & 0x01E00000) != 0x01E00000 /* op1(24:20) == ~1111x */) retur n false;
3188 if ((inst.Bits() & 0x00000060) != 0x00000040 /* op2(7:5) == ~x10 */) return fa lse; 3494 if ((inst.Bits() & 0x00000060) != 0x00000040 /* op2(7:5) == ~x10 */) return fa lse;
3189 3495
3190 // Check other preconditions defined for the base decoder. 3496 // Check other preconditions defined for the base decoder.
3191 return Binary2RegisterBitRangeNotRnIsPcTester:: 3497 return Binary2RegisterBitRangeNotRnIsPcTester::
3192 PassesParsePreconditions(inst, decoder); 3498 PassesParsePreconditions(inst, decoder);
3193 } 3499 }
3194 3500
3195 class Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0 3501 class UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx0
3502 : public UnsafeCondNopTester {
3503 public:
3504 UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx0(const NamedClassDecoder& decoder)
3505 : UnsafeCondNopTester(decoder) {}
3506 virtual bool PassesParsePreconditions(
3507 nacl_arm_dec::Instruction inst,
3508 const NamedClassDecoder& decoder);
3509
3510 };
3511
3512 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx0
3513 ::PassesParsePreconditions(
3514 nacl_arm_dec::Instruction inst,
3515 const NamedClassDecoder& decoder) {
3516
3517 // Check that row patterns apply to pattern being checked.'
3518 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3519 if ((inst.Bits() & 0x00000200) != 0x00000200 /* B(9:9) == ~1 */) return false;
3520 if ((inst.Bits() & 0x00200000) != 0x00000000 /* op(22:21) == ~x0 */) return fa lse;
3521
3522 // Check other preconditions defined for the base decoder.
3523 return UnsafeCondNopTester::
3524 PassesParsePreconditions(inst, decoder);
3525 }
3526
3527 class UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx1
3528 : public UnsafeCondNopTester {
3529 public:
3530 UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx1(const NamedClassDecoder& decoder)
3531 : UnsafeCondNopTester(decoder) {}
3532 virtual bool PassesParsePreconditions(
3533 nacl_arm_dec::Instruction inst,
3534 const NamedClassDecoder& decoder);
3535
3536 };
3537
3538 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx1
3539 ::PassesParsePreconditions(
3540 nacl_arm_dec::Instruction inst,
3541 const NamedClassDecoder& decoder) {
3542
3543 // Check that row patterns apply to pattern being checked.'
3544 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3545 if ((inst.Bits() & 0x00000200) != 0x00000200 /* B(9:9) == ~1 */) return false;
3546 if ((inst.Bits() & 0x00200000) != 0x00200000 /* op(22:21) == ~x1 */) return fa lse;
3547
3548 // Check other preconditions defined for the base decoder.
3549 return UnsafeCondNopTester::
3550 PassesParsePreconditions(inst, decoder);
3551 }
3552
3553 class Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0
3196 : public Unary1RegisterSetTester { 3554 : public Unary1RegisterSetTester {
3197 public: 3555 public:
3198 Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0(const NamedClassDecoder& de coder) 3556 Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0(const NamedClassDeco der& decoder)
3199 : Unary1RegisterSetTester(decoder) {} 3557 : Unary1RegisterSetTester(decoder) {}
3200 virtual bool PassesParsePreconditions( 3558 virtual bool PassesParsePreconditions(
3201 nacl_arm_dec::Instruction inst, 3559 nacl_arm_dec::Instruction inst,
3202 const NamedClassDecoder& decoder); 3560 const NamedClassDecoder& decoder);
3203 3561
3204 }; 3562 };
3205 3563
3206 bool Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0 3564 bool Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0
3207 ::PassesParsePreconditions( 3565 ::PassesParsePreconditions(
3208 nacl_arm_dec::Instruction inst, 3566 nacl_arm_dec::Instruction inst,
3209 const NamedClassDecoder& decoder) { 3567 const NamedClassDecoder& decoder) {
3210 3568
3211 // Check that row patterns apply to pattern being checked.' 3569 // Check that row patterns apply to pattern being checked.'
3212 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3570 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3571 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3213 if ((inst.Bits() & 0x00200000) != 0x00000000 /* op(22:21) == ~x0 */) return fa lse; 3572 if ((inst.Bits() & 0x00200000) != 0x00000000 /* op(22:21) == ~x0 */) return fa lse;
3214 3573
3215 // Check other preconditions defined for the base decoder. 3574 // Check other preconditions defined for the base decoder.
3216 return Unary1RegisterSetTester:: 3575 return Unary1RegisterSetTester::
3217 PassesParsePreconditions(inst, decoder); 3576 PassesParsePreconditions(inst, decoder);
3218 } 3577 }
3219 3578
3220 class Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00 3579 class Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00
3221 : public Unary1RegisterUseTester { 3580 : public Unary1RegisterUseTester {
3222 public: 3581 public:
3223 Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00(const Name dClassDecoder& decoder) 3582 Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00(con st NamedClassDecoder& decoder)
3224 : Unary1RegisterUseTester(decoder) {} 3583 : Unary1RegisterUseTester(decoder) {}
3225 virtual bool PassesParsePreconditions( 3584 virtual bool PassesParsePreconditions(
3226 nacl_arm_dec::Instruction inst, 3585 nacl_arm_dec::Instruction inst,
3227 const NamedClassDecoder& decoder); 3586 const NamedClassDecoder& decoder);
3228 3587
3229 }; 3588 };
3230 3589
3231 bool Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00 3590 bool Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00
3232 ::PassesParsePreconditions( 3591 ::PassesParsePreconditions(
3233 nacl_arm_dec::Instruction inst, 3592 nacl_arm_dec::Instruction inst,
3234 const NamedClassDecoder& decoder) { 3593 const NamedClassDecoder& decoder) {
3235 3594
3236 // Check that row patterns apply to pattern being checked.' 3595 // Check that row patterns apply to pattern being checked.'
3237 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3596 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3597 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3238 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3598 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3239 if ((inst.Bits() & 0x00030000) != 0x00000000 /* op1(19:16) == ~xx00 */) return false; 3599 if ((inst.Bits() & 0x00030000) != 0x00000000 /* op1(19:16) == ~xx00 */) return false;
3240 3600
3241 // Check other preconditions defined for the base decoder. 3601 // Check other preconditions defined for the base decoder.
3242 return Unary1RegisterUseTester:: 3602 return Unary1RegisterUseTester::
3243 PassesParsePreconditions(inst, decoder); 3603 PassesParsePreconditions(inst, decoder);
3244 } 3604 }
3245 3605
3246 class UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01 3606 class UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01
3247 : public UnsafeCondNopTester { 3607 : public UnsafeCondNopTester {
3248 public: 3608 public:
3249 UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01(const NamedCla ssDecoder& decoder) 3609 UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01(const N amedClassDecoder& decoder)
3250 : UnsafeCondNopTester(decoder) {} 3610 : UnsafeCondNopTester(decoder) {}
3251 virtual bool PassesParsePreconditions( 3611 virtual bool PassesParsePreconditions(
3252 nacl_arm_dec::Instruction inst, 3612 nacl_arm_dec::Instruction inst,
3253 const NamedClassDecoder& decoder); 3613 const NamedClassDecoder& decoder);
3254 3614
3255 }; 3615 };
3256 3616
3257 bool UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01 3617 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01
3258 ::PassesParsePreconditions( 3618 ::PassesParsePreconditions(
3259 nacl_arm_dec::Instruction inst, 3619 nacl_arm_dec::Instruction inst,
3260 const NamedClassDecoder& decoder) { 3620 const NamedClassDecoder& decoder) {
3261 3621
3262 // Check that row patterns apply to pattern being checked.' 3622 // Check that row patterns apply to pattern being checked.'
3263 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3623 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3624 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3264 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3625 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3265 if ((inst.Bits() & 0x00030000) != 0x00010000 /* op1(19:16) == ~xx01 */) return false; 3626 if ((inst.Bits() & 0x00030000) != 0x00010000 /* op1(19:16) == ~xx01 */) return false;
3266 3627
3267 // Check other preconditions defined for the base decoder. 3628 // Check other preconditions defined for the base decoder.
3268 return UnsafeCondNopTester:: 3629 return UnsafeCondNopTester::
3269 PassesParsePreconditions(inst, decoder); 3630 PassesParsePreconditions(inst, decoder);
3270 } 3631 }
3271 3632
3272 class UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x 3633 class UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x
3273 : public UnsafeCondNopTester { 3634 : public UnsafeCondNopTester {
3274 public: 3635 public:
3275 UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x(const NamedCla ssDecoder& decoder) 3636 UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x(const N amedClassDecoder& decoder)
3276 : UnsafeCondNopTester(decoder) {} 3637 : UnsafeCondNopTester(decoder) {}
3277 virtual bool PassesParsePreconditions( 3638 virtual bool PassesParsePreconditions(
3278 nacl_arm_dec::Instruction inst, 3639 nacl_arm_dec::Instruction inst,
3279 const NamedClassDecoder& decoder); 3640 const NamedClassDecoder& decoder);
3280 3641
3281 }; 3642 };
3282 3643
3283 bool UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x 3644 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x
3284 ::PassesParsePreconditions( 3645 ::PassesParsePreconditions(
3285 nacl_arm_dec::Instruction inst, 3646 nacl_arm_dec::Instruction inst,
3286 const NamedClassDecoder& decoder) { 3647 const NamedClassDecoder& decoder) {
3287 3648
3288 // Check that row patterns apply to pattern being checked.' 3649 // Check that row patterns apply to pattern being checked.'
3289 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3650 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3651 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3290 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3652 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3291 if ((inst.Bits() & 0x00020000) != 0x00020000 /* op1(19:16) == ~xx1x */) return false; 3653 if ((inst.Bits() & 0x00020000) != 0x00020000 /* op1(19:16) == ~xx1x */) return false;
3292 3654
3293 // Check other preconditions defined for the base decoder. 3655 // Check other preconditions defined for the base decoder.
3294 return UnsafeCondNopTester:: 3656 return UnsafeCondNopTester::
3295 PassesParsePreconditions(inst, decoder); 3657 PassesParsePreconditions(inst, decoder);
3296 } 3658 }
3297 3659
3298 class UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11 3660 class UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11
3299 : public UnsafeCondNopTester { 3661 : public UnsafeCondNopTester {
3300 public: 3662 public:
3301 UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11(const NamedClassDecoder& decode r) 3663 UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11(const NamedClassDecoder& decoder)
3302 : UnsafeCondNopTester(decoder) {} 3664 : UnsafeCondNopTester(decoder) {}
3303 virtual bool PassesParsePreconditions( 3665 virtual bool PassesParsePreconditions(
3304 nacl_arm_dec::Instruction inst, 3666 nacl_arm_dec::Instruction inst,
3305 const NamedClassDecoder& decoder); 3667 const NamedClassDecoder& decoder);
3306 3668
3307 }; 3669 };
3308 3670
3309 bool UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11 3671 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11
3310 ::PassesParsePreconditions( 3672 ::PassesParsePreconditions(
3311 nacl_arm_dec::Instruction inst, 3673 nacl_arm_dec::Instruction inst,
3312 const NamedClassDecoder& decoder) { 3674 const NamedClassDecoder& decoder) {
3313 3675
3314 // Check that row patterns apply to pattern being checked.' 3676 // Check that row patterns apply to pattern being checked.'
3315 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3677 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3678 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3316 if ((inst.Bits() & 0x00600000) != 0x00600000 /* op(22:21) == ~11 */) return fa lse; 3679 if ((inst.Bits() & 0x00600000) != 0x00600000 /* op(22:21) == ~11 */) return fa lse;
3317 3680
3318 // Check other preconditions defined for the base decoder. 3681 // Check other preconditions defined for the base decoder.
3319 return UnsafeCondNopTester:: 3682 return UnsafeCondNopTester::
3320 PassesParsePreconditions(inst, decoder); 3683 PassesParsePreconditions(inst, decoder);
3321 } 3684 }
3322 3685
3323 class BranchToRegisterTesterop2_6To4Is001_op_22To21Is01 3686 class BranchToRegisterTesterop2_6To4Is001_op_22To21Is01
3324 : public BranchToRegisterTester { 3687 : public BranchToRegisterTester {
3325 public: 3688 public:
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
3413 3776
3414 // Check that row patterns apply to pattern being checked.' 3777 // Check that row patterns apply to pattern being checked.'
3415 if ((inst.Bits() & 0x00000070) != 0x00000030 /* op2(6:4) == ~011 */) return fa lse; 3778 if ((inst.Bits() & 0x00000070) != 0x00000030 /* op2(6:4) == ~011 */) return fa lse;
3416 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3779 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3417 3780
3418 // Check other preconditions defined for the base decoder. 3781 // Check other preconditions defined for the base decoder.
3419 return BranchToRegisterTesterRegsNotPc:: 3782 return BranchToRegisterTesterRegsNotPc::
3420 PassesParsePreconditions(inst, decoder); 3783 PassesParsePreconditions(inst, decoder);
3421 } 3784 }
3422 3785
3786 class UnsafeCondNopTesterop2_6To4Is110_op_22To21Is11
3787 : public UnsafeCondNopTester {
3788 public:
3789 UnsafeCondNopTesterop2_6To4Is110_op_22To21Is11(const NamedClassDecoder& decode r)
3790 : UnsafeCondNopTester(decoder) {}
3791 virtual bool PassesParsePreconditions(
3792 nacl_arm_dec::Instruction inst,
3793 const NamedClassDecoder& decoder);
3794
3795 };
3796
3797 bool UnsafeCondNopTesterop2_6To4Is110_op_22To21Is11
3798 ::PassesParsePreconditions(
3799 nacl_arm_dec::Instruction inst,
3800 const NamedClassDecoder& decoder) {
3801
3802 // Check that row patterns apply to pattern being checked.'
3803 if ((inst.Bits() & 0x00000070) != 0x00000060 /* op2(6:4) == ~110 */) return fa lse;
3804 if ((inst.Bits() & 0x00600000) != 0x00600000 /* op(22:21) == ~11 */) return fa lse;
3805
3806 // Check other preconditions defined for the base decoder.
3807 return UnsafeCondNopTester::
3808 PassesParsePreconditions(inst, decoder);
3809 }
3810
3423 class Immediate16UseTesterop2_6To4Is111_op_22To21Is01 3811 class Immediate16UseTesterop2_6To4Is111_op_22To21Is01
3424 : public Immediate16UseTester { 3812 : public Immediate16UseTester {
3425 public: 3813 public:
3426 Immediate16UseTesterop2_6To4Is111_op_22To21Is01(const NamedClassDecoder& decod er) 3814 Immediate16UseTesterop2_6To4Is111_op_22To21Is01(const NamedClassDecoder& decod er)
3427 : Immediate16UseTester(decoder) {} 3815 : Immediate16UseTester(decoder) {}
3428 virtual bool PassesParsePreconditions( 3816 virtual bool PassesParsePreconditions(
3429 nacl_arm_dec::Instruction inst, 3817 nacl_arm_dec::Instruction inst,
3430 const NamedClassDecoder& decoder); 3818 const NamedClassDecoder& decoder);
3431 3819
3432 }; 3820 };
3433 3821
3434 bool Immediate16UseTesterop2_6To4Is111_op_22To21Is01 3822 bool Immediate16UseTesterop2_6To4Is111_op_22To21Is01
3435 ::PassesParsePreconditions( 3823 ::PassesParsePreconditions(
3436 nacl_arm_dec::Instruction inst, 3824 nacl_arm_dec::Instruction inst,
3437 const NamedClassDecoder& decoder) { 3825 const NamedClassDecoder& decoder) {
3438 3826
3439 // Check that row patterns apply to pattern being checked.' 3827 // Check that row patterns apply to pattern being checked.'
3440 if ((inst.Bits() & 0x00000070) != 0x00000070 /* op2(6:4) == ~111 */) return fa lse; 3828 if ((inst.Bits() & 0x00000070) != 0x00000070 /* op2(6:4) == ~111 */) return fa lse;
3441 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3829 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3442 3830
3443 // Check other preconditions defined for the base decoder. 3831 // Check other preconditions defined for the base decoder.
3444 return Immediate16UseTester:: 3832 return Immediate16UseTester::
3445 PassesParsePreconditions(inst, decoder); 3833 PassesParsePreconditions(inst, decoder);
3446 } 3834 }
3447 3835
3836 class UnsafeCondNopTesterop2_6To4Is111_op_22To21Is10
3837 : public UnsafeCondNopTester {
3838 public:
3839 UnsafeCondNopTesterop2_6To4Is111_op_22To21Is10(const NamedClassDecoder& decode r)
3840 : UnsafeCondNopTester(decoder) {}
3841 virtual bool PassesParsePreconditions(
3842 nacl_arm_dec::Instruction inst,
3843 const NamedClassDecoder& decoder);
3844
3845 };
3846
3847 bool UnsafeCondNopTesterop2_6To4Is111_op_22To21Is10
3848 ::PassesParsePreconditions(
3849 nacl_arm_dec::Instruction inst,
3850 const NamedClassDecoder& decoder) {
3851
3852 // Check that row patterns apply to pattern being checked.'
3853 if ((inst.Bits() & 0x00000070) != 0x00000070 /* op2(6:4) == ~111 */) return fa lse;
3854 if ((inst.Bits() & 0x00600000) != 0x00400000 /* op(22:21) == ~10 */) return fa lse;
3855
3856 // Check other preconditions defined for the base decoder.
3857 return UnsafeCondNopTester::
3858 PassesParsePreconditions(inst, decoder);
3859 }
3860
3448 class UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11 3861 class UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11
3449 : public UnsafeCondNopTester { 3862 : public UnsafeCondNopTester {
3450 public: 3863 public:
3451 UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11(const NamedClassDecoder& decode r) 3864 UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11(const NamedClassDecoder& decode r)
3452 : UnsafeCondNopTester(decoder) {} 3865 : UnsafeCondNopTester(decoder) {}
3453 virtual bool PassesParsePreconditions( 3866 virtual bool PassesParsePreconditions(
3454 nacl_arm_dec::Instruction inst, 3867 nacl_arm_dec::Instruction inst,
3455 const NamedClassDecoder& decoder); 3868 const NamedClassDecoder& decoder);
3456 3869
3457 }; 3870 };
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
3619 // Check that row patterns apply to pattern being checked.' 4032 // Check that row patterns apply to pattern being checked.'
3620 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se; 4033 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se;
3621 if ((inst.Bits() & 0x000F0000) != 0x00000000 /* op1(19:16) == ~0000 */) return false; 4034 if ((inst.Bits() & 0x000F0000) != 0x00000000 /* op1(19:16) == ~0000 */) return false;
3622 if ((inst.Bits() & 0x000000F0) != 0x000000F0 /* op2(7:0) == ~1111xxxx */) retu rn false; 4035 if ((inst.Bits() & 0x000000F0) != 0x000000F0 /* op2(7:0) == ~1111xxxx */) retu rn false;
3623 4036
3624 // Check other preconditions defined for the base decoder. 4037 // Check other preconditions defined for the base decoder.
3625 return CondNopTester:: 4038 return CondNopTester::
3626 PassesParsePreconditions(inst, decoder); 4039 PassesParsePreconditions(inst, decoder);
3627 } 4040 }
3628 4041
4042 class MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100
4043 : public MoveImmediate12ToApsrTester {
4044 public:
4045 MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100(const NamedClassDecoder& decoder)
4046 : MoveImmediate12ToApsrTester(decoder) {}
4047 virtual bool PassesParsePreconditions(
4048 nacl_arm_dec::Instruction inst,
4049 const NamedClassDecoder& decoder);
4050
4051 };
4052
4053 bool MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100
4054 ::PassesParsePreconditions(
4055 nacl_arm_dec::Instruction inst,
4056 const NamedClassDecoder& decoder) {
4057
4058 // Check that row patterns apply to pattern being checked.'
4059 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se;
4060 if ((inst.Bits() & 0x000F0000) != 0x00040000 /* op1(19:16) == ~0100 */) return false;
4061
4062 // Check other preconditions defined for the base decoder.
4063 return MoveImmediate12ToApsrTester::
4064 PassesParsePreconditions(inst, decoder);
4065 }
4066
4067 class MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00
4068 : public MoveImmediate12ToApsrTester {
4069 public:
4070 MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00(const NamedClassDecoder& decoder)
4071 : MoveImmediate12ToApsrTester(decoder) {}
4072 virtual bool PassesParsePreconditions(
4073 nacl_arm_dec::Instruction inst,
4074 const NamedClassDecoder& decoder);
4075
4076 };
4077
4078 bool MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00
4079 ::PassesParsePreconditions(
4080 nacl_arm_dec::Instruction inst,
4081 const NamedClassDecoder& decoder) {
4082
4083 // Check that row patterns apply to pattern being checked.'
4084 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se;
4085 if ((inst.Bits() & 0x000B0000) != 0x00080000 /* op1(19:16) == ~1x00 */) return false;
4086
4087 // Check other preconditions defined for the base decoder.
4088 return MoveImmediate12ToApsrTester::
4089 PassesParsePreconditions(inst, decoder);
4090 }
4091
3629 class UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01 4092 class UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01
3630 : public UnsafeCondNopTester { 4093 : public UnsafeCondNopTester {
3631 public: 4094 public:
3632 UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01(const NamedClassDecoder& decoder) 4095 UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01(const NamedClassDecoder& decoder)
3633 : UnsafeCondNopTester(decoder) {} 4096 : UnsafeCondNopTester(decoder) {}
3634 virtual bool PassesParsePreconditions( 4097 virtual bool PassesParsePreconditions(
3635 nacl_arm_dec::Instruction inst, 4098 nacl_arm_dec::Instruction inst,
3636 const NamedClassDecoder& decoder); 4099 const NamedClassDecoder& decoder);
3637 4100
3638 }; 4101 };
(...skipping 1884 matching lines...) Expand 10 before | Expand all | Expand 10 after
5523 5986
5524 // Check that row patterns apply to pattern being checked.' 5987 // Check that row patterns apply to pattern being checked.'
5525 if ((inst.Bits() & 0x00700000) != 0x00500000 /* op1(22:20) == ~101 */) return false; 5988 if ((inst.Bits() & 0x00700000) != 0x00500000 /* op1(22:20) == ~101 */) return false;
5526 if ((inst.Bits() & 0x000000C0) != 0x000000C0 /* op2(7:5) == ~11x */) return fa lse; 5989 if ((inst.Bits() & 0x000000C0) != 0x000000C0 /* op2(7:5) == ~11x */) return fa lse;
5527 5990
5528 // Check other preconditions defined for the base decoder. 5991 // Check other preconditions defined for the base decoder.
5529 return Binary4RegisterDualOpTesterRegsNotPc:: 5992 return Binary4RegisterDualOpTesterRegsNotPc::
5530 PassesParsePreconditions(inst, decoder); 5993 PassesParsePreconditions(inst, decoder);
5531 } 5994 }
5532 5995
5996 class UnsafeCondNopTesterop_23To20Is0x00
5997 : public UnsafeCondNopTester {
5998 public:
5999 UnsafeCondNopTesterop_23To20Is0x00(const NamedClassDecoder& decoder)
6000 : UnsafeCondNopTester(decoder) {}
6001 virtual bool PassesParsePreconditions(
6002 nacl_arm_dec::Instruction inst,
6003 const NamedClassDecoder& decoder);
6004
6005 };
6006
6007 bool UnsafeCondNopTesterop_23To20Is0x00
6008 ::PassesParsePreconditions(
6009 nacl_arm_dec::Instruction inst,
6010 const NamedClassDecoder& decoder) {
6011
6012 // Check that row patterns apply to pattern being checked.'
6013 if ((inst.Bits() & 0x00B00000) != 0x00000000 /* op(23:20) == ~0x00 */) return false;
6014
6015 // Check other preconditions defined for the base decoder.
6016 return UnsafeCondNopTester::
6017 PassesParsePreconditions(inst, decoder);
6018 }
6019
5533 class StoreExclusive3RegisterOpTesterop_23To20Is1000 6020 class StoreExclusive3RegisterOpTesterop_23To20Is1000
5534 : public StoreExclusive3RegisterOpTester { 6021 : public StoreExclusive3RegisterOpTester {
5535 public: 6022 public:
5536 StoreExclusive3RegisterOpTesterop_23To20Is1000(const NamedClassDecoder& decode r) 6023 StoreExclusive3RegisterOpTesterop_23To20Is1000(const NamedClassDecoder& decode r)
5537 : StoreExclusive3RegisterOpTester(decoder) {} 6024 : StoreExclusive3RegisterOpTester(decoder) {}
5538 virtual bool PassesParsePreconditions( 6025 virtual bool PassesParsePreconditions(
5539 nacl_arm_dec::Instruction inst, 6026 nacl_arm_dec::Instruction inst,
5540 const NamedClassDecoder& decoder); 6027 const NamedClassDecoder& decoder);
5541 6028
5542 }; 6029 };
(...skipping 500 matching lines...) Expand 10 before | Expand all | Expand 10 after
6043 6530
6044 class BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58 6531 class BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58
6045 : public BranchImmediate24Testerop_25To20Is11xxxx { 6532 : public BranchImmediate24Testerop_25To20Is11xxxx {
6046 public: 6533 public:
6047 BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58() 6534 BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58()
6048 : BranchImmediate24Testerop_25To20Is11xxxx( 6535 : BranchImmediate24Testerop_25To20Is11xxxx(
6049 state_.BranchImmediate24_Bl_Blx_Rule_23_A1_P58_instance_) 6536 state_.BranchImmediate24_Bl_Blx_Rule_23_A1_P58_instance_)
6050 {} 6537 {}
6051 }; 6538 };
6052 6539
6540 class ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011_extra_loa d_store_instructions_unpriviledged
6541 : public UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011 {
6542 public:
6543 ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011_extra_load_st ore_instructions_unpriviledged()
6544 : UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011(
6545 state_.ForbiddenCondNop_extra_load_store_instructions_unpriviledged_instan ce_)
6546 {}
6547 };
6548
6549 class ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1_extra_loa d_store_instructions_unpriviledged
6550 : public UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1 {
6551 public:
6552 ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1_extra_load_st ore_instructions_unpriviledged()
6553 : UnsafeCondNopTesterop_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1(
6554 state_.ForbiddenCondNop_extra_load_store_instructions_unpriviledged_instan ce_)
6555 {}
6556 };
6557
6053 class Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_Ru le_96_A2_P194 6558 class Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_Ru le_96_A2_P194
6054 : public Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc { 6559 : public Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc {
6055 public: 6560 public:
6056 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_Rule_9 6_A2_P194() 6561 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_Rule_9 6_A2_P194()
6057 : Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc( 6562 : Unary1RegisterImmediateOpTesterop_25Is1_op1_24To20Is10000RegsNotPc(
6058 state_.Unary1RegisterImmediateOp_Mov_Rule_96_A2_P194_instance_) 6563 state_.Unary1RegisterImmediateOp_Mov_Rule_96_A2_P194_instance_)
6059 {} 6564 {}
6060 }; 6565 };
6061 6566
6062 class Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10100RegsNotPc_Mov_Ru le_99_A1_P200 6567 class Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10100RegsNotPc_Mov_Ru le_99_A1_P200
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
6097 6602
6098 class Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule_ 10_A2_P32 6603 class Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule_ 10_A2_P32
6099 : public Unary1RegisterImmediateOpTesterop_24To20Is00100_Rn_19To16Is1111 { 6604 : public Unary1RegisterImmediateOpTesterop_24To20Is00100_Rn_19To16Is1111 {
6100 public: 6605 public:
6101 Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule_10_A 2_P32() 6606 Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule_10_A 2_P32()
6102 : Unary1RegisterImmediateOpTesterop_24To20Is00100_Rn_19To16Is1111( 6607 : Unary1RegisterImmediateOpTesterop_24To20Is00100_Rn_19To16Is1111(
6103 state_.Unary1RegisterImmediateOp_Adr_Rule_10_A2_P32_instance_) 6608 state_.Unary1RegisterImmediateOp_Adr_Rule_10_A2_P32_instance_)
6104 {} 6609 {}
6105 }; 6610 };
6106 6611
6612 class ForbiddenCondNopTester_op_24To20Is00101_Rn_19To16Is1111_Subs_Pc_Lr_and_rel ated_instructions_Rule_A1a
6613 : public UnsafeCondNopTesterop_24To20Is00101_Rn_19To16Is1111 {
6614 public:
6615 ForbiddenCondNopTester_op_24To20Is00101_Rn_19To16Is1111_Subs_Pc_Lr_and_related _instructions_Rule_A1a()
6616 : UnsafeCondNopTesterop_24To20Is00101_Rn_19To16Is1111(
6617 state_.ForbiddenCondNop_Subs_Pc_Lr_and_related_instructions_Rule_A1a_insta nce_)
6618 {}
6619 };
6620
6107 class Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_14 2_A1_P284 6621 class Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_14 2_A1_P284
6108 : public Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS { 6622 : public Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS {
6109 public: 6623 public:
6110 Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_142_A1 _P284() 6624 Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_142_A1 _P284()
6111 : Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS( 6625 : Binary2RegisterImmediateOpTesterop_24To20Is0011xNotRdIsPcAndS(
6112 state_.Binary2RegisterImmediateOp_Rsb_Rule_142_A1_P284_instance_) 6626 state_.Binary2RegisterImmediateOp_Rsb_Rule_142_A1_P284_instance_)
6113 {} 6627 {}
6114 }; 6628 };
6115 6629
6116 class Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111Neithe rRdIsPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22 6630 class Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111Neithe rRdIsPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22
6117 : public Binary2RegisterImmediateOpTesterop_24To20Is0100x_NotRn_19To16Is1111 NeitherRdIsPcAndSNorRnIsPcAndNotS { 6631 : public Binary2RegisterImmediateOpTesterop_24To20Is0100x_NotRn_19To16Is1111 NeitherRdIsPcAndSNorRnIsPcAndNotS {
6118 public: 6632 public:
6119 Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111NeitherRdI sPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22() 6633 Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111NeitherRdI sPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22()
6120 : Binary2RegisterImmediateOpTesterop_24To20Is0100x_NotRn_19To16Is1111Neither RdIsPcAndSNorRnIsPcAndNotS( 6634 : Binary2RegisterImmediateOpTesterop_24To20Is0100x_NotRn_19To16Is1111Neither RdIsPcAndSNorRnIsPcAndNotS(
6121 state_.Binary2RegisterImmediateOp_Add_Rule_5_A1_P22_instance_) 6635 state_.Binary2RegisterImmediateOp_Add_Rule_5_A1_P22_instance_)
6122 {} 6636 {}
6123 }; 6637 };
6124 6638
6125 class Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule_ 10_A1_P32 6639 class Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule_ 10_A1_P32
6126 : public Unary1RegisterImmediateOpTesterop_24To20Is01000_Rn_19To16Is1111 { 6640 : public Unary1RegisterImmediateOpTesterop_24To20Is01000_Rn_19To16Is1111 {
6127 public: 6641 public:
6128 Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule_10_A 1_P32() 6642 Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule_10_A 1_P32()
6129 : Unary1RegisterImmediateOpTesterop_24To20Is01000_Rn_19To16Is1111( 6643 : Unary1RegisterImmediateOpTesterop_24To20Is01000_Rn_19To16Is1111(
6130 state_.Unary1RegisterImmediateOp_Adr_Rule_10_A1_P32_instance_) 6644 state_.Unary1RegisterImmediateOp_Adr_Rule_10_A1_P32_instance_)
6131 {} 6645 {}
6132 }; 6646 };
6133 6647
6648 class ForbiddenCondNopTester_op_24To20Is01001_Rn_19To16Is1111_Subs_Pc_Lr_and_rel ated_instructions_Rule_A1b
6649 : public UnsafeCondNopTesterop_24To20Is01001_Rn_19To16Is1111 {
6650 public:
6651 ForbiddenCondNopTester_op_24To20Is01001_Rn_19To16Is1111_Subs_Pc_Lr_and_related _instructions_Rule_A1b()
6652 : UnsafeCondNopTesterop_24To20Is01001_Rn_19To16Is1111(
6653 state_.ForbiddenCondNop_Subs_Pc_Lr_and_related_instructions_Rule_A1b_insta nce_)
6654 {}
6655 };
6656
6134 class Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6_ A1_P14 6657 class Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6_ A1_P14
6135 : public Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS { 6658 : public Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS {
6136 public: 6659 public:
6137 Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6_A1_P 14() 6660 Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6_A1_P 14()
6138 : Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS( 6661 : Binary2RegisterImmediateOpTesterop_24To20Is0101xNotRdIsPcAndS(
6139 state_.Binary2RegisterImmediateOp_Adc_Rule_6_A1_P14_instance_) 6662 state_.Binary2RegisterImmediateOp_Adc_Rule_6_A1_P14_instance_)
6140 {} 6663 {}
6141 }; 6664 };
6142 6665
6143 class Binary2RegisterImmediateOpTester_op_24To20Is0110xNotRdIsPcAndS_Sbc_Rule_15 1_A1_P302 6666 class Binary2RegisterImmediateOpTester_op_24To20Is0110xNotRdIsPcAndS_Sbc_Rule_15 1_A1_P302
(...skipping 790 matching lines...) Expand 10 before | Expand all | Expand 10 after
6934 7457
6935 class Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeate d_24To20Is0x010_Str_Rule_195_A1_P386 7458 class Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeate d_24To20Is0x010_Str_Rule_195_A1_P386
6936 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x0_B_4Is0_Noto p1_repeated_24To20Is0x010 { 7459 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x0_B_4Is0_Noto p1_repeated_24To20Is0x010 {
6937 public: 7460 public:
6938 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeated_24 To20Is0x010_Str_Rule_195_A1_P386() 7461 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeated_24 To20Is0x010_Str_Rule_195_A1_P386()
6939 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repe ated_24To20Is0x010( 7462 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repe ated_24To20Is0x010(
6940 state_.Store3RegisterImm5Op_Str_Rule_195_A1_P386_instance_) 7463 state_.Store3RegisterImm5Op_Str_Rule_195_A1_P386_instance_)
6941 {} 7464 {}
6942 }; 7465 };
6943 7466
7467 class ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x010_Strt_Rule_A1
7468 : public UnsafeCondNopTesterA_25Is0_op1_24To20Is0x010 {
7469 public:
7470 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x010_Strt_Rule_A1()
7471 : UnsafeCondNopTesterA_25Is0_op1_24To20Is0x010(
7472 state_.ForbiddenCondNop_Strt_Rule_A1_instance_)
7473 {}
7474 };
7475
7476 class ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x010_B_4Is0_Strt_Rule_A2
7477 : public UnsafeCondNopTesterA_25Is1_op1_24To20Is0x010_B_4Is0 {
7478 public:
7479 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x010_B_4Is0_Strt_Rule_A2()
7480 : UnsafeCondNopTesterA_25Is1_op1_24To20Is0x010_B_4Is0(
7481 state_.ForbiddenCondNop_Strt_Rule_A2_instance_)
7482 {}
7483 };
7484
6944 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120 7485 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120
6945 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To 16Is1111_Notop1_repeated_24To20Is0x011NotRnIsPc { 7486 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To 16Is1111_Notop1_repeated_24To20Is0x011NotRnIsPc {
6946 public: 7487 public:
6947 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120() 7488 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120()
6948 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x011NotRnIsPc( 7489 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x011NotRnIsPc(
6949 state_.Load2RegisterImm12Op_Ldr_Rule_58_A1_P120_instance_) 7490 state_.Load2RegisterImm12Op_Ldr_Rule_58_A1_P120_instance_)
6950 {} 7491 {}
6951 }; 7492 };
6952 7493
6953 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Notop 1_repeated_24To20Is0x011_Ldr_Rule_59_A1_P122 7494 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Notop 1_repeated_24To20Is0x011_Ldr_Rule_59_A1_P122
6954 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_Rn_19To16I s1111_Notop1_repeated_24To20Is0x011 { 7495 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_Rn_19To16I s1111_Notop1_repeated_24To20Is0x011 {
6955 public: 7496 public:
6956 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x011_Ldr_Rule_59_A1_P122() 7497 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x011_Ldr_Rule_59_A1_P122()
6957 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_N otop1_repeated_24To20Is0x011( 7498 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_N otop1_repeated_24To20Is0x011(
6958 state_.Load2RegisterImm12Op_Ldr_Rule_59_A1_P122_instance_) 7499 state_.Load2RegisterImm12Op_Ldr_Rule_59_A1_P122_instance_)
6959 {} 7500 {}
6960 }; 7501 };
6961 7502
6962 class Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeated _24To20Is0x011_Ldr_Rule_60_A1_P124 7503 class Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeated _24To20Is0x011_Ldr_Rule_60_A1_P124
6963 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x1_B_4Is0_Noto p1_repeated_24To20Is0x011 { 7504 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x1_B_4Is0_Noto p1_repeated_24To20Is0x011 {
6964 public: 7505 public:
6965 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeated_24T o20Is0x011_Ldr_Rule_60_A1_P124() 7506 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeated_24T o20Is0x011_Ldr_Rule_60_A1_P124()
6966 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repe ated_24To20Is0x011( 7507 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repe ated_24To20Is0x011(
6967 state_.Load3RegisterImm5Op_Ldr_Rule_60_A1_P124_instance_) 7508 state_.Load3RegisterImm5Op_Ldr_Rule_60_A1_P124_instance_)
6968 {} 7509 {}
6969 }; 7510 };
6970 7511
7512 class ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x011_Ldrt_Rule_A1
7513 : public UnsafeCondNopTesterA_25Is0_op1_24To20Is0x011 {
7514 public:
7515 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x011_Ldrt_Rule_A1()
7516 : UnsafeCondNopTesterA_25Is0_op1_24To20Is0x011(
7517 state_.ForbiddenCondNop_Ldrt_Rule_A1_instance_)
7518 {}
7519 };
7520
7521 class ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x011_B_4Is0_Ldrt_Rule_A2
7522 : public UnsafeCondNopTesterA_25Is1_op1_24To20Is0x011_B_4Is0 {
7523 public:
7524 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x011_B_4Is0_Ldrt_Rule_A2()
7525 : UnsafeCondNopTesterA_25Is1_op1_24To20Is0x011_B_4Is0(
7526 state_.ForbiddenCondNop_Ldrt_Rule_A2_instance_)
7527 {}
7528 };
7529
6971 class Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To 20Is0x110_Strb_Rule_197_A1_P390 7530 class Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To 20Is0x110_Strb_Rule_197_A1_P390
6972 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_rep eated_24To20Is0x110 { 7531 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_rep eated_24To20Is0x110 {
6973 public: 7532 public:
6974 Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To20Is 0x110_Strb_Rule_197_A1_P390() 7533 Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To20Is 0x110_Strb_Rule_197_A1_P390()
6975 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_repeated_2 4To20Is0x110( 7534 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x0_Notop1_repeated_2 4To20Is0x110(
6976 state_.Store2RegisterImm12Op_Strb_Rule_197_A1_P390_instance_) 7535 state_.Store2RegisterImm12Op_Strb_Rule_197_A1_P390_instance_)
6977 {} 7536 {}
6978 }; 7537 };
6979 7538
6980 class Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeate d_24To20Is0x110_Strb_Rule_198_A1_P392 7539 class Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeate d_24To20Is0x110_Strb_Rule_198_A1_P392
6981 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x0_B_4Is0_Noto p1_repeated_24To20Is0x110 { 7540 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x0_B_4Is0_Noto p1_repeated_24To20Is0x110 {
6982 public: 7541 public:
6983 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeated_24 To20Is0x110_Strb_Rule_198_A1_P392() 7542 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeated_24 To20Is0x110_Strb_Rule_198_A1_P392()
6984 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repe ated_24To20Is0x110( 7543 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repe ated_24To20Is0x110(
6985 state_.Store3RegisterImm5Op_Strb_Rule_198_A1_P392_instance_) 7544 state_.Store3RegisterImm5Op_Strb_Rule_198_A1_P392_instance_)
6986 {} 7545 {}
6987 }; 7546 };
6988 7547
7548 class ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x110_Strtb_Rule_A1
7549 : public UnsafeCondNopTesterA_25Is0_op1_24To20Is0x110 {
7550 public:
7551 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x110_Strtb_Rule_A1()
7552 : UnsafeCondNopTesterA_25Is0_op1_24To20Is0x110(
7553 state_.ForbiddenCondNop_Strtb_Rule_A1_instance_)
7554 {}
7555 };
7556
7557 class ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x110_B_4Is0_Strtb_Rule_A2
7558 : public UnsafeCondNopTesterA_25Is1_op1_24To20Is0x110_B_4Is0 {
7559 public:
7560 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x110_B_4Is0_Strtb_Rule_A2()
7561 : UnsafeCondNopTesterA_25Is1_op1_24To20Is0x110_B_4Is0(
7562 state_.ForbiddenCondNop_Strtb_Rule_A2_instance_)
7563 {}
7564 };
7565
6989 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128 7566 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_No top1_repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128
6990 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To 16Is1111_Notop1_repeated_24To20Is0x111NotRnIsPc { 7567 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To 16Is1111_Notop1_repeated_24To20Is0x111NotRnIsPc {
6991 public: 7568 public:
6992 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128() 7569 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128()
6993 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x111NotRnIsPc( 7570 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is111 1_Notop1_repeated_24To20Is0x111NotRnIsPc(
6994 state_.Load2RegisterImm12Op_Ldrb_Rule_62_A1_P128_instance_) 7571 state_.Load2RegisterImm12Op_Ldrb_Rule_62_A1_P128_instance_)
6995 {} 7572 {}
6996 }; 7573 };
6997 7574
6998 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Notop 1_repeated_24To20Is0x111_Ldrb_Rule_63_A1_P130 7575 class Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Notop 1_repeated_24To20Is0x111_Ldrb_Rule_63_A1_P130
6999 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_Rn_19To16I s1111_Notop1_repeated_24To20Is0x111 { 7576 : public LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_Rn_19To16I s1111_Notop1_repeated_24To20Is0x111 {
7000 public: 7577 public:
7001 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x111_Ldrb_Rule_63_A1_P130() 7578 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x111_Ldrb_Rule_63_A1_P130()
7002 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_N otop1_repeated_24To20Is0x111( 7579 : LoadStore2RegisterImm12OpTesterA_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_N otop1_repeated_24To20Is0x111(
7003 state_.Load2RegisterImm12Op_Ldrb_Rule_63_A1_P130_instance_) 7580 state_.Load2RegisterImm12Op_Ldrb_Rule_63_A1_P130_instance_)
7004 {} 7581 {}
7005 }; 7582 };
7006 7583
7007 class Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeated _24To20Is0x111_Ldrb_Rule_64_A1_P132 7584 class Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeated _24To20Is0x111_Ldrb_Rule_64_A1_P132
7008 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x1_B_4Is0_Noto p1_repeated_24To20Is0x111 { 7585 : public LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x1_B_4Is0_Noto p1_repeated_24To20Is0x111 {
7009 public: 7586 public:
7010 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeated_24T o20Is0x111_Ldrb_Rule_64_A1_P132() 7587 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeated_24T o20Is0x111_Ldrb_Rule_64_A1_P132()
7011 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repe ated_24To20Is0x111( 7588 : LoadStore3RegisterImm5OpTesterA_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repe ated_24To20Is0x111(
7012 state_.Load3RegisterImm5Op_Ldrb_Rule_64_A1_P132_instance_) 7589 state_.Load3RegisterImm5Op_Ldrb_Rule_64_A1_P132_instance_)
7013 {} 7590 {}
7014 }; 7591 };
7015 7592
7593 class ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x111_Ldrtb_Rule_A1
7594 : public UnsafeCondNopTesterA_25Is0_op1_24To20Is0x111 {
7595 public:
7596 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x111_Ldrtb_Rule_A1()
7597 : UnsafeCondNopTesterA_25Is0_op1_24To20Is0x111(
7598 state_.ForbiddenCondNop_Ldrtb_Rule_A1_instance_)
7599 {}
7600 };
7601
7602 class ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x111_B_4Is0_Ldrtb_Rule_A2
7603 : public UnsafeCondNopTesterA_25Is1_op1_24To20Is0x111_B_4Is0 {
7604 public:
7605 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x111_B_4Is0_Ldrtb_Rule_A2()
7606 : UnsafeCondNopTesterA_25Is1_op1_24To20Is0x111_B_4Is0(
7607 state_.ForbiddenCondNop_Ldrtb_Rule_A2_instance_)
7608 {}
7609 };
7610
7016 class Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To16 Is1101_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248 7611 class Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To16 Is1101_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248
7017 : public LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_I mm12_11To0Is000000000100 { 7612 : public LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_I mm12_11To0Is000000000100 {
7018 public: 7613 public:
7019 Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To16Is11 01_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248() 7614 Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To16Is11 01_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248()
7020 : LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_Imm12_11 To0Is000000000100( 7615 : LoadStore2RegisterImm12OpTesterFlags_24To21Is1001_Rn_19To16Is1101_Imm12_11 To0Is000000000100(
7021 state_.Store2RegisterImm12OpRnNotRtOnWriteback_Push_Rule_123_A2_P248_insta nce_) 7616 state_.Store2RegisterImm12OpRnNotRtOnWriteback_Push_Rule_123_A2_P248_insta nce_)
7022 {} 7617 {}
7023 }; 7618 };
7024 7619
7025 class Store2RegisterImm12OpTester_Notcccc010100101101tttt000000000100_Str_Rule_1 94_A1_P384 7620 class Store2RegisterImm12OpTester_Notcccc010100101101tttt000000000100_Str_Rule_1 94_A1_P384
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
7078 7673
7079 class Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubf x_Rule_236_A1_P466 7674 class Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubf x_Rule_236_A1_P466
7080 : public Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx 10 { 7675 : public Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx 10 {
7081 public: 7676 public:
7082 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubfx_Ru le_236_A1_P466() 7677 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubfx_Ru le_236_A1_P466()
7083 : Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx10( 7678 : Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx10(
7084 state_.Binary2RegisterBitRangeNotRnIsPc_Ubfx_Rule_236_A1_P466_instance_) 7679 state_.Binary2RegisterBitRangeNotRnIsPc_Ubfx_Rule_236_A1_P466_instance_)
7085 {} 7680 {}
7086 }; 7681 };
7087 7682
7088 class Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_O r_B6_10 7683 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx0_Msr_Rule_Banked_ register_A1_B9_1990
7089 : public Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0 { 7684 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx0 {
7090 public: 7685 public:
7091 Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_Or_B6 _10() 7686 ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx0_Msr_Rule_Banked_regi ster_A1_B9_1990()
7092 : Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0( 7687 : UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx0(
7688 state_.ForbiddenCondNop_Msr_Rule_Banked_register_A1_B9_1990_instance_)
7689 {}
7690 };
7691
7692 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx1_Msr_Rule_Banked_ register_A1_B9_1992
7693 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx1 {
7694 public:
7695 ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx1_Msr_Rule_Banked_regi ster_A1_B9_1992()
7696 : UnsafeCondNopTesterop2_6To4Is000_B_9Is1_op_22To21Isx1(
7697 state_.ForbiddenCondNop_Msr_Rule_Banked_register_A1_B9_1992_instance_)
7698 {}
7699 };
7700
7701 class Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A1 _P206_Or_B6_10
7702 : public Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0 {
7703 public:
7704 Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A1_P20 6_Or_B6_10()
7705 : Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0(
7093 state_.Unary1RegisterSet_Mrs_Rule_102_A1_P206_Or_B6_10_instance_) 7706 state_.Unary1RegisterSet_Mrs_Rule_102_A1_P206_Or_B6_10_instance_)
7094 {} 7707 {}
7095 }; 7708 };
7096 7709
7097 class Unary1RegisterUseTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx00_Msr_R ule_104_A1_P210 7710 class Unary1RegisterUseTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx0 0_Msr_Rule_104_A1_P210
7098 : public Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00 { 7711 : public Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To1 6Isxx00 {
7099 public: 7712 public:
7100 Unary1RegisterUseTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx00_Msr_Rule_ 104_A1_P210() 7713 Unary1RegisterUseTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00_Ms r_Rule_104_A1_P210()
7101 : Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00( 7714 : Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00 (
7102 state_.Unary1RegisterUse_Msr_Rule_104_A1_P210_instance_) 7715 state_.Unary1RegisterUse_Msr_Rule_104_A1_P210_instance_)
7103 {} 7716 {}
7104 }; 7717 };
7105 7718
7106 class ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx01_Msr_Ru le_B6_1_7_P14 7719 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01 _Msr_Rule_B6_1_7_P14
7107 : public UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01 { 7720 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isx x01 {
7108 public: 7721 public:
7109 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx01_Msr_Rule_B 6_1_7_P14() 7722 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01_Msr _Rule_B6_1_7_P14()
7110 : UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01( 7723 : UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01(
7111 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_) 7724 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_)
7112 {} 7725 {}
7113 }; 7726 };
7114 7727
7115 class ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x_Msr_Ru le_B6_1_7_P14 7728 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x _Msr_Rule_B6_1_7_P14
7116 : public UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x { 7729 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isx x1x {
7117 public: 7730 public:
7118 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x_Msr_Rule_B 6_1_7_P14() 7731 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x_Msr _Rule_B6_1_7_P14()
7119 : UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x( 7732 : UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x(
7120 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_) 7733 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_)
7121 {} 7734 {}
7122 }; 7735 };
7123 7736
7124 class ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is11_Msr_Rule_B6_1_7_P14 7737 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is11_Msr_Rule_B6_1_7_ P14
7125 : public UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11 { 7738 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11 {
7126 public: 7739 public:
7127 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is11_Msr_Rule_B6_1_7_P14() 7740 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is11_Msr_Rule_B6_1_7_P14( )
7128 : UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11( 7741 : UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11(
7129 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_) 7742 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_)
7130 {} 7743 {}
7131 }; 7744 };
7132 7745
7133 class BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62 7746 class BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62
7134 : public BranchToRegisterTesterop2_6To4Is001_op_22To21Is01 { 7747 : public BranchToRegisterTesterop2_6To4Is001_op_22To21Is01 {
7135 public: 7748 public:
7136 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62() 7749 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62()
7137 : BranchToRegisterTesterop2_6To4Is001_op_22To21Is01( 7750 : BranchToRegisterTesterop2_6To4Is001_op_22To21Is01(
7138 state_.BranchToRegister_Bx_Rule_25_A1_P62_instance_) 7751 state_.BranchToRegister_Bx_Rule_25_A1_P62_instance_)
(...skipping 20 matching lines...) Expand all
7159 7772
7160 class BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A1 _P60 7773 class BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A1 _P60
7161 : public BranchToRegisterTesterop2_6To4Is011_op_22To21Is01RegsNotPc { 7774 : public BranchToRegisterTesterop2_6To4Is011_op_22To21Is01RegsNotPc {
7162 public: 7775 public:
7163 BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A1_P60 () 7776 BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A1_P60 ()
7164 : BranchToRegisterTesterop2_6To4Is011_op_22To21Is01RegsNotPc( 7777 : BranchToRegisterTesterop2_6To4Is011_op_22To21Is01RegsNotPc(
7165 state_.BranchToRegister_Blx_Rule_24_A1_P60_instance_) 7778 state_.BranchToRegister_Blx_Rule_24_A1_P60_instance_)
7166 {} 7779 {}
7167 }; 7780 };
7168 7781
7782 class ForbiddenCondNopTester_op2_6To4Is110_op_22To21Is11_Eret_Rule_A1
7783 : public UnsafeCondNopTesterop2_6To4Is110_op_22To21Is11 {
7784 public:
7785 ForbiddenCondNopTester_op2_6To4Is110_op_22To21Is11_Eret_Rule_A1()
7786 : UnsafeCondNopTesterop2_6To4Is110_op_22To21Is11(
7787 state_.ForbiddenCondNop_Eret_Rule_A1_instance_)
7788 {}
7789 };
7790
7169 class BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule_ 22_A1_P56 7791 class BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule_ 22_A1_P56
7170 : public Immediate16UseTesterop2_6To4Is111_op_22To21Is01 { 7792 : public Immediate16UseTesterop2_6To4Is111_op_22To21Is01 {
7171 public: 7793 public:
7172 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule_22_A 1_P56() 7794 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule_22_A 1_P56()
7173 : Immediate16UseTesterop2_6To4Is111_op_22To21Is01( 7795 : Immediate16UseTesterop2_6To4Is111_op_22To21Is01(
7174 state_.BreakPointAndConstantPoolHead_Bkpt_Rule_22_A1_P56_instance_) 7796 state_.BreakPointAndConstantPoolHead_Bkpt_Rule_22_A1_P56_instance_)
7175 {} 7797 {}
7176 }; 7798 };
7177 7799
7800 class ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is10_Hvc_Rule_A1
7801 : public UnsafeCondNopTesterop2_6To4Is111_op_22To21Is10 {
7802 public:
7803 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is10_Hvc_Rule_A1()
7804 : UnsafeCondNopTesterop2_6To4Is111_op_22To21Is10(
7805 state_.ForbiddenCondNop_Hvc_Rule_A1_instance_)
7806 {}
7807 };
7808
7178 class ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18 7809 class ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18
7179 : public UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11 { 7810 : public UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11 {
7180 public: 7811 public:
7181 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18() 7812 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18()
7182 : UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11( 7813 : UnsafeCondNopTesterop2_6To4Is111_op_22To21Is11(
7183 state_.ForbiddenCondNop_Smc_Rule_B6_1_9_P18_instance_) 7814 state_.ForbiddenCondNop_Smc_Rule_B6_1_9_P18_instance_)
7184 {} 7815 {}
7185 }; 7816 };
7186 7817
7187 class CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A1 _P222 7818 class CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A1 _P222
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
7231 7862
7232 class CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_ P88 7863 class CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_ P88
7233 : public CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx { 7864 : public CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx {
7234 public: 7865 public:
7235 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_P88( ) 7866 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_P88( )
7236 : CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx( 7867 : CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx(
7237 state_.CondNop_Dbg_Rule_40_A1_P88_instance_) 7868 state_.CondNop_Dbg_Rule_40_A1_P88_instance_)
7238 {} 7869 {}
7239 }; 7870 };
7240 7871
7872 class MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P208
7873 : public MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100 {
7874 public:
7875 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P208()
7876 : MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100(
7877 state_.MoveImmediate12ToApsr_Msr_Rule_103_A1_P208_instance_)
7878 {}
7879 };
7880
7881 class MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P208
7882 : public MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00 {
7883 public:
7884 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P208()
7885 : MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00(
7886 state_.MoveImmediate12ToApsr_Msr_Rule_103_A1_P208_instance_)
7887 {}
7888 };
7889
7241 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12 7890 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12
7242 : public UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01 { 7891 : public UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01 {
7243 public: 7892 public:
7244 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12() 7893 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12()
7245 : UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01( 7894 : UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01(
7246 state_.ForbiddenCondNop_Msr_Rule_B6_1_6_A1_PB6_12_instance_) 7895 state_.ForbiddenCondNop_Msr_Rule_B6_1_6_A1_PB6_12_instance_)
7247 {} 7896 {}
7248 }; 7897 };
7249 7898
7250 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_12 7899 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_12
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
7915 8564
7916 class Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_R ule_175_P348 8565 class Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_R ule_175_P348
7917 : public Binary4RegisterDualOpTesterop1_22To20Is101_op2_7To5Is11xRegsNotPc { 8566 : public Binary4RegisterDualOpTesterop1_22To20Is101_op2_7To5Is11xRegsNotPc {
7918 public: 8567 public:
7919 Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_Rule_ 175_P348() 8568 Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_Rule_ 175_P348()
7920 : Binary4RegisterDualOpTesterop1_22To20Is101_op2_7To5Is11xRegsNotPc( 8569 : Binary4RegisterDualOpTesterop1_22To20Is101_op2_7To5Is11xRegsNotPc(
7921 state_.Binary4RegisterDualOp_Smmls_Rule_175_P348_instance_) 8570 state_.Binary4RegisterDualOp_Smmls_Rule_175_P348_instance_)
7922 {} 8571 {}
7923 }; 8572 };
7924 8573
8574 class DeprecatedTester_op_23To20Is0x00_Swp_Swpb_Rule_A1
8575 : public UnsafeCondNopTesterop_23To20Is0x00 {
8576 public:
8577 DeprecatedTester_op_23To20Is0x00_Swp_Swpb_Rule_A1()
8578 : UnsafeCondNopTesterop_23To20Is0x00(
8579 state_.Deprecated_Swp_Swpb_Rule_A1_instance_)
8580 {}
8581 };
8582
7925 class StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400 8583 class StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400
7926 : public StoreExclusive3RegisterOpTesterop_23To20Is1000 { 8584 : public StoreExclusive3RegisterOpTesterop_23To20Is1000 {
7927 public: 8585 public:
7928 StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400() 8586 StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400()
7929 : StoreExclusive3RegisterOpTesterop_23To20Is1000( 8587 : StoreExclusive3RegisterOpTesterop_23To20Is1000(
7930 state_.StoreExclusive3RegisterOp_Strex_Rule_202_A1_P400_instance_) 8588 state_.StoreExclusive3RegisterOp_Strex_Rule_202_A1_P400_instance_)
7931 {} 8589 {}
7932 }; 8590 };
7933 8591
7934 class LoadExclusive2RegisterOpTester_op_23To20Is1001_Ldrex_Rule_69_A1_P142 8592 class LoadExclusive2RegisterOpTester_op_23To20Is1001_Ldrex_Rule_69_A1_P142
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
8165 8823
8166 TEST_F(Arm32DecoderStateTests, 8824 TEST_F(Arm32DecoderStateTests,
8167 BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58_cccc1011i iiiiiiiiiiiiiiiiiiiiiii_Test) { 8825 BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58_cccc1011i iiiiiiiiiiiiiiiiiiiiiii_Test) {
8168 BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58 baseline_teste r; 8826 BranchImmediate24Tester_op_25To20Is11xxxx_Bl_Blx_Rule_23_A1_P58 baseline_teste r;
8169 NamedBranch_Bl_Blx_Rule_23_A1_P58 actual; 8827 NamedBranch_Bl_Blx_Rule_23_A1_P58 actual;
8170 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 8828 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8171 a_vs_b_tester.Test("cccc1011iiiiiiiiiiiiiiiiiiiiiiii"); 8829 a_vs_b_tester.Test("cccc1011iiiiiiiiiiiiiiiiiiiiiiii");
8172 } 8830 }
8173 8831
8174 TEST_F(Arm32DecoderStateTests, 8832 TEST_F(Arm32DecoderStateTests,
8833 ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011_extra_lo ad_store_instructions_unpriviledged_cccc0000xx1xxxxxxxxxxxxx1011xxxx_Test) {
8834 ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is1011_extra_load_st ore_instructions_unpriviledged baseline_tester;
8835 NamedForbidden_extra_load_store_instructions_unpriviledged actual;
8836 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8837 a_vs_b_tester.Test("cccc0000xx1xxxxxxxxxxxxx1011xxxx");
8838 }
8839
8840 TEST_F(Arm32DecoderStateTests,
8841 ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1_extra_lo ad_store_instructions_unpriviledged_cccc0000xx1xxxxxxxxxxxxx11x1xxxx_Test) {
8842 ForbiddenCondNopTester_op_25Is0_op1_24To20Is0xx1x_op2_7To4Is11x1_extra_load_st ore_instructions_unpriviledged baseline_tester;
8843 NamedForbidden_extra_load_store_instructions_unpriviledged actual;
8844 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8845 a_vs_b_tester.Test("cccc0000xx1xxxxxxxxxxxxx11x1xxxx");
8846 }
8847
8848 TEST_F(Arm32DecoderStateTests,
8175 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_R ule_96_A2_P194_cccc00110000iiiiddddIIIIIIIIIIII_Test) { 8849 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_R ule_96_A2_P194_cccc00110000iiiiddddIIIIIIIIIIII_Test) {
8176 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_Rule_9 6_A2_P194 baseline_tester; 8850 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10000RegsNotPc_Mov_Rule_9 6_A2_P194 baseline_tester;
8177 NamedDefs12To15_Mov_Rule_96_A2_P194 actual; 8851 NamedDefs12To15_Mov_Rule_96_A2_P194 actual;
8178 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 8852 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8179 a_vs_b_tester.Test("cccc00110000iiiiddddIIIIIIIIIIII"); 8853 a_vs_b_tester.Test("cccc00110000iiiiddddIIIIIIIIIIII");
8180 } 8854 }
8181 8855
8182 TEST_F(Arm32DecoderStateTests, 8856 TEST_F(Arm32DecoderStateTests,
8183 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10100RegsNotPc_Mov_R ule_99_A1_P200_cccc00110100iiiiddddIIIIIIIIIIII_Test) { 8857 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10100RegsNotPc_Mov_R ule_99_A1_P200_cccc00110100iiiiddddIIIIIIIIIIII_Test) {
8184 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10100RegsNotPc_Mov_Rule_9 9_A1_P200 baseline_tester; 8858 Unary1RegisterImmediateOpTester_op_25Is1_op1_24To20Is10100RegsNotPc_Mov_Rule_9 9_A1_P200 baseline_tester;
(...skipping 28 matching lines...) Expand all
8213 8887
8214 TEST_F(Arm32DecoderStateTests, 8888 TEST_F(Arm32DecoderStateTests,
8215 Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule _10_A2_P32_cccc001001001111ddddiiiiiiiiiiii_Test) { 8889 Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule _10_A2_P32_cccc001001001111ddddiiiiiiiiiiii_Test) {
8216 Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule_10_A 2_P32 baseline_tester; 8890 Unary1RegisterImmediateOpTester_op_24To20Is00100_Rn_19To16Is1111_Adr_Rule_10_A 2_P32 baseline_tester;
8217 NamedDefs12To15_Adr_Rule_10_A2_P32 actual; 8891 NamedDefs12To15_Adr_Rule_10_A2_P32 actual;
8218 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 8892 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8219 a_vs_b_tester.Test("cccc001001001111ddddiiiiiiiiiiii"); 8893 a_vs_b_tester.Test("cccc001001001111ddddiiiiiiiiiiii");
8220 } 8894 }
8221 8895
8222 TEST_F(Arm32DecoderStateTests, 8896 TEST_F(Arm32DecoderStateTests,
8897 ForbiddenCondNopTester_op_24To20Is00101_Rn_19To16Is1111_Subs_Pc_Lr_and_re lated_instructions_Rule_A1a_cccc00100101nnnn1111iiiiiiiiiiii_Test) {
8898 ForbiddenCondNopTester_op_24To20Is00101_Rn_19To16Is1111_Subs_Pc_Lr_and_related _instructions_Rule_A1a baseline_tester;
8899 NamedForbidden_Subs_Pc_Lr_and_related_instructions_Rule_A1a actual;
8900 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8901 a_vs_b_tester.Test("cccc00100101nnnn1111iiiiiiiiiiii");
8902 }
8903
8904 TEST_F(Arm32DecoderStateTests,
8223 Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_1 42_A1_P284_cccc0010011snnnnddddiiiiiiiiiiii_Test) { 8905 Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_1 42_A1_P284_cccc0010011snnnnddddiiiiiiiiiiii_Test) {
8224 Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_142_A1 _P284 baseline_tester; 8906 Binary2RegisterImmediateOpTester_op_24To20Is0011xNotRdIsPcAndS_Rsb_Rule_142_A1 _P284 baseline_tester;
8225 NamedDefs12To15_Rsb_Rule_142_A1_P284 actual; 8907 NamedDefs12To15_Rsb_Rule_142_A1_P284 actual;
8226 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 8908 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8227 a_vs_b_tester.Test("cccc0010011snnnnddddiiiiiiiiiiii"); 8909 a_vs_b_tester.Test("cccc0010011snnnnddddiiiiiiiiiiii");
8228 } 8910 }
8229 8911
8230 TEST_F(Arm32DecoderStateTests, 8912 TEST_F(Arm32DecoderStateTests,
8231 Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111Neith erRdIsPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22_cccc0010100snnnnddddiiiiiiiiiiii_ Test) { 8913 Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111Neith erRdIsPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22_cccc0010100snnnnddddiiiiiiiiiiii_ Test) {
8232 Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111NeitherRdI sPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22 baseline_tester; 8914 Binary2RegisterImmediateOpTester_op_24To20Is0100x_NotRn_19To16Is1111NeitherRdI sPcAndSNorRnIsPcAndNotS_Add_Rule_5_A1_P22 baseline_tester;
8233 NamedDefs12To15_Add_Rule_5_A1_P22 actual; 8915 NamedDefs12To15_Add_Rule_5_A1_P22 actual;
8234 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 8916 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8235 a_vs_b_tester.Test("cccc0010100snnnnddddiiiiiiiiiiii"); 8917 a_vs_b_tester.Test("cccc0010100snnnnddddiiiiiiiiiiii");
8236 } 8918 }
8237 8919
8238 TEST_F(Arm32DecoderStateTests, 8920 TEST_F(Arm32DecoderStateTests,
8239 Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule _10_A1_P32_cccc001010001111ddddiiiiiiiiiiii_Test) { 8921 Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule _10_A1_P32_cccc001010001111ddddiiiiiiiiiiii_Test) {
8240 Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule_10_A 1_P32 baseline_tester; 8922 Unary1RegisterImmediateOpTester_op_24To20Is01000_Rn_19To16Is1111_Adr_Rule_10_A 1_P32 baseline_tester;
8241 NamedDefs12To15_Adr_Rule_10_A1_P32 actual; 8923 NamedDefs12To15_Adr_Rule_10_A1_P32 actual;
8242 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 8924 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8243 a_vs_b_tester.Test("cccc001010001111ddddiiiiiiiiiiii"); 8925 a_vs_b_tester.Test("cccc001010001111ddddiiiiiiiiiiii");
8244 } 8926 }
8245 8927
8246 TEST_F(Arm32DecoderStateTests, 8928 TEST_F(Arm32DecoderStateTests,
8929 ForbiddenCondNopTester_op_24To20Is01001_Rn_19To16Is1111_Subs_Pc_Lr_and_re lated_instructions_Rule_A1b_cccc00101001nnnn1111iiiiiiiiiiii_Test) {
8930 ForbiddenCondNopTester_op_24To20Is01001_Rn_19To16Is1111_Subs_Pc_Lr_and_related _instructions_Rule_A1b baseline_tester;
8931 NamedForbidden_Subs_Pc_Lr_and_related_instructions_Rule_A1b actual;
8932 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8933 a_vs_b_tester.Test("cccc00101001nnnn1111iiiiiiiiiiii");
8934 }
8935
8936 TEST_F(Arm32DecoderStateTests,
8247 Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6 _A1_P14_cccc0010101snnnnddddiiiiiiiiiiii_Test) { 8937 Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6 _A1_P14_cccc0010101snnnnddddiiiiiiiiiiii_Test) {
8248 Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6_A1_P 14 baseline_tester; 8938 Binary2RegisterImmediateOpTester_op_24To20Is0101xNotRdIsPcAndS_Adc_Rule_6_A1_P 14 baseline_tester;
8249 NamedDefs12To15_Adc_Rule_6_A1_P14 actual; 8939 NamedDefs12To15_Adc_Rule_6_A1_P14 actual;
8250 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 8940 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8251 a_vs_b_tester.Test("cccc0010101snnnnddddiiiiiiiiiiii"); 8941 a_vs_b_tester.Test("cccc0010101snnnnddddiiiiiiiiiiii");
8252 } 8942 }
8253 8943
8254 TEST_F(Arm32DecoderStateTests, 8944 TEST_F(Arm32DecoderStateTests,
8255 Binary2RegisterImmediateOpTester_op_24To20Is0110xNotRdIsPcAndS_Sbc_Rule_1 51_A1_P302_cccc0010110snnnnddddiiiiiiiiiiii_Test) { 8945 Binary2RegisterImmediateOpTester_op_24To20Is0110xNotRdIsPcAndS_Sbc_Rule_1 51_A1_P302_cccc0010110snnnnddddiiiiiiiiiiii_Test) {
8256 Binary2RegisterImmediateOpTester_op_24To20Is0110xNotRdIsPcAndS_Sbc_Rule_151_A1 _P302 baseline_tester; 8946 Binary2RegisterImmediateOpTester_op_24To20Is0110xNotRdIsPcAndS_Sbc_Rule_151_A1 _P302 baseline_tester;
(...skipping 680 matching lines...) Expand 10 before | Expand all | Expand 10 after
8937 9627
8938 TEST_F(Arm32DecoderStateTests, 9628 TEST_F(Arm32DecoderStateTests,
8939 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeat ed_24To20Is0x010_Str_Rule_195_A1_P386_cccc011pd0w0nnnnttttiiiiitt0mmmm_Test) { 9629 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeat ed_24To20Is0x010_Str_Rule_195_A1_P386_cccc011pd0w0nnnnttttiiiiitt0mmmm_Test) {
8940 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeated_24 To20Is0x010_Str_Rule_195_A1_P386 baseline_tester; 9630 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x0_B_4Is0_Notop1_repeated_24 To20Is0x010_Str_Rule_195_A1_P386 baseline_tester;
8941 NamedStoreBasedOffsetMemory_Str_Rule_195_A1_P386 actual; 9631 NamedStoreBasedOffsetMemory_Str_Rule_195_A1_P386 actual;
8942 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9632 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8943 a_vs_b_tester.Test("cccc011pd0w0nnnnttttiiiiitt0mmmm"); 9633 a_vs_b_tester.Test("cccc011pd0w0nnnnttttiiiiitt0mmmm");
8944 } 9634 }
8945 9635
8946 TEST_F(Arm32DecoderStateTests, 9636 TEST_F(Arm32DecoderStateTests,
8947 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_N otop1_repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120_cccc010pd0w1nnnnttttii iiiiiiiiii_Test) { 9637 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x010_Strt_Rule_A1_cccc0100u01 0nnnnttttiiiiiiiiiiii_Test) {
9638 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x010_Strt_Rule_A1 baseline_tester;
9639 NamedForbidden_Strt_Rule_A1 actual;
9640 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9641 a_vs_b_tester.Test("cccc0100u010nnnnttttiiiiiiiiiiii");
9642 }
9643
9644 TEST_F(Arm32DecoderStateTests,
9645 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x010_B_4Is0_Strt_Rule_A2_cccc 0110u010nnnnttttiiiiitt0mmmm_Test) {
9646 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x010_B_4Is0_Strt_Rule_A2 baseline_ tester;
9647 NamedForbidden_Strt_Rule_A2 actual;
9648 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9649 a_vs_b_tester.Test("cccc0110u010nnnnttttiiiiitt0mmmm");
9650 }
9651
9652 TEST_F(Arm32DecoderStateTests,
9653 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_N otop1_repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120_cccc010pu0w1nnnnttttii iiiiiiiiii_Test) {
8948 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120 baseline_tester; 9654 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x011NotRnIsPc_Ldr_Rule_58_A1_P120 baseline_tester;
8949 NamedLoadBasedImmedMemory_Ldr_Rule_58_A1_P120 actual; 9655 NamedLoadBasedImmedMemory_Ldr_Rule_58_A1_P120 actual;
8950 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9656 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8951 a_vs_b_tester.Test("cccc010pd0w1nnnnttttiiiiiiiiiiii"); 9657 a_vs_b_tester.Test("cccc010pu0w1nnnnttttiiiiiiiiiiii");
8952 } 9658 }
8953 9659
8954 TEST_F(Arm32DecoderStateTests, 9660 TEST_F(Arm32DecoderStateTests,
8955 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Noto p1_repeated_24To20Is0x011_Ldr_Rule_59_A1_P122_cccc0101d0011111ttttiiiiiiiiiiii_T est) { 9661 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Noto p1_repeated_24To20Is0x011_Ldr_Rule_59_A1_P122_cccc0101u0011111ttttiiiiiiiiiiii_T est) {
8956 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x011_Ldr_Rule_59_A1_P122 baseline_tester; 9662 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx0x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x011_Ldr_Rule_59_A1_P122 baseline_tester;
8957 NamedLoadBasedImmedMemory_Ldr_Rule_59_A1_P122 actual; 9663 NamedLoadBasedImmedMemory_Ldr_Rule_59_A1_P122 actual;
8958 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9664 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8959 a_vs_b_tester.Test("cccc0101d0011111ttttiiiiiiiiiiii"); 9665 a_vs_b_tester.Test("cccc0101u0011111ttttiiiiiiiiiiii");
8960 } 9666 }
8961 9667
8962 TEST_F(Arm32DecoderStateTests, 9668 TEST_F(Arm32DecoderStateTests,
8963 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeate d_24To20Is0x011_Ldr_Rule_60_A1_P124_cccc011pd0w1nnnnttttiiiiitt0mmmm_Test) { 9669 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeate d_24To20Is0x011_Ldr_Rule_60_A1_P124_cccc011pu0w1nnnnttttiiiiitt0mmmm_Test) {
8964 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeated_24T o20Is0x011_Ldr_Rule_60_A1_P124 baseline_tester; 9670 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx0x1_B_4Is0_Notop1_repeated_24T o20Is0x011_Ldr_Rule_60_A1_P124 baseline_tester;
8965 NamedLoadBasedOffsetMemory_Ldr_Rule_60_A1_P124 actual; 9671 NamedLoadBasedOffsetMemory_Ldr_Rule_60_A1_P124 actual;
8966 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9672 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8967 a_vs_b_tester.Test("cccc011pd0w1nnnnttttiiiiitt0mmmm"); 9673 a_vs_b_tester.Test("cccc011pu0w1nnnnttttiiiiitt0mmmm");
8968 } 9674 }
8969 9675
8970 TEST_F(Arm32DecoderStateTests, 9676 TEST_F(Arm32DecoderStateTests,
8971 Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24T o20Is0x110_Strb_Rule_197_A1_P390_cccc010pd1w0nnnnttttiiiiiiiiiiii_Test) { 9677 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x011_Ldrt_Rule_A1_cccc0100u01 1nnnnttttiiiiiiiiiiii_Test) {
9678 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x011_Ldrt_Rule_A1 baseline_tester;
9679 NamedForbidden_Ldrt_Rule_A1 actual;
9680 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9681 a_vs_b_tester.Test("cccc0100u011nnnnttttiiiiiiiiiiii");
9682 }
9683
9684 TEST_F(Arm32DecoderStateTests,
9685 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x011_B_4Is0_Ldrt_Rule_A2_cccc 0110u011nnnnttttiiiiitt0mmmm_Test) {
9686 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x011_B_4Is0_Ldrt_Rule_A2 baseline_ tester;
9687 NamedForbidden_Ldrt_Rule_A2 actual;
9688 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9689 a_vs_b_tester.Test("cccc0110u011nnnnttttiiiiitt0mmmm");
9690 }
9691
9692 TEST_F(Arm32DecoderStateTests,
9693 Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24T o20Is0x110_Strb_Rule_197_A1_P390_cccc010pu1w0nnnnttttiiiiiiiiiiii_Test) {
8972 Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To20Is 0x110_Strb_Rule_197_A1_P390 baseline_tester; 9694 Store2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x0_Notop1_repeated_24To20Is 0x110_Strb_Rule_197_A1_P390 baseline_tester;
8973 NamedStoreBasedImmedMemory_Strb_Rule_197_A1_P390 actual; 9695 NamedStoreBasedImmedMemory_Strb_Rule_197_A1_P390 actual;
8974 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9696 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8975 a_vs_b_tester.Test("cccc010pd1w0nnnnttttiiiiiiiiiiii"); 9697 a_vs_b_tester.Test("cccc010pu1w0nnnnttttiiiiiiiiiiii");
8976 } 9698 }
8977 9699
8978 TEST_F(Arm32DecoderStateTests, 9700 TEST_F(Arm32DecoderStateTests,
8979 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeat ed_24To20Is0x110_Strb_Rule_198_A1_P392_cccc011pd1w0nnnnttttiiiiitt0mmmm_Test) { 9701 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeat ed_24To20Is0x110_Strb_Rule_198_A1_P392_cccc011pu1w0nnnnttttiiiiitt0mmmm_Test) {
8980 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeated_24 To20Is0x110_Strb_Rule_198_A1_P392 baseline_tester; 9702 Store3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x0_B_4Is0_Notop1_repeated_24 To20Is0x110_Strb_Rule_198_A1_P392 baseline_tester;
8981 NamedStoreBasedOffsetMemory_Strb_Rule_198_A1_P392 actual; 9703 NamedStoreBasedOffsetMemory_Strb_Rule_198_A1_P392 actual;
8982 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9704 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8983 a_vs_b_tester.Test("cccc011pd1w0nnnnttttiiiiitt0mmmm"); 9705 a_vs_b_tester.Test("cccc011pu1w0nnnnttttiiiiitt0mmmm");
8984 } 9706 }
8985 9707
8986 TEST_F(Arm32DecoderStateTests, 9708 TEST_F(Arm32DecoderStateTests,
8987 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_N otop1_repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128_cccc010pd1w1nnnntttti iiiiiiiiiii_Test) { 9709 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x110_Strtb_Rule_A1_cccc0100u1 10nnnnttttiiiiiiiiiiii_Test) {
9710 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x110_Strtb_Rule_A1 baseline_tester ;
9711 NamedForbidden_Strtb_Rule_A1 actual;
9712 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9713 a_vs_b_tester.Test("cccc0100u110nnnnttttiiiiiiiiiiii");
9714 }
9715
9716 TEST_F(Arm32DecoderStateTests,
9717 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x110_B_4Is0_Strtb_Rule_A2_ccc c0110u110nnnnttttiiiiitt0mmmm_Test) {
9718 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x110_B_4Is0_Strtb_Rule_A2 baseline _tester;
9719 NamedForbidden_Strtb_Rule_A2 actual;
9720 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9721 a_vs_b_tester.Test("cccc0110u110nnnnttttiiiiitt0mmmm");
9722 }
9723
9724 TEST_F(Arm32DecoderStateTests,
9725 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_N otop1_repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128_cccc010pu1w1nnnntttti iiiiiiiiiii_Test) {
8988 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128 baseline_tester; 9726 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_NotRn_19To16Is1111_Notop1 _repeated_24To20Is0x111NotRnIsPc_Ldrb_Rule_62_A1_P128 baseline_tester;
8989 NamedLoadBasedImmedMemory_Ldrb_Rule_62_A1_P128 actual; 9727 NamedLoadBasedImmedMemory_Ldrb_Rule_62_A1_P128 actual;
8990 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9728 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8991 a_vs_b_tester.Test("cccc010pd1w1nnnnttttiiiiiiiiiiii"); 9729 a_vs_b_tester.Test("cccc010pu1w1nnnnttttiiiiiiiiiiii");
8992 } 9730 }
8993 9731
8994 TEST_F(Arm32DecoderStateTests, 9732 TEST_F(Arm32DecoderStateTests,
8995 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Noto p1_repeated_24To20Is0x111_Ldrb_Rule_63_A1_P130_cccc0101d1011111ttttiiiiiiiiiiii_ Test) { 9733 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Noto p1_repeated_24To20Is0x111_Ldrb_Rule_63_A1_P130_cccc0101u1011111ttttiiiiiiiiiiii_ Test) {
8996 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x111_Ldrb_Rule_63_A1_P130 baseline_tester; 9734 Load2RegisterImm12OpTester_A_25Is0_op1_24To20Isxx1x1_Rn_19To16Is1111_Notop1_re peated_24To20Is0x111_Ldrb_Rule_63_A1_P130 baseline_tester;
8997 NamedLoadBasedImmedMemory_Ldrb_Rule_63_A1_P130 actual; 9735 NamedLoadBasedImmedMemory_Ldrb_Rule_63_A1_P130 actual;
8998 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9736 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
8999 a_vs_b_tester.Test("cccc0101d1011111ttttiiiiiiiiiiii"); 9737 a_vs_b_tester.Test("cccc0101u1011111ttttiiiiiiiiiiii");
9000 } 9738 }
9001 9739
9002 TEST_F(Arm32DecoderStateTests, 9740 TEST_F(Arm32DecoderStateTests,
9003 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeate d_24To20Is0x111_Ldrb_Rule_64_A1_P132_cccc011pd1w1nnnnttttiiiiitt0mmmm_Test) { 9741 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeate d_24To20Is0x111_Ldrb_Rule_64_A1_P132_cccc011pu1w1nnnnttttiiiiitt0mmmm_Test) {
9004 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeated_24T o20Is0x111_Ldrb_Rule_64_A1_P132 baseline_tester; 9742 Load3RegisterImm5OpTester_A_25Is1_op1_24To20Isxx1x1_B_4Is0_Notop1_repeated_24T o20Is0x111_Ldrb_Rule_64_A1_P132 baseline_tester;
9005 NamedLoadBasedOffsetMemory_Ldrb_Rule_64_A1_P132 actual; 9743 NamedLoadBasedOffsetMemory_Ldrb_Rule_64_A1_P132 actual;
9006 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9744 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9007 a_vs_b_tester.Test("cccc011pd1w1nnnnttttiiiiitt0mmmm"); 9745 a_vs_b_tester.Test("cccc011pu1w1nnnnttttiiiiitt0mmmm");
9008 } 9746 }
9009 9747
9010 TEST_F(Arm32DecoderStateTests, 9748 TEST_F(Arm32DecoderStateTests,
9749 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x111_Ldrtb_Rule_A1_cccc0100u1 11nnnnttttiiiiiiiiiiii_Test) {
9750 ForbiddenCondNopTester_A_25Is0_op1_24To20Is0x111_Ldrtb_Rule_A1 baseline_tester ;
9751 NamedForbidden_Ldrtb_Rule_A1 actual;
9752 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9753 a_vs_b_tester.Test("cccc0100u111nnnnttttiiiiiiiiiiii");
9754 }
9755
9756 TEST_F(Arm32DecoderStateTests,
9757 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x111_B_4Is0_Ldrtb_Rule_A2_ccc c0110u111nnnnttttiiiiitt0mmmm_Test) {
9758 ForbiddenCondNopTester_A_25Is1_op1_24To20Is0x111_B_4Is0_Ldrtb_Rule_A2 baseline _tester;
9759 NamedForbidden_Ldrtb_Rule_A2 actual;
9760 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9761 a_vs_b_tester.Test("cccc0110u111nnnnttttiiiiitt0mmmm");
9762 }
9763
9764 TEST_F(Arm32DecoderStateTests,
9011 Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To1 6Is1101_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248_cccc010100101101tttt0000 00000100_Test) { 9765 Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To1 6Is1101_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248_cccc010100101101tttt0000 00000100_Test) {
9012 Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To16Is11 01_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248 tester; 9766 Store2RegisterImm12OpRnNotRtOnWritebackTester_Flags_24To21Is1001_Rn_19To16Is11 01_Imm12_11To0Is000000000100_Push_Rule_123_A2_P248 tester;
9013 tester.Test("cccc010100101101tttt000000000100"); 9767 tester.Test("cccc010100101101tttt000000000100");
9014 } 9768 }
9015 9769
9016 TEST_F(Arm32DecoderStateTests, 9770 TEST_F(Arm32DecoderStateTests,
9017 Store2RegisterImm12OpTester_Notcccc010100101101tttt000000000100_Str_Rule_ 194_A1_P384_cccc010pu0w0nnnnttttiiiiiiiiiiii_Test) { 9771 Store2RegisterImm12OpTester_Notcccc010100101101tttt000000000100_Str_Rule_ 194_A1_P384_cccc010pu0w0nnnnttttiiiiiiiiiiii_Test) {
9018 Store2RegisterImm12OpTester_Notcccc010100101101tttt000000000100_Str_Rule_194_A 1_P384 baseline_tester; 9772 Store2RegisterImm12OpTester_Notcccc010100101101tttt000000000100_Str_Rule_194_A 1_P384 baseline_tester;
9019 NamedStoreBasedImmedMemory_Str_Rule_194_A1_P384 actual; 9773 NamedStoreBasedImmedMemory_Str_Rule_194_A1_P384 actual;
9020 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9774 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
9061 9815
9062 TEST_F(Arm32DecoderStateTests, 9816 TEST_F(Arm32DecoderStateTests,
9063 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ub fx_Rule_236_A1_P466_cccc0111111mmmmmddddlllll101nnnn_Test) { 9817 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ub fx_Rule_236_A1_P466_cccc0111111mmmmmddddlllll101nnnn_Test) {
9064 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubfx_Ru le_236_A1_P466 baseline_tester; 9818 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubfx_Ru le_236_A1_P466 baseline_tester;
9065 NamedDefs12To15CondsDontCareRdRnNotPc_Ubfx_Rule_236_A1_P466 actual; 9819 NamedDefs12To15CondsDontCareRdRnNotPc_Ubfx_Rule_236_A1_P466 actual;
9066 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9820 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9067 a_vs_b_tester.Test("cccc0111111mmmmmddddlllll101nnnn"); 9821 a_vs_b_tester.Test("cccc0111111mmmmmddddlllll101nnnn");
9068 } 9822 }
9069 9823
9070 TEST_F(Arm32DecoderStateTests, 9824 TEST_F(Arm32DecoderStateTests,
9071 Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_ Or_B6_10_cccc00010r001111dddd000000000000_Test) { 9825 ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx0_Msr_Rule_Banked _register_A1_B9_1990_cccc00010r00mmmmdddd001m00000000_Test) {
9072 Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_Or_B6 _10 tester; 9826 ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx0_Msr_Rule_Banked_regi ster_A1_B9_1990 baseline_tester;
9827 NamedForbidden_Msr_Rule_Banked_register_A1_B9_1990 actual;
9828 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9829 a_vs_b_tester.Test("cccc00010r00mmmmdddd001m00000000");
9830 }
9831
9832 TEST_F(Arm32DecoderStateTests,
9833 ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx1_Msr_Rule_Banked _register_A1_B9_1992_cccc00010r10mmmm1111001m0000nnnn_Test) {
9834 ForbiddenCondNopTester_op2_6To4Is000_B_9Is1_op_22To21Isx1_Msr_Rule_Banked_regi ster_A1_B9_1992 baseline_tester;
9835 NamedForbidden_Msr_Rule_Banked_register_A1_B9_1992 actual;
9836 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9837 a_vs_b_tester.Test("cccc00010r10mmmm1111001m0000nnnn");
9838 }
9839
9840 TEST_F(Arm32DecoderStateTests,
9841 Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A 1_P206_Or_B6_10_cccc00010r001111dddd000000000000_Test) {
9842 Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A1_P20 6_Or_B6_10 tester;
9073 tester.Test("cccc00010r001111dddd000000000000"); 9843 tester.Test("cccc00010r001111dddd000000000000");
9074 } 9844 }
9075 9845
9076 TEST_F(Arm32DecoderStateTests, 9846 TEST_F(Arm32DecoderStateTests,
9077 Unary1RegisterUseTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx00_Msr_ Rule_104_A1_P210_cccc00010010mm00111100000000nnnn_Test) { 9847 Unary1RegisterUseTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx 00_Msr_Rule_104_A1_P210_cccc00010010mm00111100000000nnnn_Test) {
9078 Unary1RegisterUseTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx00_Msr_Rule_ 104_A1_P210 tester; 9848 Unary1RegisterUseTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00_Ms r_Rule_104_A1_P210 tester;
9079 tester.Test("cccc00010010mm00111100000000nnnn"); 9849 tester.Test("cccc00010010mm00111100000000nnnn");
9080 } 9850 }
9081 9851
9082 TEST_F(Arm32DecoderStateTests, 9852 TEST_F(Arm32DecoderStateTests,
9083 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx01_Msr_R ule_B6_1_7_P14_cccc00010010mm01111100000000nnnn_Test) { 9853 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx0 1_Msr_Rule_B6_1_7_P14_cccc00010010mm01111100000000nnnn_Test) {
9084 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx01_Msr_Rule_B 6_1_7_P14 baseline_tester; 9854 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01_Msr _Rule_B6_1_7_P14 baseline_tester;
9085 NamedForbidden_Msr_Rule_B6_1_7_P14 actual; 9855 NamedForbidden_Msr_Rule_B6_1_7_P14 actual;
9086 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9856 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9087 a_vs_b_tester.Test("cccc00010010mm01111100000000nnnn"); 9857 a_vs_b_tester.Test("cccc00010010mm01111100000000nnnn");
9088 } 9858 }
9089 9859
9090 TEST_F(Arm32DecoderStateTests, 9860 TEST_F(Arm32DecoderStateTests,
9091 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x_Msr_R ule_B6_1_7_P14_cccc00010010mm1m111100000000nnnn_Test) { 9861 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1 x_Msr_Rule_B6_1_7_P14_cccc00010010mm1m111100000000nnnn_Test) {
9092 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x_Msr_Rule_B 6_1_7_P14 baseline_tester; 9862 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x_Msr _Rule_B6_1_7_P14 baseline_tester;
9093 NamedForbidden_Msr_Rule_B6_1_7_P14 actual; 9863 NamedForbidden_Msr_Rule_B6_1_7_P14 actual;
9094 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9864 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9095 a_vs_b_tester.Test("cccc00010010mm1m111100000000nnnn"); 9865 a_vs_b_tester.Test("cccc00010010mm1m111100000000nnnn");
9096 } 9866 }
9097 9867
9098 TEST_F(Arm32DecoderStateTests, 9868 TEST_F(Arm32DecoderStateTests,
9099 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is11_Msr_Rule_B6_1_7_P14_cc cc00010110mmmm111100000000nnnn_Test) { 9869 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is11_Msr_Rule_B6_1_7 _P14_cccc00010110mmmm111100000000nnnn_Test) {
9100 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is11_Msr_Rule_B6_1_7_P14 baselin e_tester; 9870 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is11_Msr_Rule_B6_1_7_P14 baseline_tester;
9101 NamedForbidden_Msr_Rule_B6_1_7_P14 actual; 9871 NamedForbidden_Msr_Rule_B6_1_7_P14 actual;
9102 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9872 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9103 a_vs_b_tester.Test("cccc00010110mmmm111100000000nnnn"); 9873 a_vs_b_tester.Test("cccc00010110mmmm111100000000nnnn");
9104 } 9874 }
9105 9875
9106 TEST_F(Arm32DecoderStateTests, 9876 TEST_F(Arm32DecoderStateTests,
9107 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62_cccc 000100101111111111110001mmmm_Test) { 9877 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62_cccc 000100101111111111110001mmmm_Test) {
9108 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62 baseline_ tester; 9878 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62 baseline_ tester;
9109 NamedBxBlx_Bx_Rule_25_A1_P62 actual; 9879 NamedBxBlx_Bx_Rule_25_A1_P62 actual;
9110 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9880 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
(...skipping 18 matching lines...) Expand all
9129 9899
9130 TEST_F(Arm32DecoderStateTests, 9900 TEST_F(Arm32DecoderStateTests,
9131 BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A 1_P60_cccc000100101111111111110011mmmm_Test) { 9901 BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A 1_P60_cccc000100101111111111110011mmmm_Test) {
9132 BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A1_P60 baseline_tester; 9902 BranchToRegisterTester_op2_6To4Is011_op_22To21Is01RegsNotPc_Blx_Rule_24_A1_P60 baseline_tester;
9133 NamedBxBlx_Blx_Rule_24_A1_P60 actual; 9903 NamedBxBlx_Blx_Rule_24_A1_P60 actual;
9134 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9904 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9135 a_vs_b_tester.Test("cccc000100101111111111110011mmmm"); 9905 a_vs_b_tester.Test("cccc000100101111111111110011mmmm");
9136 } 9906 }
9137 9907
9138 TEST_F(Arm32DecoderStateTests, 9908 TEST_F(Arm32DecoderStateTests,
9909 ForbiddenCondNopTester_op2_6To4Is110_op_22To21Is11_Eret_Rule_A1_cccc00010 11000000000000001101110_Test) {
9910 ForbiddenCondNopTester_op2_6To4Is110_op_22To21Is11_Eret_Rule_A1 baseline_teste r;
9911 NamedForbidden_Eret_Rule_A1 actual;
9912 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9913 a_vs_b_tester.Test("cccc0001011000000000000001101110");
9914 }
9915
9916 TEST_F(Arm32DecoderStateTests,
9139 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule _22_A1_P56_cccc00010010iiiiiiiiiiii0111iiii_Test) { 9917 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule _22_A1_P56_cccc00010010iiiiiiiiiiii0111iiii_Test) {
9140 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule_22_A 1_P56 baseline_tester; 9918 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule_22_A 1_P56 baseline_tester;
9141 NamedBreakpoint_Bkpt_Rule_22_A1_P56 actual; 9919 NamedBreakpoint_Bkpt_Rule_22_A1_P56 actual;
9142 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9920 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9143 a_vs_b_tester.Test("cccc00010010iiiiiiiiiiii0111iiii"); 9921 a_vs_b_tester.Test("cccc00010010iiiiiiiiiiii0111iiii");
9144 } 9922 }
9145 9923
9146 TEST_F(Arm32DecoderStateTests, 9924 TEST_F(Arm32DecoderStateTests,
9147 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18_cc cc000101100000000000000111mmmm_Test) { 9925 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is10_Hvc_Rule_A1_cccc000101 00iiiiiiiiiiii0111iiii_Test) {
9926 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is10_Hvc_Rule_A1 baseline_tester ;
9927 NamedForbidden_Hvc_Rule_A1 actual;
9928 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9929 a_vs_b_tester.Test("cccc00010100iiiiiiiiiiii0111iiii");
9930 }
9931
9932 TEST_F(Arm32DecoderStateTests,
9933 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18_cc cc000101100000000000000111iiii_Test) {
9148 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18 baselin e_tester; 9934 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18 baselin e_tester;
9149 NamedForbidden_Smc_Rule_B6_1_9_P18 actual; 9935 NamedForbidden_Smc_Rule_B6_1_9_P18 actual;
9150 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9936 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9151 a_vs_b_tester.Test("cccc000101100000000000000111mmmm"); 9937 a_vs_b_tester.Test("cccc000101100000000000000111iiii");
9152 } 9938 }
9153 9939
9154 TEST_F(Arm32DecoderStateTests, 9940 TEST_F(Arm32DecoderStateTests,
9155 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A 1_P222_cccc0011001000001111000000000000_Test) { 9941 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A 1_P222_cccc0011001000001111000000000000_Test) {
9156 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A1_P22 2 baseline_tester; 9942 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A1_P22 2 baseline_tester;
9157 NamedDontCareInst_Nop_Rule_110_A1_P222 actual; 9943 NamedDontCareInst_Nop_Rule_110_A1_P222 actual;
9158 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9944 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9159 a_vs_b_tester.Test("cccc0011001000001111000000000000"); 9945 a_vs_b_tester.Test("cccc0011001000001111000000000000");
9160 } 9946 }
9161 9947
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
9193 9979
9194 TEST_F(Arm32DecoderStateTests, 9980 TEST_F(Arm32DecoderStateTests,
9195 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1 _P88_cccc001100100000111100001111iiii_Test) { 9981 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1 _P88_cccc001100100000111100001111iiii_Test) {
9196 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_P88 baseline_tester; 9982 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_P88 baseline_tester;
9197 NamedDontCareInst_Dbg_Rule_40_A1_P88 actual; 9983 NamedDontCareInst_Dbg_Rule_40_A1_P88 actual;
9198 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9984 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9199 a_vs_b_tester.Test("cccc001100100000111100001111iiii"); 9985 a_vs_b_tester.Test("cccc001100100000111100001111iiii");
9200 } 9986 }
9201 9987
9202 TEST_F(Arm32DecoderStateTests, 9988 TEST_F(Arm32DecoderStateTests,
9989 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P20 8_cccc0011001001001111iiiiiiiiiiii_Test) {
9990 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P208 bas eline_tester;
9991 NamedDontCareInst_Msr_Rule_103_A1_P208 actual;
9992 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9993 a_vs_b_tester.Test("cccc0011001001001111iiiiiiiiiiii");
9994 }
9995
9996 TEST_F(Arm32DecoderStateTests,
9997 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P20 8_cccc001100101x001111iiiiiiiiiiii_Test) {
9998 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P208 bas eline_tester;
9999 NamedDontCareInst_Msr_Rule_103_A1_P208 actual;
10000 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
10001 a_vs_b_tester.Test("cccc001100101x001111iiiiiiiiiiii");
10002 }
10003
10004 TEST_F(Arm32DecoderStateTests,
9203 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_1 2_cccc00110010ii011111iiiiiiiiiiii_Test) { 10005 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_1 2_cccc00110010ii011111iiiiiiiiiiii_Test) {
9204 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12 bas eline_tester; 10006 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12 bas eline_tester;
9205 NamedForbidden_Msr_Rule_B6_1_6_A1_PB6_12 actual; 10007 NamedForbidden_Msr_Rule_B6_1_6_A1_PB6_12 actual;
9206 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10008 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9207 a_vs_b_tester.Test("cccc00110010ii011111iiiiiiiiiiii"); 10009 a_vs_b_tester.Test("cccc00110010ii011111iiiiiiiiiiii");
9208 } 10010 }
9209 10011
9210 TEST_F(Arm32DecoderStateTests, 10012 TEST_F(Arm32DecoderStateTests,
9211 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_1 2_cccc00110010ii1i1111iiiiiiiiiiii_Test) { 10013 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_1 2_cccc00110010ii1i1111iiiiiiiiiiii_Test) {
9212 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_12 bas eline_tester; 10014 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_12 bas eline_tester;
(...skipping 588 matching lines...) Expand 10 before | Expand all | Expand 10 after
9801 10603
9802 TEST_F(Arm32DecoderStateTests, 10604 TEST_F(Arm32DecoderStateTests,
9803 Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_ Rule_175_P348_cccc01110101ddddaaaammmm11x1nnnn_Test) { 10605 Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_ Rule_175_P348_cccc01110101ddddaaaammmm11x1nnnn_Test) {
9804 Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_Rule_ 175_P348 baseline_tester; 10606 Binary4RegisterDualOpTester_op1_22To20Is101_op2_7To5Is11xRegsNotPc_Smmls_Rule_ 175_P348 baseline_tester;
9805 NamedDefs16To19CondsDontCareRdRaRmRnNotPc_Smmls_Rule_175_P348 actual; 10607 NamedDefs16To19CondsDontCareRdRaRmRnNotPc_Smmls_Rule_175_P348 actual;
9806 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10608 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9807 a_vs_b_tester.Test("cccc01110101ddddaaaammmm11x1nnnn"); 10609 a_vs_b_tester.Test("cccc01110101ddddaaaammmm11x1nnnn");
9808 } 10610 }
9809 10611
9810 TEST_F(Arm32DecoderStateTests, 10612 TEST_F(Arm32DecoderStateTests,
10613 DeprecatedTester_op_23To20Is0x00_Swp_Swpb_Rule_A1_cccc00010b00nnnntttt000 01001tttt_Test) {
10614 DeprecatedTester_op_23To20Is0x00_Swp_Swpb_Rule_A1 tester;
10615 tester.Test("cccc00010b00nnnntttt00001001tttt");
10616 }
10617
10618 TEST_F(Arm32DecoderStateTests,
9811 StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400_cc cc00011000nnnndddd11111001tttt_Test) { 10619 StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400_cc cc00011000nnnndddd11111001tttt_Test) {
9812 StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400 baselin e_tester; 10620 StoreExclusive3RegisterOpTester_op_23To20Is1000_Strex_Rule_202_A1_P400 baselin e_tester;
9813 NamedStoreBasedMemoryRtBits0To3_Strex_Rule_202_A1_P400 actual; 10621 NamedStoreBasedMemoryRtBits0To3_Strex_Rule_202_A1_P400 actual;
9814 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10622 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9815 a_vs_b_tester.Test("cccc00011000nnnndddd11111001tttt"); 10623 a_vs_b_tester.Test("cccc00011000nnnndddd11111001tttt");
9816 } 10624 }
9817 10625
9818 TEST_F(Arm32DecoderStateTests, 10626 TEST_F(Arm32DecoderStateTests,
9819 LoadExclusive2RegisterOpTester_op_23To20Is1001_Ldrex_Rule_69_A1_P142_cccc 00011001nnnntttt111110011111_Test) { 10627 LoadExclusive2RegisterOpTester_op_23To20Is1001_Ldrex_Rule_69_A1_P142_cccc 00011001nnnntttt111110011111_Test) {
9820 LoadExclusive2RegisterOpTester_op_23To20Is1001_Ldrex_Rule_69_A1_P142 baseline_ tester; 10628 LoadExclusive2RegisterOpTester_op_23To20Is1001_Ldrex_Rule_69_A1_P142 baseline_ tester;
(...skipping 20 matching lines...) Expand all
9841 10649
9842 TEST_F(Arm32DecoderStateTests, 10650 TEST_F(Arm32DecoderStateTests,
9843 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402_c ccc00011100nnnndddd11111001tttt_Test) { 10651 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402_c ccc00011100nnnndddd11111001tttt_Test) {
9844 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402 baseli ne_tester; 10652 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402 baseli ne_tester;
9845 NamedStoreBasedMemoryRtBits0To3_Strexb_Rule_203_A1_P402 actual; 10653 NamedStoreBasedMemoryRtBits0To3_Strexb_Rule_203_A1_P402 actual;
9846 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10654 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9847 a_vs_b_tester.Test("cccc00011100nnnndddd11111001tttt"); 10655 a_vs_b_tester.Test("cccc00011100nnnndddd11111001tttt");
9848 } 10656 }
9849 10657
9850 TEST_F(Arm32DecoderStateTests, 10658 TEST_F(Arm32DecoderStateTests,
9851 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144_ccc c00011101nnnndddd111110011111_Test) { 10659 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144_ccc c00011101nnnntttt111110011111_Test) {
9852 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144 baseline _tester; 10660 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144 baseline _tester;
9853 NamedLoadBasedMemory_Ldrexb_Rule_70_A1_P144 actual; 10661 NamedLoadBasedMemory_Ldrexb_Rule_70_A1_P144 actual;
9854 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10662 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9855 a_vs_b_tester.Test("cccc00011101nnnndddd111110011111"); 10663 a_vs_b_tester.Test("cccc00011101nnnntttt111110011111");
9856 } 10664 }
9857 10665
9858 TEST_F(Arm32DecoderStateTests, 10666 TEST_F(Arm32DecoderStateTests,
9859 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406_c ccc00011110nnnndddd11111001tttt_Test) { 10667 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406_c ccc00011110nnnndddd11111001tttt_Test) {
9860 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406 baseli ne_tester; 10668 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406 baseli ne_tester;
9861 NamedStoreBasedMemoryRtBits0To3_Strexh_Rule_205_A1_P406 actual; 10669 NamedStoreBasedMemoryRtBits0To3_Strexh_Rule_205_A1_P406 actual;
9862 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10670 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9863 a_vs_b_tester.Test("cccc00011110nnnndddd11111001tttt"); 10671 a_vs_b_tester.Test("cccc00011110nnnndddd11111001tttt");
9864 } 10672 }
9865 10673
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
9922 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10730 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9923 a_vs_b_tester.Test("1111101hiiiiiiiiiiiiiiiiiiiiiiii"); 10731 a_vs_b_tester.Test("1111101hiiiiiiiiiiiiiiiiiiiiiiii");
9924 } 10732 }
9925 10733
9926 } // namespace nacl_arm_test 10734 } // namespace nacl_arm_test
9927 10735
9928 int main(int argc, char* argv[]) { 10736 int main(int argc, char* argv[]) {
9929 testing::InitGoogleTest(&argc, argv); 10737 testing::InitGoogleTest(&argc, argv);
9930 return RUN_ALL_TESTS(); 10738 return RUN_ALL_TESTS();
9931 } 10739 }
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/gen/arm32_decode_named_decoder.h ('k') | src/trusted/validator_arm/inst_classes_testers.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698