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

Side by Side Diff: src/trusted/validator_arm/gen/arm32_decode_named_decoder.h

Issue 9960043: Finish separation of testing from sel_ldr validation. Also, automate (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client/
Patch Set: Created 8 years, 8 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
(Empty)
1
2
3 /*
4 * Copyright 2012 The Native Client Authors. All rights reserved.
5 * Use of this source code is governed by a BSD-style license that can
6 * be found in the LICENSE file.
7 */
8
9 // DO NOT EDIT: GENERATED CODE
10
11
12 #ifndef NACL_TRUSTED_BUT_NOT_TCB
13 #error This file is not meant for use in the TCB
14 #endif
15
16
17
18 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_NAMED_DECODER_H _
19 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_NAMED_DECODER_H _
20
21 #include "native_client/src/trusted/validator_arm/decode.h"
22 #include "native_client/src/trusted/validator_arm/gen/arm32_decode_named_classes .h"
23 #include "native_client/src/trusted/validator_arm/named_class_decoder.h"
24
25 namespace nacl_arm_test {
26
27 // Defines a stateless (named)decoder class selector for instructions
28 class NamedArm32DecoderState : nacl_arm_dec::DecoderState {
29 public:
30 explicit NamedArm32DecoderState();
31 virtual ~NamedArm32DecoderState();
32
33 // Parses the given instruction, returning the named class
34 // decoder to use.
35 const NamedClassDecoder& decode_named(
36 const nacl_arm_dec::Instruction) const;
37
38 // Parses the given instruction, returning the class decoder
39 // to use.
40 virtual const nacl_arm_dec::ClassDecoder& decode(
41 const nacl_arm_dec::Instruction) const;
42
43 // Fields containing the named class decoders that can
44 // be returned.
45
46 const NamedBinary3RegisterShiftedTest Binary3RegisterShiftedTest_instance_;
47
48 const NamedBinary4RegisterShiftedOp Binary4RegisterShiftedOp_instance_;
49
50 const NamedBranch Branch_instance_;
51
52 const NamedBreakpoint Breakpoint_instance_;
53
54 const NamedBxBlx BxBlx_instance_;
55
56 const NamedCoprocessorOp CoprocessorOp_instance_;
57
58 const NamedDataProc DataProc_instance_;
59
60 const NamedDeprecated Deprecated_instance_;
61
62 const NamedEffectiveNoOp EffectiveNoOp_instance_;
63
64 const NamedForbidden Forbidden_instance_;
65
66 const NamedImmediateBic ImmediateBic_instance_;
67
68 const NamedLoadCoprocessor LoadCoprocessor_instance_;
69
70 const NamedLoadDoubleExclusive LoadDoubleExclusive_instance_;
71
72 const NamedLoadDoubleI LoadDoubleI_instance_;
73
74 const NamedLoadDoubleR LoadDoubleR_instance_;
75
76 const NamedLoadExclusive LoadExclusive_instance_;
77
78 const NamedLoadImmediate LoadImmediate_instance_;
79
80 const NamedLoadMultiple LoadMultiple_instance_;
81
82 const NamedLoadRegister LoadRegister_instance_;
83
84 const NamedLongMultiply LongMultiply_instance_;
85
86 const NamedMoveDoubleFromCoprocessor MoveDoubleFromCoprocessor_instance_;
87
88 const NamedMoveFromCoprocessor MoveFromCoprocessor_instance_;
89
90 const NamedMoveToStatusRegister MoveToStatusRegister_instance_;
91
92 const NamedMultiply Multiply_instance_;
93
94 const NamedPackSatRev PackSatRev_instance_;
95
96 const NamedRoadblock Roadblock_instance_;
97
98 const NamedSatAddSub SatAddSub_instance_;
99
100 const NamedStoreCoprocessor StoreCoprocessor_instance_;
101
102 const NamedStoreExclusive StoreExclusive_instance_;
103
104 const NamedStoreImmediate StoreImmediate_instance_;
105
106 const NamedStoreRegister StoreRegister_instance_;
107
108 const NamedTest Test_instance_;
109
110 const NamedTestImmediate TestImmediate_instance_;
111
112 const NamedUnary3RegisterShiftedOp Unary3RegisterShiftedOp_instance_;
113
114 const NamedUndefined Undefined_instance_;
115
116 const NamedUnpredictable Unpredictable_instance_;
117
118 const NamedVectorLoad VectorLoad_instance_;
119
120 const NamedVectorStore VectorStore_instance_;
121
122 const NamedAdd_Rule_7_A1_P26Binary4RegisterShiftedOp Add_Rule_7_A1_P26Binary4R egisterShiftedOp_instance_;
123
124 private:
125
126 inline const NamedClassDecoder& decode_ARMv7(
127 const nacl_arm_dec::Instruction insn) const;
128
129 inline const NamedClassDecoder& decode_branch_block_xfer(
130 const nacl_arm_dec::Instruction insn) const;
131
132 inline const NamedClassDecoder& decode_dp_immed(
133 const nacl_arm_dec::Instruction insn) const;
134
135 inline const NamedClassDecoder& decode_dp_misc(
136 const nacl_arm_dec::Instruction insn) const;
137
138 inline const NamedClassDecoder& decode_dp_reg(
139 const nacl_arm_dec::Instruction insn) const;
140
141 inline const NamedClassDecoder& decode_dp_reg_shifted(
142 const nacl_arm_dec::Instruction insn) const;
143
144 inline const NamedClassDecoder& decode_extra_load_store(
145 const nacl_arm_dec::Instruction insn) const;
146
147 inline const NamedClassDecoder& decode_half_mult(
148 const nacl_arm_dec::Instruction insn) const;
149
150 inline const NamedClassDecoder& decode_load_store_word_byte(
151 const nacl_arm_dec::Instruction insn) const;
152
153 inline const NamedClassDecoder& decode_media(
154 const nacl_arm_dec::Instruction insn) const;
155
156 inline const NamedClassDecoder& decode_misc(
157 const nacl_arm_dec::Instruction insn) const;
158
159 inline const NamedClassDecoder& decode_misc_hints_simd(
160 const nacl_arm_dec::Instruction insn) const;
161
162 inline const NamedClassDecoder& decode_msr_and_hints(
163 const nacl_arm_dec::Instruction insn) const;
164
165 inline const NamedClassDecoder& decode_mult(
166 const nacl_arm_dec::Instruction insn) const;
167
168 inline const NamedClassDecoder& decode_pack_sat_rev(
169 const nacl_arm_dec::Instruction insn) const;
170
171 inline const NamedClassDecoder& decode_parallel_add_sub(
172 const nacl_arm_dec::Instruction insn) const;
173
174 inline const NamedClassDecoder& decode_sat_add_sub(
175 const nacl_arm_dec::Instruction insn) const;
176
177 inline const NamedClassDecoder& decode_signed_mult(
178 const nacl_arm_dec::Instruction insn) const;
179
180 inline const NamedClassDecoder& decode_simd_dp(
181 const nacl_arm_dec::Instruction insn) const;
182
183 inline const NamedClassDecoder& decode_simd_dp_1imm(
184 const nacl_arm_dec::Instruction insn) const;
185
186 inline const NamedClassDecoder& decode_simd_dp_2misc(
187 const nacl_arm_dec::Instruction insn) const;
188
189 inline const NamedClassDecoder& decode_simd_dp_2scalar(
190 const nacl_arm_dec::Instruction insn) const;
191
192 inline const NamedClassDecoder& decode_simd_dp_2shift(
193 const nacl_arm_dec::Instruction insn) const;
194
195 inline const NamedClassDecoder& decode_simd_dp_3diff(
196 const nacl_arm_dec::Instruction insn) const;
197
198 inline const NamedClassDecoder& decode_simd_dp_3same(
199 const nacl_arm_dec::Instruction insn) const;
200
201 inline const NamedClassDecoder& decode_simd_load_store(
202 const nacl_arm_dec::Instruction insn) const;
203
204 inline const NamedClassDecoder& decode_simd_load_store_l0(
205 const nacl_arm_dec::Instruction insn) const;
206
207 inline const NamedClassDecoder& decode_simd_load_store_l1(
208 const nacl_arm_dec::Instruction insn) const;
209
210 inline const NamedClassDecoder& decode_super_cop(
211 const nacl_arm_dec::Instruction insn) const;
212
213 inline const NamedClassDecoder& decode_sync(
214 const nacl_arm_dec::Instruction insn) const;
215
216 inline const NamedClassDecoder& decode_unconditional(
217 const nacl_arm_dec::Instruction insn) const;
218
219 };
220
221 } // namespace nacl_arm_test
222 #endif // NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_ARM_GEN_ARM32_DECODE_NAMED_DECODE R_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698