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

Unified Diff: src/trusted/validator_arm/gen/arm32_decode.cc

Issue 10381030: Clean up testing of instructions. Allow testing to quit if test pattern tests (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/trusted/validator_arm/gen/arm32_decode.h ('k') | src/trusted/validator_arm/gen/arm32_decode_named.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/trusted/validator_arm/gen/arm32_decode.cc
===================================================================
--- src/trusted/validator_arm/gen/arm32_decode.cc (revision 8517)
+++ src/trusted/validator_arm/gen/arm32_decode.cc (working copy)
@@ -17,6 +17,7 @@
Arm32DecoderState::Arm32DecoderState() : DecoderState()
, Binary2RegisterImmedShiftedTest_instance_()
, Binary3RegisterImmedShiftedOp_instance_()
+ , Binary3RegisterImmedShiftedOpRnNotSp_instance_()
, Binary3RegisterOp_instance_()
, Binary3RegisterShiftedTest_instance_()
, Binary4RegisterShiftedOp_instance_()
@@ -259,6 +260,26 @@
const Instruction insn) const
{
UNREFERENCED_PARAMETER(insn);
+ if ((insn & 0x01E00000) == 0x00400000 /* op1(24:20) == 0010x */ &&
+ true &&
+ true)
+ return Binary3RegisterImmedShiftedOpRnNotSp_instance_;
+
+ if ((insn & 0x01E00000) == 0x00800000 /* op1(24:20) == 0100x */ &&
+ true &&
+ true)
+ return Binary3RegisterImmedShiftedOpRnNotSp_instance_;
+
+ if ((insn & 0x01E00000) == 0x00A00000 /* op1(24:20) == 0101x */ &&
+ true &&
+ true)
+ return Binary3RegisterImmedShiftedOp_instance_;
+
+ if ((insn & 0x01E00000) == 0x01800000 /* op1(24:20) == 1100x */ &&
+ true &&
+ true)
+ return Binary3RegisterImmedShiftedOp_instance_;
+
if ((insn & 0x01E00000) == 0x01A00000 /* op1(24:20) == 1101x */ &&
(insn & 0x00000F80) != 0x00000000 /* op2(11:7) == ~00000 */ &&
(insn & 0x00000060) == 0x00000000 /* op3(6:5) == 00 */)
@@ -294,19 +315,24 @@
true)
return Unary2RegisterImmedShiftedOp_instance_;
- if ((insn & 0x01900000) == 0x01100000 /* op1(24:20) == 10xx1 */ &&
+ if ((insn & 0x00E00000) == 0x00C00000 /* op1(24:20) == x110x */ &&
true &&
true)
- return Binary2RegisterImmedShiftedTest_instance_;
+ return Binary3RegisterImmedShiftedOp_instance_;
- if ((insn & 0x01A00000) == 0x01800000 /* op1(24:20) == 11x0x */ &&
+ if ((insn & 0x01600000) == 0x00600000 /* op1(24:20) == 0x11x */ &&
true &&
true)
return Binary3RegisterImmedShiftedOp_instance_;
- if ((insn & 0x01000000) == 0x00000000 /* op1(24:20) == 0xxxx */ &&
+ if ((insn & 0x01900000) == 0x01100000 /* op1(24:20) == 10xx1 */ &&
true &&
true)
+ return Binary2RegisterImmedShiftedTest_instance_;
+
+ if ((insn & 0x01C00000) == 0x00000000 /* op1(24:20) == 000xx */ &&
+ true &&
+ true)
return Binary3RegisterImmedShiftedOp_instance_;
// Catch any attempt to fall though ...
« no previous file with comments | « src/trusted/validator_arm/gen/arm32_decode.h ('k') | src/trusted/validator_arm/gen/arm32_decode_named.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698