| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2013 The Native Client Authors. All rights reserved. | 2 * Copyright 2013 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 #include "native_client/src/trusted/validator_arm/gen/arm32_decode_baselines.h" | 9 #include "native_client/src/trusted/validator_arm/gen/arm32_decode_baselines.h" |
| 10 #include "native_client/src/trusted/validator_arm/inst_classes.h" | 10 #include "native_client/src/trusted/validator_arm/inst_classes.h" |
| (...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 903 // uses: '{}' | 903 // uses: '{}' |
| 904 return RegisterList(); | 904 return RegisterList(); |
| 905 } | 905 } |
| 906 | 906 |
| 907 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: | 907 // STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 908 // | 908 // |
| 909 // {None: 32, | 909 // {None: 32, |
| 910 // Pc: 15, | 910 // Pc: 15, |
| 911 // Rn: Rn(19:16), | 911 // Rn: Rn(19:16), |
| 912 // W: W(21), | 912 // W: W(21), |
| 913 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 913 // base: Rn, | 914 // base: Rn, |
| 914 // baseline: StoreRegisterList, | 915 // baseline: StoreRegisterList, |
| 915 // cond: cond(31:28), | 916 // cond: cond(31:28), |
| 916 // constraints: , | 917 // constraints: , |
| 917 // defs: {Rn | 918 // defs: {Rn |
| 918 // if wback | 919 // if wback |
| 919 // else None}, | 920 // else None}, |
| 920 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 921 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 921 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, | 922 // generated_baseline: STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 922 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, | 923 // pattern: cccc100000w0nnnnrrrrrrrrrrrrrrrr, |
| 923 // register_list: register_list(15:0), | 924 // register_list: register_list(15:0), |
| 924 // registers: RegisterList(register_list), | 925 // registers: RegisterList(register_list), |
| 925 // rule: STMDA_STMED, | 926 // rule: STMDA_STMED, |
| 926 // safety: [Rn == | 927 // safety: [Rn == |
| 927 // Pc || | 928 // Pc || |
| 928 // NumGPRs(registers) < | 929 // NumGPRs(registers) < |
| 929 // 1 => UNPREDICTABLE, | 930 // 1 => UNPREDICTABLE, |
| 930 // wback && | 931 // wback && |
| 931 // Contains(registers, Rn) && | 932 // Contains(registers, Rn) && |
| 932 // Rn != | 933 // Rn != |
| 933 // SmallestGPR(registers) => UNKNOWN], | 934 // SmallestGPR(registers) => UNKNOWN], |
| 934 // small_imm_base_wb: true, | 935 // small_imm_base_wb: wback, |
| 935 // true: true, | |
| 936 // uses: Union({Rn}, registers), | 936 // uses: Union({Rn}, registers), |
| 937 // wback: W(21)=1} | 937 // wback: W(21)=1} |
| 938 Register STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 938 Register STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 939 base_address_register(Instruction inst) const { | 939 base_address_register(Instruction inst) const { |
| 940 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 940 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 941 // base: 'inst(19:16)' | 941 // base: 'inst(19:16)' |
| 942 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 942 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 943 } | 943 } |
| 944 | 944 |
| 945 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 945 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 978 return UNKNOWN; | 978 return UNKNOWN; |
| 979 | 979 |
| 980 return MAY_BE_SAFE; | 980 return MAY_BE_SAFE; |
| 981 } | 981 } |
| 982 | 982 |
| 983 | 983 |
| 984 bool STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 984 bool STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 985 base_address_register_writeback_small_immediate( | 985 base_address_register_writeback_small_immediate( |
| 986 Instruction inst) const { | 986 Instruction inst) const { |
| 987 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 987 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 988 // small_imm_base_wb: 'true' | 988 // small_imm_base_wb: 'inst(21)=1' |
| 989 return true; | 989 return (inst.Bits() & 0x00200000) == |
| 990 0x00200000; |
| 990 } | 991 } |
| 991 | 992 |
| 992 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 993 RegisterList STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 993 uses(Instruction inst) const { | 994 uses(Instruction inst) const { |
| 994 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 995 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 995 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 996 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 996 return nacl_arm_dec::Union(RegisterList(). | 997 return nacl_arm_dec::Union(RegisterList(). |
| 997 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 998 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 998 } | 999 } |
| 999 | 1000 |
| 1000 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: | 1001 // STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 1001 // | 1002 // |
| 1002 // {None: 32, | 1003 // {None: 32, |
| 1003 // Pc: 15, | 1004 // Pc: 15, |
| 1004 // Rn: Rn(19:16), | 1005 // Rn: Rn(19:16), |
| 1005 // W: W(21), | 1006 // W: W(21), |
| 1007 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 1006 // base: Rn, | 1008 // base: Rn, |
| 1007 // baseline: StoreRegisterList, | 1009 // baseline: StoreRegisterList, |
| 1008 // cond: cond(31:28), | 1010 // cond: cond(31:28), |
| 1009 // constraints: , | 1011 // constraints: , |
| 1010 // defs: {Rn | 1012 // defs: {Rn |
| 1011 // if wback | 1013 // if wback |
| 1012 // else None}, | 1014 // else None}, |
| 1013 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 1015 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 1014 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, | 1016 // generated_baseline: STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 1015 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, | 1017 // pattern: cccc100100w0nnnnrrrrrrrrrrrrrrrr, |
| 1016 // register_list: register_list(15:0), | 1018 // register_list: register_list(15:0), |
| 1017 // registers: RegisterList(register_list), | 1019 // registers: RegisterList(register_list), |
| 1018 // rule: STMDB_STMFD, | 1020 // rule: STMDB_STMFD, |
| 1019 // safety: [Rn == | 1021 // safety: [Rn == |
| 1020 // Pc || | 1022 // Pc || |
| 1021 // NumGPRs(registers) < | 1023 // NumGPRs(registers) < |
| 1022 // 1 => UNPREDICTABLE, | 1024 // 1 => UNPREDICTABLE, |
| 1023 // wback && | 1025 // wback && |
| 1024 // Contains(registers, Rn) && | 1026 // Contains(registers, Rn) && |
| 1025 // Rn != | 1027 // Rn != |
| 1026 // SmallestGPR(registers) => UNKNOWN], | 1028 // SmallestGPR(registers) => UNKNOWN], |
| 1027 // small_imm_base_wb: true, | 1029 // small_imm_base_wb: wback, |
| 1028 // true: true, | |
| 1029 // uses: Union({Rn}, registers), | 1030 // uses: Union({Rn}, registers), |
| 1030 // wback: W(21)=1} | 1031 // wback: W(21)=1} |
| 1031 Register STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1032 Register STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1032 base_address_register(Instruction inst) const { | 1033 base_address_register(Instruction inst) const { |
| 1033 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1034 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1034 // base: 'inst(19:16)' | 1035 // base: 'inst(19:16)' |
| 1035 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 1036 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 1036 } | 1037 } |
| 1037 | 1038 |
| 1038 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1039 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1071 return UNKNOWN; | 1072 return UNKNOWN; |
| 1072 | 1073 |
| 1073 return MAY_BE_SAFE; | 1074 return MAY_BE_SAFE; |
| 1074 } | 1075 } |
| 1075 | 1076 |
| 1076 | 1077 |
| 1077 bool STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1078 bool STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1078 base_address_register_writeback_small_immediate( | 1079 base_address_register_writeback_small_immediate( |
| 1079 Instruction inst) const { | 1080 Instruction inst) const { |
| 1080 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1081 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1081 // small_imm_base_wb: 'true' | 1082 // small_imm_base_wb: 'inst(21)=1' |
| 1082 return true; | 1083 return (inst.Bits() & 0x00200000) == |
| 1084 0x00200000; |
| 1083 } | 1085 } |
| 1084 | 1086 |
| 1085 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1087 RegisterList STMDB_STMFD_cccc100100w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1086 uses(Instruction inst) const { | 1088 uses(Instruction inst) const { |
| 1087 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1089 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1088 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 1090 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 1089 return nacl_arm_dec::Union(RegisterList(). | 1091 return nacl_arm_dec::Union(RegisterList(). |
| 1090 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 1092 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 1091 } | 1093 } |
| 1092 | 1094 |
| 1093 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: | 1095 // STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 1094 // | 1096 // |
| 1095 // {None: 32, | 1097 // {None: 32, |
| 1096 // Pc: 15, | 1098 // Pc: 15, |
| 1097 // Rn: Rn(19:16), | 1099 // Rn: Rn(19:16), |
| 1098 // W: W(21), | 1100 // W: W(21), |
| 1101 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 1099 // base: Rn, | 1102 // base: Rn, |
| 1100 // baseline: StoreRegisterList, | 1103 // baseline: StoreRegisterList, |
| 1101 // cond: cond(31:28), | 1104 // cond: cond(31:28), |
| 1102 // constraints: , | 1105 // constraints: , |
| 1103 // defs: {Rn | 1106 // defs: {Rn |
| 1104 // if wback | 1107 // if wback |
| 1105 // else None}, | 1108 // else None}, |
| 1106 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 1109 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 1107 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, | 1110 // generated_baseline: STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0, |
| 1108 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, | 1111 // pattern: cccc100110w0nnnnrrrrrrrrrrrrrrrr, |
| 1109 // register_list: register_list(15:0), | 1112 // register_list: register_list(15:0), |
| 1110 // registers: RegisterList(register_list), | 1113 // registers: RegisterList(register_list), |
| 1111 // rule: STMIB_STMFA, | 1114 // rule: STMIB_STMFA, |
| 1112 // safety: [Rn == | 1115 // safety: [Rn == |
| 1113 // Pc || | 1116 // Pc || |
| 1114 // NumGPRs(registers) < | 1117 // NumGPRs(registers) < |
| 1115 // 1 => UNPREDICTABLE, | 1118 // 1 => UNPREDICTABLE, |
| 1116 // wback && | 1119 // wback && |
| 1117 // Contains(registers, Rn) && | 1120 // Contains(registers, Rn) && |
| 1118 // Rn != | 1121 // Rn != |
| 1119 // SmallestGPR(registers) => UNKNOWN], | 1122 // SmallestGPR(registers) => UNKNOWN], |
| 1120 // small_imm_base_wb: true, | 1123 // small_imm_base_wb: wback, |
| 1121 // true: true, | |
| 1122 // uses: Union({Rn}, registers), | 1124 // uses: Union({Rn}, registers), |
| 1123 // wback: W(21)=1} | 1125 // wback: W(21)=1} |
| 1124 Register STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1126 Register STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1125 base_address_register(Instruction inst) const { | 1127 base_address_register(Instruction inst) const { |
| 1126 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1128 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1127 // base: 'inst(19:16)' | 1129 // base: 'inst(19:16)' |
| 1128 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 1130 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 1129 } | 1131 } |
| 1130 | 1132 |
| 1131 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1133 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1164 return UNKNOWN; | 1166 return UNKNOWN; |
| 1165 | 1167 |
| 1166 return MAY_BE_SAFE; | 1168 return MAY_BE_SAFE; |
| 1167 } | 1169 } |
| 1168 | 1170 |
| 1169 | 1171 |
| 1170 bool STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1172 bool STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1171 base_address_register_writeback_small_immediate( | 1173 base_address_register_writeback_small_immediate( |
| 1172 Instruction inst) const { | 1174 Instruction inst) const { |
| 1173 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1175 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1174 // small_imm_base_wb: 'true' | 1176 // small_imm_base_wb: 'inst(21)=1' |
| 1175 return true; | 1177 return (inst.Bits() & 0x00200000) == |
| 1178 0x00200000; |
| 1176 } | 1179 } |
| 1177 | 1180 |
| 1178 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1181 RegisterList STMIB_STMFA_cccc100110w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1179 uses(Instruction inst) const { | 1182 uses(Instruction inst) const { |
| 1180 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1183 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1181 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 1184 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 1182 return nacl_arm_dec::Union(RegisterList(). | 1185 return nacl_arm_dec::Union(RegisterList(). |
| 1183 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 1186 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 1184 } | 1187 } |
| 1185 | 1188 |
| 1186 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: | 1189 // STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0: |
| 1187 // | 1190 // |
| 1188 // {None: 32, | 1191 // {None: 32, |
| 1189 // Pc: 15, | 1192 // Pc: 15, |
| 1190 // Rn: Rn(19:16), | 1193 // Rn: Rn(19:16), |
| 1191 // W: W(21), | 1194 // W: W(21), |
| 1195 // actual: Actual_STMDA_STMED_cccc100000w0nnnnrrrrrrrrrrrrrrrr_case_1, |
| 1192 // base: Rn, | 1196 // base: Rn, |
| 1193 // baseline: StoreRegisterList, | 1197 // baseline: StoreRegisterList, |
| 1194 // cond: cond(31:28), | 1198 // cond: cond(31:28), |
| 1195 // constraints: , | 1199 // constraints: , |
| 1196 // defs: {Rn | 1200 // defs: {Rn |
| 1197 // if wback | 1201 // if wback |
| 1198 // else None}, | 1202 // else None}, |
| 1199 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], | 1203 // fields: [cond(31:28), W(21), Rn(19:16), register_list(15:0)], |
| 1200 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, | 1204 // generated_baseline: STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_
0, |
| 1201 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, | 1205 // pattern: cccc100010w0nnnnrrrrrrrrrrrrrrrr, |
| 1202 // register_list: register_list(15:0), | 1206 // register_list: register_list(15:0), |
| 1203 // registers: RegisterList(register_list), | 1207 // registers: RegisterList(register_list), |
| 1204 // rule: STM_STMIA_STMEA, | 1208 // rule: STM_STMIA_STMEA, |
| 1205 // safety: [Rn == | 1209 // safety: [Rn == |
| 1206 // Pc || | 1210 // Pc || |
| 1207 // NumGPRs(registers) < | 1211 // NumGPRs(registers) < |
| 1208 // 1 => UNPREDICTABLE, | 1212 // 1 => UNPREDICTABLE, |
| 1209 // wback && | 1213 // wback && |
| 1210 // Contains(registers, Rn) && | 1214 // Contains(registers, Rn) && |
| 1211 // Rn != | 1215 // Rn != |
| 1212 // SmallestGPR(registers) => UNKNOWN], | 1216 // SmallestGPR(registers) => UNKNOWN], |
| 1213 // small_imm_base_wb: true, | 1217 // small_imm_base_wb: wback, |
| 1214 // true: true, | |
| 1215 // uses: Union({Rn}, registers), | 1218 // uses: Union({Rn}, registers), |
| 1216 // wback: W(21)=1} | 1219 // wback: W(21)=1} |
| 1217 Register STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1220 Register STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1218 base_address_register(Instruction inst) const { | 1221 base_address_register(Instruction inst) const { |
| 1219 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1222 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1220 // base: 'inst(19:16)' | 1223 // base: 'inst(19:16)' |
| 1221 return Register(((inst.Bits() & 0x000F0000) >> 16)); | 1224 return Register(((inst.Bits() & 0x000F0000) >> 16)); |
| 1222 } | 1225 } |
| 1223 | 1226 |
| 1224 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1227 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1257 return UNKNOWN; | 1260 return UNKNOWN; |
| 1258 | 1261 |
| 1259 return MAY_BE_SAFE; | 1262 return MAY_BE_SAFE; |
| 1260 } | 1263 } |
| 1261 | 1264 |
| 1262 | 1265 |
| 1263 bool STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1266 bool STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1264 base_address_register_writeback_small_immediate( | 1267 base_address_register_writeback_small_immediate( |
| 1265 Instruction inst) const { | 1268 Instruction inst) const { |
| 1266 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1269 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1267 // small_imm_base_wb: 'true' | 1270 // small_imm_base_wb: 'inst(21)=1' |
| 1268 return true; | 1271 return (inst.Bits() & 0x00200000) == |
| 1272 0x00200000; |
| 1269 } | 1273 } |
| 1270 | 1274 |
| 1271 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: | 1275 RegisterList STM_STMIA_STMEA_cccc100010w0nnnnrrrrrrrrrrrrrrrr_case_0:: |
| 1272 uses(Instruction inst) const { | 1276 uses(Instruction inst) const { |
| 1273 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 1277 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 1274 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' | 1278 // uses: 'Union({inst(19:16)}, RegisterList(inst(15:0)))' |
| 1275 return nacl_arm_dec::Union(RegisterList(). | 1279 return nacl_arm_dec::Union(RegisterList(). |
| 1276 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); | 1280 Add(Register(((inst.Bits() & 0x000F0000) >> 16))), nacl_arm_dec::RegisterList
((inst.Bits() & 0x0000FFFF))); |
| 1277 } | 1281 } |
| 1278 | 1282 |
| (...skipping 9144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10423 | 10427 |
| 10424 | 10428 |
| 10425 RegisterList VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0:: | 10429 RegisterList VHSUB_1111001u0dssnnnndddd0010nqm0mmmm_case_0:: |
| 10426 uses(Instruction inst) const { | 10430 uses(Instruction inst) const { |
| 10427 UNREFERENCED_PARAMETER(inst); // To silence compiler. | 10431 UNREFERENCED_PARAMETER(inst); // To silence compiler. |
| 10428 // uses: '{}' | 10432 // uses: '{}' |
| 10429 return RegisterList(); | 10433 return RegisterList(); |
| 10430 } | 10434 } |
| 10431 | 10435 |
| 10432 } // namespace nacl_arm_dec | 10436 } // namespace nacl_arm_dec |
| OLD | NEW |