Index: src/trusted/validator_arm/gen/arm32_decode.cc |
=================================================================== |
--- src/trusted/validator_arm/gen/arm32_decode.cc (revision 10458) |
+++ src/trusted/validator_arm/gen/arm32_decode.cc (working copy) |
@@ -13,6 +13,8 @@ |
Arm32DecoderState::Arm32DecoderState() : DecoderState() |
+ , Binary2RegisterBitRangeMsbGeLsb_instance_() |
+ , Binary2RegisterBitRangeNotRnIsPcBitfieldExtract_instance_() |
, Binary2RegisterImmedShiftedTest_instance_() |
, Binary2RegisterImmediateOp_instance_() |
, Binary2RegisterImmediateOpAddSub_instance_() |
@@ -36,12 +38,8 @@ |
, BranchToRegister_instance_() |
, BreakPointAndConstantPoolHead_instance_() |
, DataBarrier_instance_() |
- , Defs12To15CondsDontCareMsbGeLsb_instance_() |
, Defs12To15CondsDontCareRdRnNotPc_instance_() |
- , Defs12To15CondsDontCareRdRnNotPcBitfieldExtract_instance_() |
, Defs12To15CondsDontCareRnRdRmNotPc_instance_() |
- , Defs16To19CondsDontCareRdRaRmRnNotPc_instance_() |
- , Defs16To19CondsDontCareRdRmRnNotPc_instance_() |
, Deprecated_instance_() |
, DontCareInst_instance_() |
, DontCareInstRdNotPc_instance_() |
@@ -1064,13 +1062,13 @@ |
if ((inst.Bits() & 0x01F00000) == 0x01800000 /* op1(24:20)=11000 */ && |
(inst.Bits() & 0x000000E0) == 0x00000000 /* op2(7:5)=000 */ && |
(inst.Bits() & 0x0000F000) != 0x0000F000 /* Rd(15:12)=~1111 */) { |
- return Defs16To19CondsDontCareRdRaRmRnNotPc_instance_; |
+ return Binary4RegisterDualOp_instance_; |
} |
if ((inst.Bits() & 0x01F00000) == 0x01800000 /* op1(24:20)=11000 */ && |
(inst.Bits() & 0x000000E0) == 0x00000000 /* op2(7:5)=000 */ && |
(inst.Bits() & 0x0000F000) == 0x0000F000 /* Rd(15:12)=1111 */) { |
- return Defs16To19CondsDontCareRdRmRnNotPc_instance_; |
+ return Binary3RegisterOpAltA_instance_; |
} |
if ((inst.Bits() & 0x01F00000) == 0x01F00000 /* op1(24:20)=11111 */ && |
@@ -1078,10 +1076,15 @@ |
return PermanentlyUndefined_instance_; |
} |
+ if ((inst.Bits() & 0x01E00000) == 0x01A00000 /* op1(24:20)=1101x */ && |
+ (inst.Bits() & 0x00000060) == 0x00000040 /* op2(7:5)=x10 */) { |
+ return Binary2RegisterBitRangeNotRnIsPcBitfieldExtract_instance_; |
+ } |
+ |
if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op1(24:20)=1110x */ && |
(inst.Bits() & 0x00000060) == 0x00000000 /* op2(7:5)=x00 */ && |
(inst.Bits() & 0x0000000F) != 0x0000000F /* Rn(3:0)=~1111 */) { |
- return Defs12To15CondsDontCareMsbGeLsb_instance_; |
+ return Binary2RegisterBitRangeMsbGeLsb_instance_; |
} |
if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op1(24:20)=1110x */ && |
@@ -1090,9 +1093,9 @@ |
return Unary1RegisterBitRangeMsbGeLsb_instance_; |
} |
- if ((inst.Bits() & 0x01A00000) == 0x01A00000 /* op1(24:20)=11x1x */ && |
+ if ((inst.Bits() & 0x01E00000) == 0x01E00000 /* op1(24:20)=1111x */ && |
(inst.Bits() & 0x00000060) == 0x00000040 /* op2(7:5)=x10 */) { |
- return Defs12To15CondsDontCareRdRnNotPcBitfieldExtract_instance_; |
+ return Unary1RegisterBitRangeMsbGeLsb_instance_; |
} |
if ((inst.Bits() & 0x01C00000) == 0x00000000 /* op1(24:20)=000xx */) { |