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

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

Issue 11569019: Fix uses in ARM table media_instructions. (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 years 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 9
10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode.h" 10 #include "native_client/src/trusted/validator_arm/gen/arm32_decode.h"
11 11
12 namespace nacl_arm_dec { 12 namespace nacl_arm_dec {
13 13
14 14
15 Arm32DecoderState::Arm32DecoderState() : DecoderState() 15 Arm32DecoderState::Arm32DecoderState() : DecoderState()
16 , Binary2RegisterBitRangeMsbGeLsb_instance_()
17 , Binary2RegisterBitRangeNotRnIsPcBitfieldExtract_instance_()
16 , Binary2RegisterImmedShiftedTest_instance_() 18 , Binary2RegisterImmedShiftedTest_instance_()
17 , Binary2RegisterImmediateOp_instance_() 19 , Binary2RegisterImmediateOp_instance_()
18 , Binary2RegisterImmediateOpAddSub_instance_() 20 , Binary2RegisterImmediateOpAddSub_instance_()
19 , Binary2RegisterImmediateOpDynCodeReplace_instance_() 21 , Binary2RegisterImmediateOpDynCodeReplace_instance_()
20 , Binary3RegisterOp_instance_() 22 , Binary3RegisterOp_instance_()
21 , Binary3RegisterOpAltA_instance_() 23 , Binary3RegisterOpAltA_instance_()
22 , Binary3RegisterOpAltANoCondsUpdate_instance_() 24 , Binary3RegisterOpAltANoCondsUpdate_instance_()
23 , Binary3RegisterOpAltBNoCondUpdates_instance_() 25 , Binary3RegisterOpAltBNoCondUpdates_instance_()
24 , Binary3RegisterShiftedOp_instance_() 26 , Binary3RegisterShiftedOp_instance_()
25 , Binary3RegisterShiftedTest_instance_() 27 , Binary3RegisterShiftedTest_instance_()
26 , Binary4RegisterDualOp_instance_() 28 , Binary4RegisterDualOp_instance_()
27 , Binary4RegisterDualOpLtV6RdNotRn_instance_() 29 , Binary4RegisterDualOpLtV6RdNotRn_instance_()
28 , Binary4RegisterDualOpNoCondsUpdate_instance_() 30 , Binary4RegisterDualOpNoCondsUpdate_instance_()
29 , Binary4RegisterDualResult_instance_() 31 , Binary4RegisterDualResult_instance_()
30 , Binary4RegisterDualResultLtV6RdHiLoNotRn_instance_() 32 , Binary4RegisterDualResultLtV6RdHiLoNotRn_instance_()
31 , Binary4RegisterDualResultNoCondsUpdate_instance_() 33 , Binary4RegisterDualResultNoCondsUpdate_instance_()
32 , Binary4RegisterDualResultUsesRnRm_instance_() 34 , Binary4RegisterDualResultUsesRnRm_instance_()
33 , Binary4RegisterShiftedOp_instance_() 35 , Binary4RegisterShiftedOp_instance_()
34 , BinaryRegisterImmediateTest_instance_() 36 , BinaryRegisterImmediateTest_instance_()
35 , Branch_instance_() 37 , Branch_instance_()
36 , BranchToRegister_instance_() 38 , BranchToRegister_instance_()
37 , BreakPointAndConstantPoolHead_instance_() 39 , BreakPointAndConstantPoolHead_instance_()
38 , DataBarrier_instance_() 40 , DataBarrier_instance_()
39 , Defs12To15CondsDontCareMsbGeLsb_instance_()
40 , Defs12To15CondsDontCareRdRnNotPc_instance_() 41 , Defs12To15CondsDontCareRdRnNotPc_instance_()
41 , Defs12To15CondsDontCareRdRnNotPcBitfieldExtract_instance_()
42 , Defs12To15CondsDontCareRnRdRmNotPc_instance_() 42 , Defs12To15CondsDontCareRnRdRmNotPc_instance_()
43 , Defs16To19CondsDontCareRdRaRmRnNotPc_instance_()
44 , Defs16To19CondsDontCareRdRmRnNotPc_instance_()
45 , Deprecated_instance_() 43 , Deprecated_instance_()
46 , DontCareInst_instance_() 44 , DontCareInst_instance_()
47 , DontCareInstRdNotPc_instance_() 45 , DontCareInstRdNotPc_instance_()
48 , DuplicateToAdvSIMDRegisters_instance_() 46 , DuplicateToAdvSIMDRegisters_instance_()
49 , Forbidden_instance_() 47 , Forbidden_instance_()
50 , ForbiddenCondDecoder_instance_() 48 , ForbiddenCondDecoder_instance_()
51 , InstructionBarrier_instance_() 49 , InstructionBarrier_instance_()
52 , LdrImmediateOp_instance_() 50 , LdrImmediateOp_instance_()
53 , Load2RegisterImm12Op_instance_() 51 , Load2RegisterImm12Op_instance_()
54 , Load2RegisterImm8DoubleOp_instance_() 52 , Load2RegisterImm8DoubleOp_instance_()
(...skipping 982 matching lines...) Expand 10 before | Expand all | Expand 10 after
1037 } 1035 }
1038 1036
1039 // Implementation of table: media_instructions. 1037 // Implementation of table: media_instructions.
1040 // Specified by: See Section A5.4 1038 // Specified by: See Section A5.4
1041 const ClassDecoder& Arm32DecoderState::decode_media_instructions( 1039 const ClassDecoder& Arm32DecoderState::decode_media_instructions(
1042 const Instruction inst) const 1040 const Instruction inst) const
1043 { 1041 {
1044 if ((inst.Bits() & 0x01F00000) == 0x01800000 /* op1(24:20)=11000 */ && 1042 if ((inst.Bits() & 0x01F00000) == 0x01800000 /* op1(24:20)=11000 */ &&
1045 (inst.Bits() & 0x000000E0) == 0x00000000 /* op2(7:5)=000 */ && 1043 (inst.Bits() & 0x000000E0) == 0x00000000 /* op2(7:5)=000 */ &&
1046 (inst.Bits() & 0x0000F000) != 0x0000F000 /* Rd(15:12)=~1111 */) { 1044 (inst.Bits() & 0x0000F000) != 0x0000F000 /* Rd(15:12)=~1111 */) {
1047 return Defs16To19CondsDontCareRdRaRmRnNotPc_instance_; 1045 return Binary4RegisterDualOp_instance_;
1048 } 1046 }
1049 1047
1050 if ((inst.Bits() & 0x01F00000) == 0x01800000 /* op1(24:20)=11000 */ && 1048 if ((inst.Bits() & 0x01F00000) == 0x01800000 /* op1(24:20)=11000 */ &&
1051 (inst.Bits() & 0x000000E0) == 0x00000000 /* op2(7:5)=000 */ && 1049 (inst.Bits() & 0x000000E0) == 0x00000000 /* op2(7:5)=000 */ &&
1052 (inst.Bits() & 0x0000F000) == 0x0000F000 /* Rd(15:12)=1111 */) { 1050 (inst.Bits() & 0x0000F000) == 0x0000F000 /* Rd(15:12)=1111 */) {
1053 return Defs16To19CondsDontCareRdRmRnNotPc_instance_; 1051 return Binary3RegisterOpAltA_instance_;
1054 } 1052 }
1055 1053
1056 if ((inst.Bits() & 0x01F00000) == 0x01F00000 /* op1(24:20)=11111 */ && 1054 if ((inst.Bits() & 0x01F00000) == 0x01F00000 /* op1(24:20)=11111 */ &&
1057 (inst.Bits() & 0x000000E0) == 0x000000E0 /* op2(7:5)=111 */) { 1055 (inst.Bits() & 0x000000E0) == 0x000000E0 /* op2(7:5)=111 */) {
1058 return PermanentlyUndefined_instance_; 1056 return PermanentlyUndefined_instance_;
1059 } 1057 }
1060 1058
1061 if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op1(24:20)=1110x */ && 1059 if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op1(24:20)=1110x */ &&
1062 (inst.Bits() & 0x00000060) == 0x00000000 /* op2(7:5)=x00 */ && 1060 (inst.Bits() & 0x00000060) == 0x00000000 /* op2(7:5)=x00 */ &&
1063 (inst.Bits() & 0x0000000F) != 0x0000000F /* Rn(3:0)=~1111 */) { 1061 (inst.Bits() & 0x0000000F) != 0x0000000F /* Rn(3:0)=~1111 */) {
1064 return Defs12To15CondsDontCareMsbGeLsb_instance_; 1062 return Binary2RegisterBitRangeMsbGeLsb_instance_;
1065 } 1063 }
1066 1064
1067 if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op1(24:20)=1110x */ && 1065 if ((inst.Bits() & 0x01E00000) == 0x01C00000 /* op1(24:20)=1110x */ &&
1068 (inst.Bits() & 0x00000060) == 0x00000000 /* op2(7:5)=x00 */ && 1066 (inst.Bits() & 0x00000060) == 0x00000000 /* op2(7:5)=x00 */ &&
1069 (inst.Bits() & 0x0000000F) == 0x0000000F /* Rn(3:0)=1111 */) { 1067 (inst.Bits() & 0x0000000F) == 0x0000000F /* Rn(3:0)=1111 */) {
1070 return Unary1RegisterBitRangeMsbGeLsb_instance_; 1068 return Unary1RegisterBitRangeMsbGeLsb_instance_;
1071 } 1069 }
1072 1070
1073 if ((inst.Bits() & 0x01A00000) == 0x01A00000 /* op1(24:20)=11x1x */ && 1071 if ((inst.Bits() & 0x01A00000) == 0x01A00000 /* op1(24:20)=11x1x */ &&
1074 (inst.Bits() & 0x00000060) == 0x00000040 /* op2(7:5)=x10 */) { 1072 (inst.Bits() & 0x00000060) == 0x00000040 /* op2(7:5)=x10 */) {
1075 return Defs12To15CondsDontCareRdRnNotPcBitfieldExtract_instance_; 1073 return Binary2RegisterBitRangeNotRnIsPcBitfieldExtract_instance_;
1076 } 1074 }
1077 1075
1078 if ((inst.Bits() & 0x01C00000) == 0x00000000 /* op1(24:20)=000xx */) { 1076 if ((inst.Bits() & 0x01C00000) == 0x00000000 /* op1(24:20)=000xx */) {
1079 return decode_parallel_addition_and_subtraction_signed(inst); 1077 return decode_parallel_addition_and_subtraction_signed(inst);
1080 } 1078 }
1081 1079
1082 if ((inst.Bits() & 0x01C00000) == 0x00400000 /* op1(24:20)=001xx */) { 1080 if ((inst.Bits() & 0x01C00000) == 0x00400000 /* op1(24:20)=001xx */) {
1083 return decode_parallel_addition_and_subtraction_unsigned(inst); 1081 return decode_parallel_addition_and_subtraction_unsigned(inst);
1084 } 1082 }
1085 1083
(...skipping 1313 matching lines...) Expand 10 before | Expand all | Expand 10 after
2399 2397
2400 // Catch any attempt to fall though ... 2398 // Catch any attempt to fall though ...
2401 return not_implemented_; 2399 return not_implemented_;
2402 } 2400 }
2403 2401
2404 const ClassDecoder& Arm32DecoderState::decode(const Instruction inst) const { 2402 const ClassDecoder& Arm32DecoderState::decode(const Instruction inst) const {
2405 return decode_ARMv7(inst); 2403 return decode_ARMv7(inst);
2406 } 2404 }
2407 2405
2408 } // namespace nacl_arm_dec 2406 } // namespace nacl_arm_dec
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/gen/arm32_decode.h ('k') | src/trusted/validator_arm/gen/arm32_decode_media_instructions_tests.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698