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

Side by Side Diff: src/trusted/validator_arm/armv7.table

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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # ARMv7 Instruction Encodings 1 # ARMv7 Instruction Encodings
2 # 2 #
3 # This table is derived from the "ARM Architecture Reference Manual, ARMv7-A 3 # This table is derived from the "ARM Architecture Reference Manual, ARMv7-A
4 # and ARMv7-R edition" and is used here with the permission of ARM Limited. 4 # and ARMv7-R edition" and is used here with the permission of ARM Limited.
5 # Reproduction for purposes other than the development and distribution of 5 # Reproduction for purposes other than the development and distribution of
6 # Native Client may require the explicit permission of ARM Limited. 6 # Native Client may require the explicit permission of ARM Limited.
7 7
8 # This file defines the Native Client "instruction classes" assigned to every 8 # This file defines the Native Client "instruction classes" assigned to every
9 # possible ARMv7 instruction encoding. It is organized into a series of tables, 9 # possible ARMv7 instruction encoding. It is organized into a series of tables,
10 # and directly parallels the ARM Architecture Reference Manual cited above. 10 # and directly parallels the ARM Architecture Reference Manual cited above.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 # appropriate tester. We want to add class hierarchy information for 72 # appropriate tester. We want to add class hierarchy information for
73 # classes that want their tester to be defined on a superclass. 73 # classes that want their tester to be defined on a superclass.
74 # By providing this information, the generator can pick out 74 # By providing this information, the generator can pick out
75 # the corresponding baseline class tester to use, and does 75 # the corresponding baseline class tester to use, and does
76 # not need to define separate testers for derived classes of 76 # not need to define separate testers for derived classes of
77 # the baseline class tester. 77 # the baseline class tester.
78 # ############################################################# 78 # #############################################################
79 79
80 class MaskedBinary2RegisterImmediateOp : Binary2RegisterImmediateOp 80 class MaskedBinary2RegisterImmediateOp : Binary2RegisterImmediateOp
81 class MaskedBinaryRegisterImmediateTest : BinaryRegisterImmediateTest 81 class MaskedBinaryRegisterImmediateTest : BinaryRegisterImmediateTest
82 class Binary3RegisterImmedShiftedOpRnNotSp : Binary3RegisterImmedShiftedOp
82 83
83 ############################################################## 84 ##############################################################
84 # The following define decoder tables. 85 # The following define decoder tables.
85 ############################################################## 86 ##############################################################
86 87
87 +-- ARMv7 (See Section A5.1) 88 +-- ARMv7 (See Section A5.1)
88 | cond(31:28) op1(27:25) op(4) 89 | cond(31:28) op1(27:25) op(4)
89 | ~1111 00x - ->dp_misc 90 | ~1111 00x - ->dp_misc
90 | " 010 - ->load_store_word_byte 91 | " 010 - ->load_store_word_byte
91 | " 011 0 ->load_store_word_byte 92 | " 011 0 ->load_store_word_byte
(...skipping 28 matching lines...) Expand all
120 +-- dp_reg (See Section A5.2.1) 121 +-- dp_reg (See Section A5.2.1)
121 | op1(24:20) op2(11:7) op3(6:5) 122 | op1(24:20) op2(11:7) op3(6:5)
122 | 0000x - - = Binary3RegisterImmedShiftedOp 123 | 0000x - - = Binary3RegisterImmedShiftedOp
123 And_Rule_7_A1_P36 124 And_Rule_7_A1_P36
124 cccc0000000unnnnddddiiiiitt0mmmm 125 cccc0000000unnnnddddiiiiitt0mmmm
125 NotRdIsPcAndS 126 NotRdIsPcAndS
126 | 0001x - - = Binary3RegisterImmedShiftedOp 127 | 0001x - - = Binary3RegisterImmedShiftedOp
127 Eor_Rule_45_A1_P96 128 Eor_Rule_45_A1_P96
128 cccc0000001unnnnddddiiiiitt0mmmm 129 cccc0000001unnnnddddiiiiitt0mmmm
129 NotRdIsPcAndS 130 NotRdIsPcAndS
130 | 0010x - - = Binary3RegisterImmedShiftedOp 131 | 0010x - - = Binary3RegisterImmedShiftedOpRnNotSp
131 SubRule_213_A1_P422 132 SubRule_213_A1_P422
132 cccc0000010unnnnddddiiiiitt0mmmm 133 cccc0000010unnnnddddiiiiitt0mmmm
133 NotRdIsPcAndSOrRnIsSp 134 NotRdIsPcAndSOrRnIsSp
134 | 0011x - - = Binary3RegisterImmedShiftedOp 135 | 0011x - - = Binary3RegisterImmedShiftedOp
135 Rsb_Rule_143_P286 136 Rsb_Rule_143_P286
136 cccc0000011unnnnddddiiiiitt0mmmm 137 cccc0000011unnnnddddiiiiitt0mmmm
137 NotRdIsPcAndS 138 NotRdIsPcAndS
138 | 0100x - - = Binary3RegisterImmedShiftedOp 139 | 0100x - - = Binary3RegisterImmedShiftedOpRnNotSp
139 Add_Rule_6_A1_P24 140 Add_Rule_6_A1_P24
140 cccc0000100unnnnddddiiiiitt0mmmm 141 cccc0000100unnnnddddiiiiitt0mmmm
141 NotRdIsPcAndSOrRnIsSp 142 NotRdIsPcAndSOrRnIsSp
142 | 0101x - - = Binary3RegisterImmedShiftedOp 143 | 0101x - - = Binary3RegisterImmedShiftedOp
143 Adc_Rule_2_A1_P16 144 Adc_Rule_2_A1_P16
144 cccc0000101unnnnddddiiiiitt0mmmm 145 cccc0000101unnnnddddiiiiitt0mmmm
145 NotRdIsPcAndS 146 NotRdIsPcAndS
146 | 0110x - - = Binary3RegisterImmedShiftedOp 147 | 0110x - - = Binary3RegisterImmedShiftedOp
147 Sbc_Rule_152_A1_P304 148 Sbc_Rule_152_A1_P304
148 cccc0000110unnnnddddiiiiitt0mmmm 149 cccc0000110unnnnddddiiiiitt0mmmm
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 | 10011 - =Test # TEQ(immediate) 269 | 10011 - =Test # TEQ(immediate)
269 | 10101 - =Test # CMP(immediate) 270 | 10101 - =Test # CMP(immediate)
270 | 10111 - =Test # CMN(immediate) 271 | 10111 - =Test # CMN(immediate)
271 | 1100x - =DataProc # ORR(immediate) 272 | 1100x - =DataProc # ORR(immediate)
272 | 1101x - =DataProc # MOV(immediate) 273 | 1101x - =DataProc # MOV(immediate)
273 # Note: The following instruction is used to mask 274 # Note: The following instruction is used to mask
274 # memory addresses. 275 # memory addresses.
275 | 1110x - = MaskedBinary2RegisterImmediateOp => ImmediateBic 276 | 1110x - = MaskedBinary2RegisterImmediateOp => ImmediateBic
276 Bic_Rule_19_A1_P50 277 Bic_Rule_19_A1_P50
277 cccc0011110unnnnddddiiiiiiiiiiii 278 cccc0011110unnnnddddiiiiiiiiiiii
278 RdCanBePcAndNotRdIsPcAndS 279 NotRdIsPcAndS
279 | 1111x - =DataProc # MVN(immediate) 280 | 1111x - =DataProc # MVN(immediate)
280 +-- 281 +--
281 282
282 +-- mult (See Section A5.2.5) 283 +-- mult (See Section A5.2.5)
283 | op(23:20) 284 | op(23:20)
284 | 000x =Multiply # MUL 285 | 000x =Multiply # MUL
285 | 001x =Multiply # MLA 286 | 001x =Multiply # MLA
286 | 0100 =LongMultiply(v6) # UMAAL 287 | 0100 =LongMultiply(v6) # UMAAL
287 | 0101 =Undefined 288 | 0101 =Undefined
288 | 0110 =Multiply(v6T2) # MLS 289 | 0110 =Multiply(v6T2) # MLS
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after
804 | " 1001 " 805 | " 1001 "
805 | " 1101 =VectorLoad # VLD2(single, all lanes) 806 | " 1101 =VectorLoad # VLD2(single, all lanes)
806 | " 0x10 =VectorLoad # VLD3(single) 807 | " 0x10 =VectorLoad # VLD3(single)
807 | " 1010 " 808 | " 1010 "
808 | " 1110 =VectorLoad # VLD3(single, all lanes) 809 | " 1110 =VectorLoad # VLD3(single, all lanes)
809 | " 0x11 =VectorLoad # VLD4(single) 810 | " 0x11 =VectorLoad # VLD4(single)
810 | " 1011 " 811 | " 1011 "
811 | " 1111 =VectorLoad # VLD4(single, all lanes) 812 | " 1111 =VectorLoad # VLD4(single, all lanes)
812 | else: =Undefined # Note on page A7-27 813 | else: =Undefined # Note on page A7-27
813 +-- 814 +--
OLDNEW
« no previous file with comments | « src/trusted/validator_arm/actual_vs_baseline.cc ('k') | src/trusted/validator_arm/baseline_classes.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698