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

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 with more tables. 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 3174 matching lines...) Expand 10 before | Expand all | Expand 10 after
3185 3185
3186 // Check that row patterns apply to pattern being checked.' 3186 // Check that row patterns apply to pattern being checked.'
3187 if ((inst.Bits() & 0x01E00000) != 0x01E00000 /* op1(24:20) == ~1111x */) retur n false; 3187 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; 3188 if ((inst.Bits() & 0x00000060) != 0x00000040 /* op2(7:5) == ~x10 */) return fa lse;
3189 3189
3190 // Check other preconditions defined for the base decoder. 3190 // Check other preconditions defined for the base decoder.
3191 return Binary2RegisterBitRangeNotRnIsPcTester:: 3191 return Binary2RegisterBitRangeNotRnIsPcTester::
3192 PassesParsePreconditions(inst, decoder); 3192 PassesParsePreconditions(inst, decoder);
3193 } 3193 }
3194 3194
3195 class Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0 3195 class Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0
3196 : public Unary1RegisterSetTester { 3196 : public Unary1RegisterSetTester {
3197 public: 3197 public:
3198 Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0(const NamedClassDecoder& de coder) 3198 Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0(const NamedClassDeco der& decoder)
3199 : Unary1RegisterSetTester(decoder) {} 3199 : Unary1RegisterSetTester(decoder) {}
3200 virtual bool PassesParsePreconditions( 3200 virtual bool PassesParsePreconditions(
3201 nacl_arm_dec::Instruction inst, 3201 nacl_arm_dec::Instruction inst,
3202 const NamedClassDecoder& decoder); 3202 const NamedClassDecoder& decoder);
3203 3203
3204 }; 3204 };
3205 3205
3206 bool Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0 3206 bool Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0
3207 ::PassesParsePreconditions( 3207 ::PassesParsePreconditions(
3208 nacl_arm_dec::Instruction inst, 3208 nacl_arm_dec::Instruction inst,
3209 const NamedClassDecoder& decoder) { 3209 const NamedClassDecoder& decoder) {
3210 3210
3211 // Check that row patterns apply to pattern being checked.' 3211 // Check that row patterns apply to pattern being checked.'
3212 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3212 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3213 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3213 if ((inst.Bits() & 0x00200000) != 0x00000000 /* op(22:21) == ~x0 */) return fa lse; 3214 if ((inst.Bits() & 0x00200000) != 0x00000000 /* op(22:21) == ~x0 */) return fa lse;
3214 3215
3215 // Check other preconditions defined for the base decoder. 3216 // Check other preconditions defined for the base decoder.
3216 return Unary1RegisterSetTester:: 3217 return Unary1RegisterSetTester::
3217 PassesParsePreconditions(inst, decoder); 3218 PassesParsePreconditions(inst, decoder);
3218 } 3219 }
3219 3220
3220 class Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00 3221 class Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00
3221 : public Unary1RegisterUseTester { 3222 : public Unary1RegisterUseTester {
3222 public: 3223 public:
3223 Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00(const Name dClassDecoder& decoder) 3224 Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00(con st NamedClassDecoder& decoder)
3224 : Unary1RegisterUseTester(decoder) {} 3225 : Unary1RegisterUseTester(decoder) {}
3225 virtual bool PassesParsePreconditions( 3226 virtual bool PassesParsePreconditions(
3226 nacl_arm_dec::Instruction inst, 3227 nacl_arm_dec::Instruction inst,
3227 const NamedClassDecoder& decoder); 3228 const NamedClassDecoder& decoder);
3228 3229
3229 }; 3230 };
3230 3231
3231 bool Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00 3232 bool Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00
3232 ::PassesParsePreconditions( 3233 ::PassesParsePreconditions(
3233 nacl_arm_dec::Instruction inst, 3234 nacl_arm_dec::Instruction inst,
3234 const NamedClassDecoder& decoder) { 3235 const NamedClassDecoder& decoder) {
3235 3236
3236 // Check that row patterns apply to pattern being checked.' 3237 // Check that row patterns apply to pattern being checked.'
3237 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3238 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3239 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3238 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3240 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3239 if ((inst.Bits() & 0x00030000) != 0x00000000 /* op1(19:16) == ~xx00 */) return false; 3241 if ((inst.Bits() & 0x00030000) != 0x00000000 /* op1(19:16) == ~xx00 */) return false;
3240 3242
3241 // Check other preconditions defined for the base decoder. 3243 // Check other preconditions defined for the base decoder.
3242 return Unary1RegisterUseTester:: 3244 return Unary1RegisterUseTester::
3243 PassesParsePreconditions(inst, decoder); 3245 PassesParsePreconditions(inst, decoder);
3244 } 3246 }
3245 3247
3246 class UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01 3248 class UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01
3247 : public UnsafeCondNopTester { 3249 : public UnsafeCondNopTester {
3248 public: 3250 public:
3249 UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01(const NamedCla ssDecoder& decoder) 3251 UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01(const N amedClassDecoder& decoder)
3250 : UnsafeCondNopTester(decoder) {} 3252 : UnsafeCondNopTester(decoder) {}
3251 virtual bool PassesParsePreconditions( 3253 virtual bool PassesParsePreconditions(
3252 nacl_arm_dec::Instruction inst, 3254 nacl_arm_dec::Instruction inst,
3253 const NamedClassDecoder& decoder); 3255 const NamedClassDecoder& decoder);
3254 3256
3255 }; 3257 };
3256 3258
3257 bool UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01 3259 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01
3258 ::PassesParsePreconditions( 3260 ::PassesParsePreconditions(
3259 nacl_arm_dec::Instruction inst, 3261 nacl_arm_dec::Instruction inst,
3260 const NamedClassDecoder& decoder) { 3262 const NamedClassDecoder& decoder) {
3261 3263
3262 // Check that row patterns apply to pattern being checked.' 3264 // Check that row patterns apply to pattern being checked.'
3263 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3265 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3266 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3264 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3267 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3265 if ((inst.Bits() & 0x00030000) != 0x00010000 /* op1(19:16) == ~xx01 */) return false; 3268 if ((inst.Bits() & 0x00030000) != 0x00010000 /* op1(19:16) == ~xx01 */) return false;
3266 3269
3267 // Check other preconditions defined for the base decoder. 3270 // Check other preconditions defined for the base decoder.
3268 return UnsafeCondNopTester:: 3271 return UnsafeCondNopTester::
3269 PassesParsePreconditions(inst, decoder); 3272 PassesParsePreconditions(inst, decoder);
3270 } 3273 }
3271 3274
3272 class UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x 3275 class UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x
3273 : public UnsafeCondNopTester { 3276 : public UnsafeCondNopTester {
3274 public: 3277 public:
3275 UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x(const NamedCla ssDecoder& decoder) 3278 UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x(const N amedClassDecoder& decoder)
3276 : UnsafeCondNopTester(decoder) {} 3279 : UnsafeCondNopTester(decoder) {}
3277 virtual bool PassesParsePreconditions( 3280 virtual bool PassesParsePreconditions(
3278 nacl_arm_dec::Instruction inst, 3281 nacl_arm_dec::Instruction inst,
3279 const NamedClassDecoder& decoder); 3282 const NamedClassDecoder& decoder);
3280 3283
3281 }; 3284 };
3282 3285
3283 bool UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x 3286 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x
3284 ::PassesParsePreconditions( 3287 ::PassesParsePreconditions(
3285 nacl_arm_dec::Instruction inst, 3288 nacl_arm_dec::Instruction inst,
3286 const NamedClassDecoder& decoder) { 3289 const NamedClassDecoder& decoder) {
3287 3290
3288 // Check that row patterns apply to pattern being checked.' 3291 // Check that row patterns apply to pattern being checked.'
3289 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3292 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3293 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3290 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse; 3294 if ((inst.Bits() & 0x00600000) != 0x00200000 /* op(22:21) == ~01 */) return fa lse;
3291 if ((inst.Bits() & 0x00020000) != 0x00020000 /* op1(19:16) == ~xx1x */) return false; 3295 if ((inst.Bits() & 0x00020000) != 0x00020000 /* op1(19:16) == ~xx1x */) return false;
3292 3296
3293 // Check other preconditions defined for the base decoder. 3297 // Check other preconditions defined for the base decoder.
3294 return UnsafeCondNopTester:: 3298 return UnsafeCondNopTester::
3295 PassesParsePreconditions(inst, decoder); 3299 PassesParsePreconditions(inst, decoder);
3296 } 3300 }
3297 3301
3298 class UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11 3302 class UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11
3299 : public UnsafeCondNopTester { 3303 : public UnsafeCondNopTester {
3300 public: 3304 public:
3301 UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11(const NamedClassDecoder& decode r) 3305 UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11(const NamedClassDecoder& decoder)
3302 : UnsafeCondNopTester(decoder) {} 3306 : UnsafeCondNopTester(decoder) {}
3303 virtual bool PassesParsePreconditions( 3307 virtual bool PassesParsePreconditions(
3304 nacl_arm_dec::Instruction inst, 3308 nacl_arm_dec::Instruction inst,
3305 const NamedClassDecoder& decoder); 3309 const NamedClassDecoder& decoder);
3306 3310
3307 }; 3311 };
3308 3312
3309 bool UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11 3313 bool UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11
3310 ::PassesParsePreconditions( 3314 ::PassesParsePreconditions(
3311 nacl_arm_dec::Instruction inst, 3315 nacl_arm_dec::Instruction inst,
3312 const NamedClassDecoder& decoder) { 3316 const NamedClassDecoder& decoder) {
3313 3317
3314 // Check that row patterns apply to pattern being checked.' 3318 // Check that row patterns apply to pattern being checked.'
3315 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse; 3319 if ((inst.Bits() & 0x00000070) != 0x00000000 /* op2(6:4) == ~000 */) return fa lse;
3320 if ((inst.Bits() & 0x00000200) != 0x00000000 /* B(9:9) == ~0 */) return false;
3316 if ((inst.Bits() & 0x00600000) != 0x00600000 /* op(22:21) == ~11 */) return fa lse; 3321 if ((inst.Bits() & 0x00600000) != 0x00600000 /* op(22:21) == ~11 */) return fa lse;
3317 3322
3318 // Check other preconditions defined for the base decoder. 3323 // Check other preconditions defined for the base decoder.
3319 return UnsafeCondNopTester:: 3324 return UnsafeCondNopTester::
3320 PassesParsePreconditions(inst, decoder); 3325 PassesParsePreconditions(inst, decoder);
3321 } 3326 }
3322 3327
3323 class BranchToRegisterTesterop2_6To4Is001_op_22To21Is01 3328 class BranchToRegisterTesterop2_6To4Is001_op_22To21Is01
3324 : public BranchToRegisterTester { 3329 : public BranchToRegisterTester {
3325 public: 3330 public:
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after
3619 // Check that row patterns apply to pattern being checked.' 3624 // Check that row patterns apply to pattern being checked.'
3620 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se; 3625 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se;
3621 if ((inst.Bits() & 0x000F0000) != 0x00000000 /* op1(19:16) == ~0000 */) return false; 3626 if ((inst.Bits() & 0x000F0000) != 0x00000000 /* op1(19:16) == ~0000 */) return false;
3622 if ((inst.Bits() & 0x000000F0) != 0x000000F0 /* op2(7:0) == ~1111xxxx */) retu rn false; 3627 if ((inst.Bits() & 0x000000F0) != 0x000000F0 /* op2(7:0) == ~1111xxxx */) retu rn false;
3623 3628
3624 // Check other preconditions defined for the base decoder. 3629 // Check other preconditions defined for the base decoder.
3625 return CondNopTester:: 3630 return CondNopTester::
3626 PassesParsePreconditions(inst, decoder); 3631 PassesParsePreconditions(inst, decoder);
3627 } 3632 }
3628 3633
3634 class MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100
3635 : public MoveImmediate12ToApsrTester {
3636 public:
3637 MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100(const NamedClassDecoder& decoder)
3638 : MoveImmediate12ToApsrTester(decoder) {}
3639 virtual bool PassesParsePreconditions(
3640 nacl_arm_dec::Instruction inst,
3641 const NamedClassDecoder& decoder);
3642
3643 };
3644
3645 bool MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100
3646 ::PassesParsePreconditions(
3647 nacl_arm_dec::Instruction inst,
3648 const NamedClassDecoder& decoder) {
3649
3650 // Check that row patterns apply to pattern being checked.'
3651 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se;
3652 if ((inst.Bits() & 0x000F0000) != 0x00040000 /* op1(19:16) == ~0100 */) return false;
3653
3654 // Check other preconditions defined for the base decoder.
3655 return MoveImmediate12ToApsrTester::
3656 PassesParsePreconditions(inst, decoder);
3657 }
3658
3659 class MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00
3660 : public MoveImmediate12ToApsrTester {
3661 public:
3662 MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00(const NamedClassDecoder& decoder)
3663 : MoveImmediate12ToApsrTester(decoder) {}
3664 virtual bool PassesParsePreconditions(
3665 nacl_arm_dec::Instruction inst,
3666 const NamedClassDecoder& decoder);
3667
3668 };
3669
3670 bool MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00
3671 ::PassesParsePreconditions(
3672 nacl_arm_dec::Instruction inst,
3673 const NamedClassDecoder& decoder) {
3674
3675 // Check that row patterns apply to pattern being checked.'
3676 if ((inst.Bits() & 0x00400000) != 0x00000000 /* op(22:22) == ~0 */) return fal se;
3677 if ((inst.Bits() & 0x000B0000) != 0x00080000 /* op1(19:16) == ~1x00 */) return false;
3678
3679 // Check other preconditions defined for the base decoder.
3680 return MoveImmediate12ToApsrTester::
3681 PassesParsePreconditions(inst, decoder);
3682 }
3683
3629 class UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01 3684 class UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01
3630 : public UnsafeCondNopTester { 3685 : public UnsafeCondNopTester {
3631 public: 3686 public:
3632 UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01(const NamedClassDecoder& decoder) 3687 UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01(const NamedClassDecoder& decoder)
3633 : UnsafeCondNopTester(decoder) {} 3688 : UnsafeCondNopTester(decoder) {}
3634 virtual bool PassesParsePreconditions( 3689 virtual bool PassesParsePreconditions(
3635 nacl_arm_dec::Instruction inst, 3690 nacl_arm_dec::Instruction inst,
3636 const NamedClassDecoder& decoder); 3691 const NamedClassDecoder& decoder);
3637 3692
3638 }; 3693 };
(...skipping 3439 matching lines...) Expand 10 before | Expand all | Expand 10 after
7078 7133
7079 class Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubf x_Rule_236_A1_P466 7134 class Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubf x_Rule_236_A1_P466
7080 : public Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx 10 { 7135 : public Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx 10 {
7081 public: 7136 public:
7082 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubfx_Ru le_236_A1_P466() 7137 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubfx_Ru le_236_A1_P466()
7083 : Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx10( 7138 : Binary2RegisterBitRangeNotRnIsPcTesterop1_24To20Is1111x_op2_7To5Isx10(
7084 state_.Binary2RegisterBitRangeNotRnIsPc_Ubfx_Rule_236_A1_P466_instance_) 7139 state_.Binary2RegisterBitRangeNotRnIsPc_Ubfx_Rule_236_A1_P466_instance_)
7085 {} 7140 {}
7086 }; 7141 };
7087 7142
7088 class Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_O r_B6_10 7143 class Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A1 _P206_Or_B6_10
7089 : public Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0 { 7144 : public Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0 {
7090 public: 7145 public:
7091 Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_Or_B6 _10() 7146 Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A1_P20 6_Or_B6_10()
7092 : Unary1RegisterSetTesterop2_6To4Is000_op_22To21Isx0( 7147 : Unary1RegisterSetTesterop2_6To4Is000_B_9Is0_op_22To21Isx0(
7093 state_.Unary1RegisterSet_Mrs_Rule_102_A1_P206_Or_B6_10_instance_) 7148 state_.Unary1RegisterSet_Mrs_Rule_102_A1_P206_Or_B6_10_instance_)
7094 {} 7149 {}
7095 }; 7150 };
7096 7151
7097 class Unary1RegisterUseTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx00_Msr_R ule_104_A1_P210 7152 class Unary1RegisterUseTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx0 0_Msr_Rule_104_A1_P210
7098 : public Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00 { 7153 : public Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To1 6Isxx00 {
7099 public: 7154 public:
7100 Unary1RegisterUseTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx00_Msr_Rule_ 104_A1_P210() 7155 Unary1RegisterUseTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00_Ms r_Rule_104_A1_P210()
7101 : Unary1RegisterUseTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx00( 7156 : Unary1RegisterUseTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00 (
7102 state_.Unary1RegisterUse_Msr_Rule_104_A1_P210_instance_) 7157 state_.Unary1RegisterUse_Msr_Rule_104_A1_P210_instance_)
7103 {} 7158 {}
7104 }; 7159 };
7105 7160
7106 class ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx01_Msr_Ru le_B6_1_7_P14 7161 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01 _Msr_Rule_B6_1_7_P14
7107 : public UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01 { 7162 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isx x01 {
7108 public: 7163 public:
7109 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx01_Msr_Rule_B 6_1_7_P14() 7164 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01_Msr _Rule_B6_1_7_P14()
7110 : UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx01( 7165 : UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx01(
7111 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_) 7166 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_)
7112 {} 7167 {}
7113 }; 7168 };
7114 7169
7115 class ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x_Msr_Ru le_B6_1_7_P14 7170 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x _Msr_Rule_B6_1_7_P14
7116 : public UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x { 7171 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isx x1x {
7117 public: 7172 public:
7118 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x_Msr_Rule_B 6_1_7_P14() 7173 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x_Msr _Rule_B6_1_7_P14()
7119 : UnsafeCondNopTesterop2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x( 7174 : UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx1x(
7120 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_) 7175 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_)
7121 {} 7176 {}
7122 }; 7177 };
7123 7178
7124 class ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is11_Msr_Rule_B6_1_7_P14 7179 class ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is11_Msr_Rule_B6_1_7_ P14
7125 : public UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11 { 7180 : public UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11 {
7126 public: 7181 public:
7127 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is11_Msr_Rule_B6_1_7_P14() 7182 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is11_Msr_Rule_B6_1_7_P14( )
7128 : UnsafeCondNopTesterop2_6To4Is000_op_22To21Is11( 7183 : UnsafeCondNopTesterop2_6To4Is000_B_9Is0_op_22To21Is11(
7129 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_) 7184 state_.ForbiddenCondNop_Msr_Rule_B6_1_7_P14_instance_)
7130 {} 7185 {}
7131 }; 7186 };
7132 7187
7133 class BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62 7188 class BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62
7134 : public BranchToRegisterTesterop2_6To4Is001_op_22To21Is01 { 7189 : public BranchToRegisterTesterop2_6To4Is001_op_22To21Is01 {
7135 public: 7190 public:
7136 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62() 7191 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62()
7137 : BranchToRegisterTesterop2_6To4Is001_op_22To21Is01( 7192 : BranchToRegisterTesterop2_6To4Is001_op_22To21Is01(
7138 state_.BranchToRegister_Bx_Rule_25_A1_P62_instance_) 7193 state_.BranchToRegister_Bx_Rule_25_A1_P62_instance_)
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
7231 7286
7232 class CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_ P88 7287 class CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_ P88
7233 : public CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx { 7288 : public CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx {
7234 public: 7289 public:
7235 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_P88( ) 7290 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_P88( )
7236 : CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx( 7291 : CondNopTesterop_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx(
7237 state_.CondNop_Dbg_Rule_40_A1_P88_instance_) 7292 state_.CondNop_Dbg_Rule_40_A1_P88_instance_)
7238 {} 7293 {}
7239 }; 7294 };
7240 7295
7296 class MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P208
7297 : public MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100 {
7298 public:
7299 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P208()
7300 : MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is0100(
7301 state_.MoveImmediate12ToApsr_Msr_Rule_103_A1_P208_instance_)
7302 {}
7303 };
7304
7305 class MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P208
7306 : public MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00 {
7307 public:
7308 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P208()
7309 : MoveImmediate12ToApsrTesterop_22Is0_op1_19To16Is1x00(
7310 state_.MoveImmediate12ToApsr_Msr_Rule_103_A1_P208_instance_)
7311 {}
7312 };
7313
7241 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12 7314 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12
7242 : public UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01 { 7315 : public UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01 {
7243 public: 7316 public:
7244 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12() 7317 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_12()
7245 : UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01( 7318 : UnsafeCondNopTesterop_22Is0_op1_19To16Isxx01(
7246 state_.ForbiddenCondNop_Msr_Rule_B6_1_6_A1_PB6_12_instance_) 7319 state_.ForbiddenCondNop_Msr_Rule_B6_1_6_A1_PB6_12_instance_)
7247 {} 7320 {}
7248 }; 7321 };
7249 7322
7250 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_12 7323 class ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_12
(...skipping 1810 matching lines...) Expand 10 before | Expand all | Expand 10 after
9061 9134
9062 TEST_F(Arm32DecoderStateTests, 9135 TEST_F(Arm32DecoderStateTests,
9063 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ub fx_Rule_236_A1_P466_cccc0111111mmmmmddddlllll101nnnn_Test) { 9136 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; 9137 Binary2RegisterBitRangeNotRnIsPcTester_op1_24To20Is1111x_op2_7To5Isx10_Ubfx_Ru le_236_A1_P466 baseline_tester;
9065 NamedDefs12To15CondsDontCareRdRnNotPc_Ubfx_Rule_236_A1_P466 actual; 9138 NamedDefs12To15CondsDontCareRdRnNotPc_Ubfx_Rule_236_A1_P466 actual;
9066 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9139 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9067 a_vs_b_tester.Test("cccc0111111mmmmmddddlllll101nnnn"); 9140 a_vs_b_tester.Test("cccc0111111mmmmmddddlllll101nnnn");
9068 } 9141 }
9069 9142
9070 TEST_F(Arm32DecoderStateTests, 9143 TEST_F(Arm32DecoderStateTests,
9071 Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_ Or_B6_10_cccc00010r001111dddd000000000000_Test) { 9144 Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A 1_P206_Or_B6_10_cccc00010r001111dddd000000000000_Test) {
9072 Unary1RegisterSetTester_op2_6To4Is000_op_22To21Isx0_Mrs_Rule_102_A1_P206_Or_B6 _10 tester; 9145 Unary1RegisterSetTester_op2_6To4Is000_B_9Is0_op_22To21Isx0_Mrs_Rule_102_A1_P20 6_Or_B6_10 tester;
9073 tester.Test("cccc00010r001111dddd000000000000"); 9146 tester.Test("cccc00010r001111dddd000000000000");
9074 } 9147 }
9075 9148
9076 TEST_F(Arm32DecoderStateTests, 9149 TEST_F(Arm32DecoderStateTests,
9077 Unary1RegisterUseTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx00_Msr_ Rule_104_A1_P210_cccc00010010mm00111100000000nnnn_Test) { 9150 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; 9151 Unary1RegisterUseTester_op2_6To4Is000_B_9Is0_op_22To21Is01_op1_19To16Isxx00_Ms r_Rule_104_A1_P210 tester;
9079 tester.Test("cccc00010010mm00111100000000nnnn"); 9152 tester.Test("cccc00010010mm00111100000000nnnn");
9080 } 9153 }
9081 9154
9082 TEST_F(Arm32DecoderStateTests, 9155 TEST_F(Arm32DecoderStateTests,
9083 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx01_Msr_R ule_B6_1_7_P14_cccc00010010mm01111100000000nnnn_Test) { 9156 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; 9157 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; 9158 NamedForbidden_Msr_Rule_B6_1_7_P14 actual;
9086 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9159 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9087 a_vs_b_tester.Test("cccc00010010mm01111100000000nnnn"); 9160 a_vs_b_tester.Test("cccc00010010mm01111100000000nnnn");
9088 } 9161 }
9089 9162
9090 TEST_F(Arm32DecoderStateTests, 9163 TEST_F(Arm32DecoderStateTests,
9091 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is01_op1_19To16Isxx1x_Msr_R ule_B6_1_7_P14_cccc00010010mm1m111100000000nnnn_Test) { 9164 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; 9165 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; 9166 NamedForbidden_Msr_Rule_B6_1_7_P14 actual;
9094 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9167 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9095 a_vs_b_tester.Test("cccc00010010mm1m111100000000nnnn"); 9168 a_vs_b_tester.Test("cccc00010010mm1m111100000000nnnn");
9096 } 9169 }
9097 9170
9098 TEST_F(Arm32DecoderStateTests, 9171 TEST_F(Arm32DecoderStateTests,
9099 ForbiddenCondNopTester_op2_6To4Is000_op_22To21Is11_Msr_Rule_B6_1_7_P14_cc cc00010110mmmm111100000000nnnn_Test) { 9172 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; 9173 ForbiddenCondNopTester_op2_6To4Is000_B_9Is0_op_22To21Is11_Msr_Rule_B6_1_7_P14 baseline_tester;
9101 NamedForbidden_Msr_Rule_B6_1_7_P14 actual; 9174 NamedForbidden_Msr_Rule_B6_1_7_P14 actual;
9102 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9175 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9103 a_vs_b_tester.Test("cccc00010110mmmm111100000000nnnn"); 9176 a_vs_b_tester.Test("cccc00010110mmmm111100000000nnnn");
9104 } 9177 }
9105 9178
9106 TEST_F(Arm32DecoderStateTests, 9179 TEST_F(Arm32DecoderStateTests,
9107 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62_cccc 000100101111111111110001mmmm_Test) { 9180 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; 9181 BranchToRegisterTester_op2_6To4Is001_op_22To21Is01_Bx_Rule_25_A1_P62 baseline_ tester;
9109 NamedBxBlx_Bx_Rule_25_A1_P62 actual; 9182 NamedBxBlx_Bx_Rule_25_A1_P62 actual;
9110 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9183 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
(...skipping 26 matching lines...) Expand all
9137 9210
9138 TEST_F(Arm32DecoderStateTests, 9211 TEST_F(Arm32DecoderStateTests,
9139 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule _22_A1_P56_cccc00010010iiiiiiiiiiii0111iiii_Test) { 9212 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; 9213 BreakPointAndConstantPoolHeadTester_op2_6To4Is111_op_22To21Is01_Bkpt_Rule_22_A 1_P56 baseline_tester;
9141 NamedBreakpoint_Bkpt_Rule_22_A1_P56 actual; 9214 NamedBreakpoint_Bkpt_Rule_22_A1_P56 actual;
9142 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9215 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9143 a_vs_b_tester.Test("cccc00010010iiiiiiiiiiii0111iiii"); 9216 a_vs_b_tester.Test("cccc00010010iiiiiiiiiiii0111iiii");
9144 } 9217 }
9145 9218
9146 TEST_F(Arm32DecoderStateTests, 9219 TEST_F(Arm32DecoderStateTests,
9147 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18_cc cc000101100000000000000111mmmm_Test) { 9220 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; 9221 ForbiddenCondNopTester_op2_6To4Is111_op_22To21Is11_Smc_Rule_B6_1_9_P18 baselin e_tester;
9149 NamedForbidden_Smc_Rule_B6_1_9_P18 actual; 9222 NamedForbidden_Smc_Rule_B6_1_9_P18 actual;
9150 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9223 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9151 a_vs_b_tester.Test("cccc000101100000000000000111mmmm"); 9224 a_vs_b_tester.Test("cccc000101100000000000000111iiii");
9152 } 9225 }
9153 9226
9154 TEST_F(Arm32DecoderStateTests, 9227 TEST_F(Arm32DecoderStateTests,
9155 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A 1_P222_cccc0011001000001111000000000000_Test) { 9228 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; 9229 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is00000000_Nop_Rule_110_A1_P22 2 baseline_tester;
9157 NamedDontCareInst_Nop_Rule_110_A1_P222 actual; 9230 NamedDontCareInst_Nop_Rule_110_A1_P222 actual;
9158 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9231 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9159 a_vs_b_tester.Test("cccc0011001000001111000000000000"); 9232 a_vs_b_tester.Test("cccc0011001000001111000000000000");
9160 } 9233 }
9161 9234
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
9193 9266
9194 TEST_F(Arm32DecoderStateTests, 9267 TEST_F(Arm32DecoderStateTests,
9195 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1 _P88_cccc001100100000111100001111iiii_Test) { 9268 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; 9269 CondNopTester_op_22Is0_op1_19To16Is0000_op2_7To0Is1111xxxx_Dbg_Rule_40_A1_P88 baseline_tester;
9197 NamedDontCareInst_Dbg_Rule_40_A1_P88 actual; 9270 NamedDontCareInst_Dbg_Rule_40_A1_P88 actual;
9198 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9271 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9199 a_vs_b_tester.Test("cccc001100100000111100001111iiii"); 9272 a_vs_b_tester.Test("cccc001100100000111100001111iiii");
9200 } 9273 }
9201 9274
9202 TEST_F(Arm32DecoderStateTests, 9275 TEST_F(Arm32DecoderStateTests,
9276 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P20 8_cccc0011001001001111iiiiiiiiiiii_Test) {
9277 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is0100_Msr_Rule_103_A1_P208 bas eline_tester;
9278 NamedDontCareInst_Msr_Rule_103_A1_P208 actual;
9279 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9280 a_vs_b_tester.Test("cccc0011001001001111iiiiiiiiiiii");
9281 }
9282
9283 TEST_F(Arm32DecoderStateTests,
9284 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P20 8_cccc001100101x001111iiiiiiiiiiii_Test) {
9285 MoveImmediate12ToApsrTester_op_22Is0_op1_19To16Is1x00_Msr_Rule_103_A1_P208 bas eline_tester;
9286 NamedDontCareInst_Msr_Rule_103_A1_P208 actual;
9287 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9288 a_vs_b_tester.Test("cccc001100101x001111iiiiiiiiiiii");
9289 }
9290
9291 TEST_F(Arm32DecoderStateTests,
9203 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx01_Msr_Rule_B6_1_6_A1_PB6_1 2_cccc00110010ii011111iiiiiiiiiiii_Test) { 9292 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; 9293 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; 9294 NamedForbidden_Msr_Rule_B6_1_6_A1_PB6_12 actual;
9206 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9295 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9207 a_vs_b_tester.Test("cccc00110010ii011111iiiiiiiiiiii"); 9296 a_vs_b_tester.Test("cccc00110010ii011111iiiiiiiiiiii");
9208 } 9297 }
9209 9298
9210 TEST_F(Arm32DecoderStateTests, 9299 TEST_F(Arm32DecoderStateTests,
9211 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_1 2_cccc00110010ii1i1111iiiiiiiiiiii_Test) { 9300 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; 9301 ForbiddenCondNopTester_op_22Is0_op1_19To16Isxx1x_Msr_Rule_B6_1_6_A1_PB6_12 bas eline_tester;
(...skipping 628 matching lines...) Expand 10 before | Expand all | Expand 10 after
9841 9930
9842 TEST_F(Arm32DecoderStateTests, 9931 TEST_F(Arm32DecoderStateTests,
9843 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402_c ccc00011100nnnndddd11111001tttt_Test) { 9932 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402_c ccc00011100nnnndddd11111001tttt_Test) {
9844 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402 baseli ne_tester; 9933 StoreExclusive3RegisterOpTester_op_23To20Is1100_Strexb_Rule_203_A1_P402 baseli ne_tester;
9845 NamedStoreBasedMemoryRtBits0To3_Strexb_Rule_203_A1_P402 actual; 9934 NamedStoreBasedMemoryRtBits0To3_Strexb_Rule_203_A1_P402 actual;
9846 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9935 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9847 a_vs_b_tester.Test("cccc00011100nnnndddd11111001tttt"); 9936 a_vs_b_tester.Test("cccc00011100nnnndddd11111001tttt");
9848 } 9937 }
9849 9938
9850 TEST_F(Arm32DecoderStateTests, 9939 TEST_F(Arm32DecoderStateTests,
9851 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144_ccc c00011101nnnndddd111110011111_Test) { 9940 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144_ccc c00011101nnnntttt111110011111_Test) {
9852 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144 baseline _tester; 9941 LoadExclusive2RegisterOpTester_op_23To20Is1101_Ldrexb_Rule_70_A1_P144 baseline _tester;
9853 NamedLoadBasedMemory_Ldrexb_Rule_70_A1_P144 actual; 9942 NamedLoadBasedMemory_Ldrexb_Rule_70_A1_P144 actual;
9854 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9943 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9855 a_vs_b_tester.Test("cccc00011101nnnndddd111110011111"); 9944 a_vs_b_tester.Test("cccc00011101nnnntttt111110011111");
9856 } 9945 }
9857 9946
9858 TEST_F(Arm32DecoderStateTests, 9947 TEST_F(Arm32DecoderStateTests,
9859 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406_c ccc00011110nnnndddd11111001tttt_Test) { 9948 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406_c ccc00011110nnnndddd11111001tttt_Test) {
9860 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406 baseli ne_tester; 9949 StoreExclusive3RegisterOpTester_op_23To20Is1110_Strexh_Rule_205_A1_P406 baseli ne_tester;
9861 NamedStoreBasedMemoryRtBits0To3_Strexh_Rule_205_A1_P406 actual; 9950 NamedStoreBasedMemoryRtBits0To3_Strexh_Rule_205_A1_P406 actual;
9862 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 9951 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9863 a_vs_b_tester.Test("cccc00011110nnnndddd11111001tttt"); 9952 a_vs_b_tester.Test("cccc00011110nnnndddd11111001tttt");
9864 } 9953 }
9865 9954
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
9922 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester); 10011 ActualVsBaselineTester a_vs_b_tester(actual, baseline_tester);
9923 a_vs_b_tester.Test("1111101hiiiiiiiiiiiiiiiiiiiiiiii"); 10012 a_vs_b_tester.Test("1111101hiiiiiiiiiiiiiiiiiiiiiiii");
9924 } 10013 }
9925 10014
9926 } // namespace nacl_arm_test 10015 } // namespace nacl_arm_test
9927 10016
9928 int main(int argc, char* argv[]) { 10017 int main(int argc, char* argv[]) {
9929 testing::InitGoogleTest(&argc, argv); 10018 testing::InitGoogleTest(&argc, argv);
9930 return RUN_ALL_TESTS(); 10019 return RUN_ALL_TESTS();
9931 } 10020 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698