| OLD | NEW |
| 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" |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 318 const ClassDecoder& Arm32DecoderState::decode_data_processing_immediate( | 318 const ClassDecoder& Arm32DecoderState::decode_data_processing_immediate( |
| 319 const Instruction insn) const | 319 const Instruction insn) const |
| 320 { | 320 { |
| 321 UNREFERENCED_PARAMETER(insn); | 321 UNREFERENCED_PARAMETER(insn); |
| 322 if ((insn.Bits() & 0x01F00000) == 0x00400000 /* op(24:20) == 00100 */ && | 322 if ((insn.Bits() & 0x01F00000) == 0x00400000 /* op(24:20) == 00100 */ && |
| 323 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) { | 323 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) { |
| 324 return Defs12To15_instance_; | 324 return Defs12To15_instance_; |
| 325 } | 325 } |
| 326 | 326 |
| 327 if ((insn.Bits() & 0x01F00000) == 0x00500000 /* op(24:20) == 00101 */ && | 327 if ((insn.Bits() & 0x01F00000) == 0x00500000 /* op(24:20) == 00101 */ && |
| 328 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) { | 328 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */ && |
| 329 (insn.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx1111xxxxxxxxxxxx */) { |
| 329 return Forbidden_instance_; | 330 return Forbidden_instance_; |
| 330 } | 331 } |
| 331 | 332 |
| 332 if ((insn.Bits() & 0x01F00000) == 0x00800000 /* op(24:20) == 01000 */ && | 333 if ((insn.Bits() & 0x01F00000) == 0x00800000 /* op(24:20) == 01000 */ && |
| 333 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) { | 334 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) { |
| 334 return Defs12To15_instance_; | 335 return Defs12To15_instance_; |
| 335 } | 336 } |
| 336 | 337 |
| 337 if ((insn.Bits() & 0x01F00000) == 0x00900000 /* op(24:20) == 01001 */ && | 338 if ((insn.Bits() & 0x01F00000) == 0x00900000 /* op(24:20) == 01001 */ && |
| 338 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */) { | 339 (insn.Bits() & 0x000F0000) == 0x000F0000 /* Rn(19:16) == 1111 */ && |
| 340 (insn.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx1111xxxxxxxxxxxx */) { |
| 339 return Forbidden_instance_; | 341 return Forbidden_instance_; |
| 340 } | 342 } |
| 341 | 343 |
| 342 if ((insn.Bits() & 0x01F00000) == 0x01100000 /* op(24:20) == 10001 */ && | 344 if ((insn.Bits() & 0x01F00000) == 0x01100000 /* op(24:20) == 10001 */ && |
| 343 (insn.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx0000xxxxxxxxxxxx */) { | 345 (insn.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx0000xxxxxxxxxxxx */) { |
| 344 return TestIfAddressMasked_instance_; | 346 return TestIfAddressMasked_instance_; |
| 345 } | 347 } |
| 346 | 348 |
| 347 if ((insn.Bits() & 0x01F00000) == 0x01500000 /* op(24:20) == 10101 */ && | 349 if ((insn.Bits() & 0x01F00000) == 0x01500000 /* op(24:20) == 10101 */ && |
| 348 (insn.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx0000xxxxxxxxxxxx */) { | 350 (insn.Bits() & 0x0000F000) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx0000xxxxxxxxxxxx */) { |
| (...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 939 // Catch any attempt to fall though ... | 941 // Catch any attempt to fall though ... |
| 940 return not_implemented_; | 942 return not_implemented_; |
| 941 } | 943 } |
| 942 | 944 |
| 943 // Implementation of table: miscellaneous_instructions. | 945 // Implementation of table: miscellaneous_instructions. |
| 944 // Specified by: See Section A5.2.12 | 946 // Specified by: See Section A5.2.12 |
| 945 const ClassDecoder& Arm32DecoderState::decode_miscellaneous_instructions( | 947 const ClassDecoder& Arm32DecoderState::decode_miscellaneous_instructions( |
| 946 const Instruction insn) const | 948 const Instruction insn) const |
| 947 { | 949 { |
| 948 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && | 950 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && |
| 951 (insn.Bits() & 0x00000200) == 0x00000000 /* B(9:9) == 0 */ && |
| 949 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && | 952 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && |
| 950 (insn.Bits() & 0x00030000) == 0x00000000 /* op1(19:16) == xx00 */ && | 953 (insn.Bits() & 0x00030000) == 0x00000000 /* op1(19:16) == xx00 */ && |
| 951 (insn.Bits() & 0x0000FF00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx11110000xxxxxxxx */) { | 954 (insn.Bits() & 0x0000FD00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx111100x0xxxxxxxx */) { |
| 952 return Unary1RegisterUse_instance_; | 955 return Unary1RegisterUse_instance_; |
| 953 } | 956 } |
| 954 | 957 |
| 955 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && | 958 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && |
| 959 (insn.Bits() & 0x00000200) == 0x00000000 /* B(9:9) == 0 */ && |
| 956 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && | 960 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && |
| 957 (insn.Bits() & 0x00030000) == 0x00010000 /* op1(19:16) == xx01 */ && | 961 (insn.Bits() & 0x00030000) == 0x00010000 /* op1(19:16) == xx01 */ && |
| 958 (insn.Bits() & 0x0000FF00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx11110000xxxxxxxx */) { | 962 (insn.Bits() & 0x0000FD00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx111100x0xxxxxxxx */) { |
| 959 return Forbidden_instance_; | 963 return Forbidden_instance_; |
| 960 } | 964 } |
| 961 | 965 |
| 962 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && | 966 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && |
| 967 (insn.Bits() & 0x00000200) == 0x00000000 /* B(9:9) == 0 */ && |
| 963 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && | 968 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && |
| 964 (insn.Bits() & 0x00020000) == 0x00020000 /* op1(19:16) == xx1x */ && | 969 (insn.Bits() & 0x00020000) == 0x00020000 /* op1(19:16) == xx1x */ && |
| 965 (insn.Bits() & 0x0000FF00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx11110000xxxxxxxx */) { | 970 (insn.Bits() & 0x0000FD00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx111100x0xxxxxxxx */) { |
| 966 return Forbidden_instance_; | 971 return Forbidden_instance_; |
| 967 } | 972 } |
| 968 | 973 |
| 969 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && | 974 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && |
| 975 (insn.Bits() & 0x00000200) == 0x00000000 /* B(9:9) == 0 */ && |
| 970 (insn.Bits() & 0x00600000) == 0x00600000 /* op(22:21) == 11 */ && | 976 (insn.Bits() & 0x00600000) == 0x00600000 /* op(22:21) == 11 */ && |
| 971 (insn.Bits() & 0x0000FF00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx11110000xxxxxxxx */) { | 977 (insn.Bits() & 0x0000FD00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx111100x0xxxxxxxx */) { |
| 972 return Forbidden_instance_; | 978 return Forbidden_instance_; |
| 973 } | 979 } |
| 974 | 980 |
| 975 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && | 981 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && |
| 982 (insn.Bits() & 0x00000200) == 0x00000000 /* B(9:9) == 0 */ && |
| 976 (insn.Bits() & 0x00200000) == 0x00000000 /* op(22:21) == x0 */ && | 983 (insn.Bits() & 0x00200000) == 0x00000000 /* op(22:21) == x0 */ && |
| 977 (insn.Bits() & 0x000F0F0F) == 0x000F0000 /* $pattern(31:0) == xxxxxxxxxxxx
1111xxxx0000xxxx0000 */) { | 984 (insn.Bits() & 0x000F0D0F) == 0x000F0000 /* $pattern(31:0) == xxxxxxxxxxxx
1111xxxx00x0xxxx0000 */) { |
| 978 return Unary1RegisterSet_instance_; | 985 return Unary1RegisterSet_instance_; |
| 979 } | 986 } |
| 980 | 987 |
| 988 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && |
| 989 (insn.Bits() & 0x00000200) == 0x00000200 /* B(9:9) == 1 */ && |
| 990 (insn.Bits() & 0x00200000) == 0x00000000 /* op(22:21) == x0 */ && |
| 991 (insn.Bits() & 0x00000C0F) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx00xxxxxx0000 */) { |
| 992 return Forbidden_instance_; |
| 993 } |
| 994 |
| 995 if ((insn.Bits() & 0x00000070) == 0x00000000 /* op2(6:4) == 000 */ && |
| 996 (insn.Bits() & 0x00000200) == 0x00000200 /* B(9:9) == 1 */ && |
| 997 (insn.Bits() & 0x00200000) == 0x00200000 /* op(22:21) == x1 */ && |
| 998 (insn.Bits() & 0x0000FC00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx111100xxxxxxxxxx */) { |
| 999 return Forbidden_instance_; |
| 1000 } |
| 1001 |
| 981 if ((insn.Bits() & 0x00000070) == 0x00000010 /* op2(6:4) == 001 */ && | 1002 if ((insn.Bits() & 0x00000070) == 0x00000010 /* op2(6:4) == 001 */ && |
| 982 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && | 1003 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && |
| 983 (insn.Bits() & 0x000FFF00) == 0x000FFF00 /* $pattern(31:0) == xxxxxxxxxxxx
111111111111xxxxxxxx */) { | 1004 (insn.Bits() & 0x000FFF00) == 0x000FFF00 /* $pattern(31:0) == xxxxxxxxxxxx
111111111111xxxxxxxx */) { |
| 984 return BxBlx_instance_; | 1005 return BxBlx_instance_; |
| 985 } | 1006 } |
| 986 | 1007 |
| 987 if ((insn.Bits() & 0x00000070) == 0x00000010 /* op2(6:4) == 001 */ && | 1008 if ((insn.Bits() & 0x00000070) == 0x00000010 /* op2(6:4) == 001 */ && |
| 988 (insn.Bits() & 0x00600000) == 0x00600000 /* op(22:21) == 11 */ && | 1009 (insn.Bits() & 0x00600000) == 0x00600000 /* op(22:21) == 11 */ && |
| 989 (insn.Bits() & 0x000F0F00) == 0x000F0F00 /* $pattern(31:0) == xxxxxxxxxxxx
1111xxxx1111xxxxxxxx */) { | 1010 (insn.Bits() & 0x000F0F00) == 0x000F0F00 /* $pattern(31:0) == xxxxxxxxxxxx
1111xxxx1111xxxxxxxx */) { |
| 990 return Defs12To15RdRnNotPc_instance_; | 1011 return Defs12To15RdRnNotPc_instance_; |
| 991 } | 1012 } |
| 992 | 1013 |
| 993 if ((insn.Bits() & 0x00000070) == 0x00000020 /* op2(6:4) == 010 */ && | 1014 if ((insn.Bits() & 0x00000070) == 0x00000020 /* op2(6:4) == 010 */ && |
| 994 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && | 1015 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && |
| 995 (insn.Bits() & 0x000FFF00) == 0x000FFF00 /* $pattern(31:0) == xxxxxxxxxxxx
111111111111xxxxxxxx */) { | 1016 (insn.Bits() & 0x000FFF00) == 0x000FFF00 /* $pattern(31:0) == xxxxxxxxxxxx
111111111111xxxxxxxx */) { |
| 996 return Forbidden_instance_; | 1017 return Forbidden_instance_; |
| 997 } | 1018 } |
| 998 | 1019 |
| 999 if ((insn.Bits() & 0x00000070) == 0x00000030 /* op2(6:4) == 011 */ && | 1020 if ((insn.Bits() & 0x00000070) == 0x00000030 /* op2(6:4) == 011 */ && |
| 1000 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && | 1021 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */ && |
| 1001 (insn.Bits() & 0x000FFF00) == 0x000FFF00 /* $pattern(31:0) == xxxxxxxxxxxx
111111111111xxxxxxxx */) { | 1022 (insn.Bits() & 0x000FFF00) == 0x000FFF00 /* $pattern(31:0) == xxxxxxxxxxxx
111111111111xxxxxxxx */) { |
| 1002 return BxBlx_instance_; | 1023 return BxBlx_instance_; |
| 1003 } | 1024 } |
| 1004 | 1025 |
| 1005 if ((insn.Bits() & 0x00000070) == 0x00000050 /* op2(6:4) == 101 */) { | 1026 if ((insn.Bits() & 0x00000070) == 0x00000050 /* op2(6:4) == 101 */) { |
| 1006 return decode_saturating_addition_and_subtraction(insn); | 1027 return decode_saturating_addition_and_subtraction(insn); |
| 1007 } | 1028 } |
| 1008 | 1029 |
| 1030 if ((insn.Bits() & 0x00000070) == 0x00000060 /* op2(6:4) == 110 */ && |
| 1031 (insn.Bits() & 0x00600000) == 0x00600000 /* op(22:21) == 11 */ && |
| 1032 (insn.Bits() & 0x000FFF0F) == 0x0000000E /* $pattern(31:0) == xxxxxxxxxxxx
000000000000xxxx1110 */) { |
| 1033 return Forbidden_instance_; |
| 1034 } |
| 1035 |
| 1009 if ((insn.Bits() & 0x00000070) == 0x00000070 /* op2(6:4) == 111 */ && | 1036 if ((insn.Bits() & 0x00000070) == 0x00000070 /* op2(6:4) == 111 */ && |
| 1010 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */) { | 1037 (insn.Bits() & 0x00600000) == 0x00200000 /* op(22:21) == 01 */) { |
| 1011 return Breakpoint_instance_; | 1038 return Breakpoint_instance_; |
| 1012 } | 1039 } |
| 1013 | 1040 |
| 1014 if ((insn.Bits() & 0x00000070) == 0x00000070 /* op2(6:4) == 111 */ && | 1041 if ((insn.Bits() & 0x00000070) == 0x00000070 /* op2(6:4) == 111 */ && |
| 1042 (insn.Bits() & 0x00600000) == 0x00400000 /* op(22:21) == 10 */) { |
| 1043 return Forbidden_instance_; |
| 1044 } |
| 1045 |
| 1046 if ((insn.Bits() & 0x00000070) == 0x00000070 /* op2(6:4) == 111 */ && |
| 1015 (insn.Bits() & 0x00600000) == 0x00600000 /* op(22:21) == 11 */ && | 1047 (insn.Bits() & 0x00600000) == 0x00600000 /* op(22:21) == 11 */ && |
| 1016 (insn.Bits() & 0x000FFF00) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
000000000000xxxxxxxx */) { | 1048 (insn.Bits() & 0x000FFF00) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
000000000000xxxxxxxx */) { |
| 1017 return Forbidden_instance_; | 1049 return Forbidden_instance_; |
| 1018 } | 1050 } |
| 1019 | 1051 |
| 1020 if (true) { | 1052 if (true) { |
| 1021 return Undefined_instance_; | 1053 return Undefined_instance_; |
| 1022 } | 1054 } |
| 1023 | 1055 |
| 1024 // Catch any attempt to fall though ... | 1056 // Catch any attempt to fall though ... |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1060 } | 1092 } |
| 1061 | 1093 |
| 1062 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && | 1094 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && |
| 1063 (insn.Bits() & 0x000F0000) == 0x00000000 /* op1(19:16) == 0000 */ && | 1095 (insn.Bits() & 0x000F0000) == 0x00000000 /* op1(19:16) == 0000 */ && |
| 1064 (insn.Bits() & 0x000000F0) == 0x000000F0 /* op2(7:0) == 1111xxxx */ && | 1096 (insn.Bits() & 0x000000F0) == 0x000000F0 /* op2(7:0) == 1111xxxx */ && |
| 1065 (insn.Bits() & 0x0000FF00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx11110000xxxxxxxx */) { | 1097 (insn.Bits() & 0x0000FF00) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx11110000xxxxxxxx */) { |
| 1066 return DontCareInst_instance_; | 1098 return DontCareInst_instance_; |
| 1067 } | 1099 } |
| 1068 | 1100 |
| 1069 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && | 1101 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && |
| 1070 (insn.Bits() & 0x000F0000) == 0x00040000 /* op1(19:16) == 0100 */) { | 1102 (insn.Bits() & 0x000F0000) == 0x00040000 /* op1(19:16) == 0100 */ && |
| 1103 (insn.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx1111xxxxxxxxxxxx */) { |
| 1071 return DontCareInst_instance_; | 1104 return DontCareInst_instance_; |
| 1072 } | 1105 } |
| 1073 | 1106 |
| 1074 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && | 1107 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && |
| 1075 (insn.Bits() & 0x000B0000) == 0x00080000 /* op1(19:16) == 1x00 */) { | 1108 (insn.Bits() & 0x000B0000) == 0x00080000 /* op1(19:16) == 1x00 */ && |
| 1109 (insn.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx1111xxxxxxxxxxxx */) { |
| 1076 return DontCareInst_instance_; | 1110 return DontCareInst_instance_; |
| 1077 } | 1111 } |
| 1078 | 1112 |
| 1079 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && | 1113 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && |
| 1080 (insn.Bits() & 0x00030000) == 0x00010000 /* op1(19:16) == xx01 */ && | 1114 (insn.Bits() & 0x00030000) == 0x00010000 /* op1(19:16) == xx01 */ && |
| 1081 (insn.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx1111xxxxxxxxxxxx */) { | 1115 (insn.Bits() & 0x0000F000) == 0x0000F000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxx1111xxxxxxxxxxxx */) { |
| 1082 return Forbidden_instance_; | 1116 return Forbidden_instance_; |
| 1083 } | 1117 } |
| 1084 | 1118 |
| 1085 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && | 1119 if ((insn.Bits() & 0x00400000) == 0x00000000 /* op(22:22) == 0 */ && |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1440 if ((insn.Bits() & 0x00F00000) == 0x00A00000 /* op(23:20) == 1010 */ && | 1474 if ((insn.Bits() & 0x00F00000) == 0x00A00000 /* op(23:20) == 1010 */ && |
| 1441 (insn.Bits() & 0x00000F00) == 0x00000F00 /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxxxxxx */) { | 1475 (insn.Bits() & 0x00000F00) == 0x00000F00 /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxxxxxx */) { |
| 1442 return StoreBasedMemoryDoubleRtBits0To3_instance_; | 1476 return StoreBasedMemoryDoubleRtBits0To3_instance_; |
| 1443 } | 1477 } |
| 1444 | 1478 |
| 1445 if ((insn.Bits() & 0x00F00000) == 0x00B00000 /* op(23:20) == 1011 */ && | 1479 if ((insn.Bits() & 0x00F00000) == 0x00B00000 /* op(23:20) == 1011 */ && |
| 1446 (insn.Bits() & 0x00000F0F) == 0x00000F0F /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxx1111 */) { | 1480 (insn.Bits() & 0x00000F0F) == 0x00000F0F /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxx1111 */) { |
| 1447 return LoadBasedMemoryDouble_instance_; | 1481 return LoadBasedMemoryDouble_instance_; |
| 1448 } | 1482 } |
| 1449 | 1483 |
| 1450 if ((insn.Bits() & 0x00B00000) == 0x00000000 /* op(23:20) == 0x00 */) { | 1484 if ((insn.Bits() & 0x00B00000) == 0x00000000 /* op(23:20) == 0x00 */ && |
| 1485 (insn.Bits() & 0x00000F00) == 0x00000000 /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx0000xxxxxxxx */) { |
| 1451 return Deprecated_instance_; | 1486 return Deprecated_instance_; |
| 1452 } | 1487 } |
| 1453 | 1488 |
| 1454 if ((insn.Bits() & 0x00D00000) == 0x00C00000 /* op(23:20) == 11x0 */ && | 1489 if ((insn.Bits() & 0x00D00000) == 0x00C00000 /* op(23:20) == 11x0 */ && |
| 1455 (insn.Bits() & 0x00000F00) == 0x00000F00 /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxxxxxx */) { | 1490 (insn.Bits() & 0x00000F00) == 0x00000F00 /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxxxxxx */) { |
| 1456 return StoreBasedMemoryRtBits0To3_instance_; | 1491 return StoreBasedMemoryRtBits0To3_instance_; |
| 1457 } | 1492 } |
| 1458 | 1493 |
| 1459 if ((insn.Bits() & 0x00D00000) == 0x00D00000 /* op(23:20) == 11x1 */ && | 1494 if ((insn.Bits() & 0x00D00000) == 0x00D00000 /* op(23:20) == 11x1 */ && |
| 1460 (insn.Bits() & 0x00000F0F) == 0x00000F0F /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxx1111 */) { | 1495 (insn.Bits() & 0x00000F0F) == 0x00000F0F /* $pattern(31:0) == xxxxxxxxxxxx
xxxxxxxx1111xxxx1111 */) { |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1606 | 1641 |
| 1607 // Catch any attempt to fall though ... | 1642 // Catch any attempt to fall though ... |
| 1608 return not_implemented_; | 1643 return not_implemented_; |
| 1609 } | 1644 } |
| 1610 | 1645 |
| 1611 const ClassDecoder& Arm32DecoderState::decode(const Instruction insn) const { | 1646 const ClassDecoder& Arm32DecoderState::decode(const Instruction insn) const { |
| 1612 return decode_ARMv7(insn); | 1647 return decode_ARMv7(insn); |
| 1613 } | 1648 } |
| 1614 | 1649 |
| 1615 } // namespace nacl_arm_dec | 1650 } // namespace nacl_arm_dec |
| OLD | NEW |